
/* DWARF original prototype: bool read_attributes(Dwarf_die * this) */

bool __thiscall gold::Dwarf_die::read_attributes(Dwarf_die *this)

{
  uchar *puVar1;
  byte bVar2;
  Dwarf_info_reader *this_00;
  void *__src;
  int *piVar3;
  code *pcVar4;
  int iVar5;
  void *pvVar6;
  ushort uVar7;
  char cVar8;
  int *in_EAX;
  int iVar9;
  uint uVar10;
  iterator __position;
  uint uVar11;
  size_t __n;
  void *__dest;
  undefined4 uVar12;
  byte *buffer;
  Valtype return_value;
  int iVar13;
  int iVar14;
  void *pvVar15;
  undefined4 uVar16;
  uint uVar17;
  int unaff_EDI;
  uint *puVar18;
  uint64_t uVar19;
  anon_union_8_5_56ef6665_for_val aVar20;
  uint *local_74;
  int local_70;
  undefined8 local_6c;
  size_t len;
  off_t str_off;
  Attribute_value attr_value;
  
  iVar9 = __x86_get_pc_thunk_di();
  iVar9 = *(int *)(iVar9 + 0x28);
  if (iVar9 == 0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable((char *)(unaff_EDI + 0xf2c7a),0x2a9,(char *)(unaff_EDI + 0xf2f03));
  }
  this_00 = (Dwarf_info_reader *)*in_EAX;
  iVar13 = (int)this_00->cu_offset_;
  puVar1 = this_00->buffer_ + in_EAX[2] + iVar13;
  if (this_00->buffer_ + iVar13 + (int)this_00->cu_length_ < puVar1 + 1) {
    Dwarf_info_reader::warn_corrupt_debug_section(this_00);
    return false;
  }
  if (puVar1 == (uchar *)0x0) {
    return false;
  }
  iVar13 = *(int *)(iVar9 + 0xc) - *(int *)(iVar9 + 8);
  local_74 = (uint *)(puVar1 + in_EAX[4]);
  uVar17 = iVar13 >> 3;
  if (0xccccccc < uVar17) {
                    /* WARNING: Subroutine does not return */
    std::__throw_length_error((char *)(unaff_EDI + 0xde53e));
  }
  __src = (void *)in_EAX[0xb];
  if ((uint)((in_EAX[0xd] - (int)__src >> 2) * -0x33333333) < uVar17) {
    pvVar6 = (void *)in_EAX[0xc];
    __n = (int)pvVar6 - (int)__src;
    if (uVar17 == 0) {
      __dest = (void *)0x0;
      pvVar15 = __src;
    }
    else {
      __dest = operator_new(uVar17 * 0x14);
      pvVar15 = (void *)in_EAX[0xb];
    }
    if (__src != pvVar6) {
      memmove(__dest,__src,__n);
    }
    if (pvVar15 != (void *)0x0) {
      operator_delete(pvVar15);
    }
    in_EAX[0xb] = (int)__dest;
    in_EAX[0xc] = __n + (int)__dest;
    in_EAX[0xd] = (int)(uVar17 * 0x14 + (int)__dest);
    iVar9 = in_EAX[10];
    if (uVar17 != 0) goto LAB_00174b7e;
  }
  else {
    if (uVar17 == 0) goto LAB_00174ef3;
LAB_00174b7e:
    local_70 = 0;
    do {
      puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8));
      uVar17 = *puVar18;
      uVar11 = puVar18[1];
      if (uVar11 == 0x16) {
        bVar2 = (byte)*local_74;
        uVar11 = (uint)bVar2;
        if ((char)bVar2 < '\0') {
          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);
          uVar11 = (uint)uVar19;
          local_74 = (uint *)((int)local_74 + len);
        }
        else {
          len = 1;
          local_74 = (uint *)((int)local_74 + 1);
        }
      }
      uVar10 = (int)local_74 - (int)puVar1;
      iVar9 = uVar10 + in_EAX[2];
      iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2]);
      local_6c = CONCAT44(iVar14,iVar9);
      attr_value.aux.shndx = 0;
      attr_value.attr = uVar17;
      attr_value.form = uVar11;
      if (uVar11 == 0xe) {
        piVar3 = *(int **)(*in_EAX + 8);
        iVar5 = *piVar3;
        pcVar4 = *(code **)(iVar5 + 0xc);
        if (*(int *)(*in_EAX + 0x44) == 4) {
          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);
          }
          else {
            cVar8 = (*pcVar4)(piVar3);
          }
          str_off._0_4_ = (char *)*local_74;
          str_off._4_4_ = 0;
          if (cVar8 != '\0') {
            str_off._0_4_ =
                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |
                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);
          }
          local_74 = local_74 + 1;
        }
        else {
          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);
          }
          else {
            cVar8 = (*pcVar4)(piVar3);
          }
          str_off._0_4_ = (char *)*local_74;
          uVar11 = local_74[1];
          str_off._4_4_ = uVar11;
          if (cVar8 != '\0') {
            str_off._4_4_ =
                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |
                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;
            str_off._0_4_ =
                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                         uVar11 << 0x18);
          }
          local_74 = local_74 + 2;
        }
        attr_value.aux.shndx =
             Dwarf_info_reader::lookup_reloc
                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);
        attr_value.val.uintval._4_4_ = str_off._4_4_;
        attr_value.val.stringval = (char *)str_off;
        if (uVar17 != 3) {
          puVar18 = local_74;
          aVar20 = attr_value.val;
          if ((uVar17 < 4) ||
             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&
              (uVar17 != 0x2007)))) goto LAB_00174ea0;
LAB_00175373:
          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;
          in_EAX[0x13] = (int)uVar12;
          in_EAX[0x14] = uVar16;
          puVar18 = local_74;
          aVar20 = attr_value.val;
          goto LAB_00174ea0;
        }
LAB_00174c9a:
        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;
        in_EAX[0x11] = attr_value.val.intval._4_4_;
        in_EAX[0x10] = (int)attr_value.val.stringval;
        __position._M_current = (Attribute_value *)in_EAX[0xc];
        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;
LAB_00174eac:
        (__position._M_current)->attr = attr_value.attr;
        (__position._M_current)->form = attr_value.form;
        ((__position._M_current)->val).stringval = attr_value.val.stringval;
        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;
        (__position._M_current)->aux = attr_value.aux;
        in_EAX[0xc] = (int)(__position._M_current + 1);
      }
      else {
        if (uVar11 < 0xf) {
          if (uVar11 == 7) {
            piVar3 = *(int **)(*in_EAX + 8);
            pcVar4 = *(code **)(*piVar3 + 0xc);
            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);
            }
            else {
              cVar8 = (*pcVar4)(piVar3);
            }
            str_off._0_4_ = (char *)*local_74;
            uVar10 = local_74[1];
            str_off._4_4_ = uVar10;
            if (cVar8 != '\0') {
              str_off._4_4_ =
                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |
                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;
              str_off._0_4_ =
                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                           uVar10 << 0x18);
            }
            local_74 = local_74 + 2;
LAB_0017561e:
            attr_value.aux.shndx =
                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);
            attr_value.val.intval._4_4_ = str_off._4_4_;
            attr_value.val.stringval = (char *)str_off;
joined_r0x001751d3:
            if (uVar17 == 3) goto LAB_00174c88;
            puVar18 = local_74;
            aVar20 = attr_value.val;
            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {
LAB_001751f0:
              uVar12 = attr_value.val.stringval;
              puVar18 = local_74;
              if (uVar11 == 8) {
LAB_00175220:
                local_74 = puVar18;
                in_EAX[0x12] = (int)uVar12;
                puVar18 = local_74;
                aVar20 = attr_value.val;
              }
              else {
                aVar20 = attr_value.val;
                if (uVar11 == 0xe) {
                  uVar16 = attr_value.val.intval._4_4_;
                  goto LAB_00175373;
                }
              }
            }
          }
          else {
            if (uVar11 < 8) {
              if (uVar11 == 4) {
                piVar3 = *(int **)(*in_EAX + 8);
                pcVar4 = *(code **)(*piVar3 + 0xc);
                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);
                }
                else {
                  cVar8 = (*pcVar4)(piVar3);
                }
                attr_value.aux.shndx = *local_74;
                attr_value.val.stringval = (char *)(local_74 + 1);
                if (cVar8 != '\0') {
                  attr_value.aux.shndx =
                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |
                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;
                }
                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);
              }
              else if (uVar11 < 5) {
                if (uVar11 == 1) {
                  piVar3 = *(int **)(*in_EAX + 8);
                  iVar9 = *piVar3;
                  pcVar4 = *(code **)(iVar9 + 0xc);
                  if (*(int *)(*in_EAX + 0x48) == 4) {
                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);
                    }
                    else {
                      cVar8 = (*pcVar4)(piVar3);
                    }
                    str_off._0_4_ = (char *)*local_74;
                    str_off._4_4_ = 0;
                    if (cVar8 != '\0') {
                      str_off._0_4_ =
                           (char *)((uint)(char *)str_off >> 0x18 |
                                    ((uint)(char *)str_off & 0xff0000) >> 8 |
                                    ((uint)(char *)str_off & 0xff00) << 8 |
                                   (int)(char *)str_off << 0x18);
                    }
                    local_74 = local_74 + 1;
                  }
                  else {
                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);
                    }
                    else {
                      cVar8 = (*pcVar4)(piVar3);
                    }
                    str_off._0_4_ = (char *)*local_74;
                    uVar11 = local_74[1];
                    str_off._4_4_ = uVar11;
                    if (cVar8 != '\0') {
                      str_off._4_4_ =
                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |
                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;
                      str_off._0_4_ =
                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |
                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);
                    }
                    local_74 = local_74 + 2;
                  }
                  attr_value.aux.shndx =
                       Dwarf_info_reader::lookup_reloc
                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);
                  attr_value.val.uintval._4_4_ = str_off._4_4_;
                  attr_value.val.stringval = (char *)str_off;
                  uVar12 = (char *)str_off;
                  uVar16 = str_off._4_4_;
                  if (uVar17 != 0x31) {
LAB_00175028:
                    uVar16 = str_off._4_4_;
                    uVar12 = (char *)str_off;
                    if (0x31 < uVar17) goto joined_r0x001752af;
                    puVar18 = local_74;
                    aVar20 = attr_value.val;
                    if (uVar17 != 1) goto LAB_00174ea0;
                    goto LAB_0017548f;
                  }
                  goto LAB_00174e48;
                }
                if (uVar11 != 3) {
                  return false;
                }
                piVar3 = *(int **)(*in_EAX + 8);
                pcVar4 = *(code **)(*piVar3 + 0xc);
                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);
                }
                else {
                  cVar8 = (*pcVar4)(piVar3);
                }
                uVar7 = (ushort)*local_74;
                if (cVar8 != '\0') {
                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));
                }
                attr_value.aux.shndx._2_2_ = 0;
                attr_value.aux.shndx._0_2_ = uVar7;
                attr_value.val.stringval = (char *)((int)local_74 + 2);
                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);
              }
              else {
                if (uVar11 != 5) {
                  if (uVar11 != 6) {
                    return false;
                  }
                  piVar3 = *(int **)(*in_EAX + 8);
                  pcVar4 = *(code **)(*piVar3 + 0xc);
                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);
                  }
                  else {
                    cVar8 = (*pcVar4)(piVar3);
                  }
                  str_off._0_4_ = (char *)*local_74;
                  str_off._4_4_ = 0;
                  if (cVar8 != '\0') {
                    str_off._0_4_ =
                         (char *)((uint)(char *)str_off >> 0x18 |
                                  ((uint)(char *)str_off & 0xff0000) >> 8 |
                                  ((uint)(char *)str_off & 0xff00) << 8 |
                                 (int)(char *)str_off << 0x18);
                  }
                  local_74 = local_74 + 1;
                  goto LAB_0017561e;
                }
                piVar3 = *(int **)(*in_EAX + 8);
                pcVar4 = *(code **)(*piVar3 + 0xc);
                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);
                }
                else {
                  cVar8 = (*pcVar4)(piVar3);
                }
                attr_value.val.intval._0_2_ = (undefined2)*local_74;
                if (cVar8 != '\0') {
                  attr_value.val.intval._0_2_ =
                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));
                }
                attr_value.val.intval._2_6_ = 0;
                local_74 = (uint *)((int)local_74 + 2);
              }
              goto joined_r0x001751d3;
            }
            if (uVar11 == 10) {
              attr_value.aux.shndx._1_3_ = 0;
              attr_value.aux.shndx._0_1_ = (byte)*local_74;
              attr_value.val.stringval = (char *)((int)local_74 + 1);
              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);
              goto joined_r0x001751d3;
            }
            if (10 < uVar11) {
              if (uVar11 < 0xd) {
                attr_value.val.intval._1_7_ = 0;
                attr_value.val.intval._0_1_ = (byte)*local_74;
                local_74 = (uint *)((int)local_74 + 1);
              }
              else {
                bVar2 = (byte)*local_74;
                puVar18 = (uint *)((int)local_74 + 1);
                if ((char)bVar2 < '\0') {
                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);
                  local_74 = (uint *)((int)local_74 + len);
                }
                else {
                  attr_value.val.intval._4_4_ = 0;
                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);
                  len = 1;
                  local_74 = puVar18;
                  if ((bVar2 & 0x40) != 0) {
                    attr_value.val.intval._4_4_ = 0xffffffff;
                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);
                  }
                }
              }
              goto joined_r0x001751d3;
            }
            if (uVar11 != 8) {
              if (uVar11 != 9) {
                return false;
              }
LAB_00174f39:
              buffer = (byte *)((int)local_74 + 1);
              local_6c._0_1_ = (undefined1)*local_74;
              if ((char)(undefined1)local_6c < '\0') {
                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);
                local_6c._0_4_ = (uint)uVar19;
                buffer = (byte *)((int)local_74 + len);
              }
              else {
                len = 1;
                local_6c._1_3_ = 0;
              }
              attr_value.val.blockval = buffer;
              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);
              attr_value.aux = local_6c._0_4_;
              goto joined_r0x001751d3;
            }
            attr_value.val.stringval = (char *)local_74;
            len = strlen((char *)local_74);
            puVar18 = (uint *)((int)local_74 + len + 1);
            if (uVar17 != 3) {
              aVar20 = attr_value.val;
              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))
              goto LAB_00174ea0;
              goto LAB_00175220;
            }
LAB_00175230:
            local_74 = puVar18;
            in_EAX[0xf] = (int)attr_value.val.stringval;
            puVar18 = local_74;
            aVar20 = attr_value.val;
          }
        }
        else if (uVar11 == 0x15) {
          bVar2 = (byte)*local_74;
          if ((char)bVar2 < '\0') {
            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);
            local_74 = (uint *)((int)local_74 + len);
          }
          else {
            len = 1;
            aVar20.intval._1_7_ = 0;
            aVar20.intval._0_1_ = bVar2;
            local_74 = (uint *)((int)local_74 + 1);
          }
joined_r0x0017547a:
          attr_value.val = aVar20;
          if (uVar17 == 0x31) {
LAB_00174e40:
            uVar12 = attr_value.val.stringval;
            uVar16 = attr_value.val.intval._4_4_;
LAB_00174e48:
            in_EAX[0x18] = (int)uVar12;
            in_EAX[0x19] = uVar16;
            puVar18 = local_74;
            aVar20 = attr_value.val;
          }
          else if (uVar17 < 0x32) {
            if (uVar17 != 1) goto LAB_001754d5;
LAB_0017548f:
            puVar18 = local_74;
            aVar20 = attr_value.val;
            if (attr_value.aux.shndx == 0) {
              in_EAX[8] = (int)attr_value.val.stringval;
              in_EAX[9] = attr_value.val.intval._4_4_;
            }
          }
          else {
            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;
            puVar18 = local_74;
            if (uVar17 == 0x47) {
              attr_value.val.stringval = aVar20.stringval;
              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);
              uVar12 = attr_value.val.stringval;
              uVar16 = attr_value.val.intval._4_4_;
LAB_0017504c:
              in_EAX[0x16] = (int)uVar12;
              in_EAX[0x17] = uVar16;
              puVar18 = local_74;
              aVar20 = attr_value.val;
            }
          }
        }
        else {
          if (uVar11 < 0x16) {
            if (uVar11 == 0x11) {
              puVar18 = (uint *)((int)local_74 + 1);
              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);
              attr_value.val.intval._4_4_ = 0;
              local_74 = puVar18;
              if (uVar17 != 0x31) {
                uVar16 = 0;
                uVar12 = attr_value.val.stringval;
                if (uVar17 < 0x32) {
                  aVar20 = attr_value.val;
                  if (uVar17 == 1) {
                    in_EAX[8] = (int)attr_value.val.stringval;
                    in_EAX[9] = 0;
                  }
                }
                else {
joined_r0x001752af:
                  puVar18 = local_74;
                  aVar20 = attr_value.val;
                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))
                  goto LAB_0017504c;
                }
                goto LAB_00174ea0;
              }
            }
            else {
              if (0x11 < uVar11) {
                if (uVar11 == 0x13) {
                  piVar3 = *(int **)(*in_EAX + 8);
                  pcVar4 = *(code **)(*piVar3 + 0xc);
                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);
                  }
                  else {
                    cVar8 = (*pcVar4)(piVar3);
                  }
                  goto LAB_0017542a;
                }
                if (uVar11 < 0x14) {
                  piVar3 = *(int **)(*in_EAX + 8);
                  pcVar4 = *(code **)(*piVar3 + 0xc);
                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);
                  }
                  else {
                    cVar8 = (*pcVar4)(piVar3);
                  }
                  attr_value.val.intval._0_2_ = (undefined2)*local_74;
                  if (cVar8 != '\0') {
                    attr_value.val.intval._0_2_ =
                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));
                  }
                  attr_value.val.intval._2_6_ = 0;
                  local_74 = (uint *)((int)local_74 + 2);
                  aVar20 = attr_value.val;
                  goto joined_r0x0017547a;
                }
                piVar3 = *(int **)(*in_EAX + 8);
                pcVar4 = *(code **)(*piVar3 + 0xc);
                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);
                }
                else {
                  cVar8 = (*pcVar4)(piVar3);
                }
LAB_001753da:
                str_off._0_4_ = (char *)*local_74;
                uVar10 = local_74[1];
                str_off._4_4_ = uVar10;
                if (cVar8 != '\0') {
                  str_off._4_4_ =
                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |
                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;
                  str_off._0_4_ =
                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                               uVar10 << 0x18);
                }
                local_74 = local_74 + 2;
LAB_0017544c:
                attr_value.aux.shndx =
                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)
                ;
                attr_value.val.uintval._4_4_ = str_off._4_4_;
                attr_value.val.stringval = (char *)str_off;
                aVar20 = attr_value.val;
                goto joined_r0x0017547a;
              }
              if (uVar11 == 0xf) {
LAB_00175135:
                bVar2 = (byte)*local_74;
                if ((char)bVar2 < '\0') {
                  attr_value.val.uintval =
                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);
                  local_74 = (uint *)((int)local_74 + len);
                }
                else {
                  len = 1;
                  attr_value.val.intval._1_7_ = 0;
                  attr_value.val.intval._0_1_ = bVar2;
                  local_74 = (uint *)((int)local_74 + 1);
                }
                goto joined_r0x001751d3;
              }
              if (uVar11 != 0x10) {
                return false;
              }
              iVar9 = *in_EAX;
              iVar14 = *(int *)(iVar9 + 0x48);
              if (2 < *(uint *)(iVar9 + 0x4c)) {
                iVar14 = *(int *)(iVar9 + 0x44);
              }
              piVar3 = *(int **)(iVar9 + 8);
              iVar9 = *piVar3;
              pcVar4 = *(code **)(iVar9 + 0xc);
              if (iVar14 == 4) {
                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);
                }
                else {
                  cVar8 = (*pcVar4)(piVar3);
                }
                str_off._0_4_ = (char *)*local_74;
                str_off._4_4_ = 0;
                if (cVar8 != '\0') {
                  str_off._0_4_ =
                       (char *)((uint)(char *)str_off >> 0x18 |
                                ((uint)(char *)str_off & 0xff0000) >> 8 |
                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18
                               );
                }
                local_74 = local_74 + 1;
              }
              else {
                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);
                }
                else {
                  cVar8 = (*pcVar4)(piVar3);
                }
                str_off._0_4_ = (char *)*local_74;
                uVar11 = local_74[1];
                str_off._4_4_ = uVar11;
                if (cVar8 != '\0') {
                  str_off._4_4_ =
                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |
                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;
                  str_off._0_4_ =
                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                               uVar11 << 0x18);
                }
                local_74 = local_74 + 2;
              }
              attr_value.aux.shndx =
                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);
              attr_value.val.uintval._4_4_ = str_off._4_4_;
              attr_value.val.stringval = (char *)str_off;
              if (uVar17 != 0x31) goto LAB_00175028;
            }
            goto LAB_00174e40;
          }
          if (uVar11 == 0x19) {
            attr_value.val.intval = 1;
          }
          else {
            if (uVar11 < 0x1a) {
              if (uVar11 != 0x17) {
                if (uVar11 != 0x18) {
                  return false;
                }
                goto LAB_00174f39;
              }
              piVar3 = *(int **)(*in_EAX + 8);
              iVar9 = *piVar3;
              pcVar4 = *(code **)(iVar9 + 0xc);
              if (*(int *)(*in_EAX + 0x44) != 4) {
                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);
                }
                else {
                  cVar8 = (*pcVar4)(piVar3);
                }
                goto LAB_001753da;
              }
              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);
              }
              else {
                cVar8 = (*pcVar4)(piVar3);
              }
LAB_0017542a:
              str_off._0_4_ = (char *)*local_74;
              str_off._4_4_ = 0;
              if (cVar8 != '\0') {
                str_off._0_4_ =
                     (char *)((uint)(char *)str_off >> 0x18 |
                              ((uint)(char *)str_off & 0xff0000) >> 8 |
                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);
              }
              local_74 = local_74 + 1;
              goto LAB_0017544c;
            }
            if (uVar11 != 0x20) {
              if (uVar11 < 0x20) {
                return false;
              }
              if (1 < uVar11 - 0x1f01) {
                return false;
              }
              goto LAB_00175135;
            }
            piVar3 = *(int **)(*in_EAX + 8);
            pcVar4 = *(code **)(*piVar3 + 0xc);
            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {
              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);
            }
            else {
              cVar8 = (*pcVar4)(piVar3);
            }
            attr_value.val.stringval = (char *)*local_74;
            uVar10 = local_74[1];
            attr_value.val.uintval._4_4_ = uVar10;
            if (cVar8 != '\0') {
              attr_value.val.uintval._4_4_ =
                   (uint)attr_value.val.stringval >> 0x18 |
                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |
                   ((uint)attr_value.val.stringval & 0xff00) << 8 |
                   (int)attr_value.val.stringval << 0x18;
              attr_value.val.stringval =
                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                           uVar10 << 0x18);
            }
            local_74 = local_74 + 2;
          }
          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;
LAB_001754d5:
          puVar18 = local_74;
          aVar20 = attr_value.val;
          if (uVar17 != 3) goto LAB_00174ea0;
LAB_00174c88:
          puVar18 = local_74;
          if (uVar11 == 8) goto LAB_00175230;
          aVar20 = attr_value.val;
          if (uVar11 == 0xe) goto LAB_00174c9a;
        }
LAB_00174ea0:
        attr_value.val = aVar20;
        local_74 = puVar18;
        __position._M_current = (Attribute_value *)in_EAX[0xc];
        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;
LAB_00174cc0:
        std::
        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>
        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>
                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>
                    *)(in_EAX + 0xb),__position,&attr_value);
      }
      local_70 = local_70 + 8;
      iVar9 = in_EAX[10];
    } while (local_70 != iVar13);
  }
  if (iVar9 == 0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable((char *)(unaff_EDI + 0xf2cea),0x206,(char *)(unaff_EDI + 0xf2ef3));
  }
LAB_00174ef3:
  uVar17 = (int)local_74 - (int)puVar1;
  iVar13 = uVar17 + in_EAX[2];
  iVar14 = ((int)uVar17 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar17,in_EAX[2]);
  if ((*(byte *)(iVar9 + 4) & 1) == 0) {
    in_EAX[8] = iVar13;
    in_EAX[9] = iVar14;
  }
  else {
    in_EAX[6] = iVar13;
    in_EAX[7] = iVar14;
  }
  *(undefined1 *)(in_EAX + 0xe) = 1;
  return true;
}



undefined4 __regparm3 FUN_00174ae0(int *param_1)

{
  byte bVar1;
  void *__src;
  int *piVar2;
  code *pcVar3;
  int iVar4;
  void *pvVar5;
  ushort uVar6;
  ulonglong uVar7;
  ulonglong uVar8;
  ulonglong uVar9;
  char cVar10;
  uint uVar11;
  int iVar12;
  int iVar13;
  size_t __n;
  void *__dest;
  int iVar14;
  byte *pbVar15;
  uint uVar16;
  int iVar17;
  int iVar18;
  void *pvVar19;
  uint uVar20;
  int unaff_EDI;
  uint *puVar21;
  undefined8 uVar22;
  ulonglong uVar23;
  uint *local_74;
  int local_70;
  uint local_6c;
  size_t local_40;
  uint *local_3c;
  uint local_38;
  uint local_30;
  uint local_2c;
  undefined8 local_28;
  uint local_20;
  
  uVar22 = FUN_00058c4a();
  iVar12 = *(int *)((int)uVar22 + 0x28);
  if (iVar12 == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));
  }
  iVar17 = *param_1;
  iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);
  if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <
      iVar14 + 1U) {
    FUN_001742f0(iVar17);
    return 0;
  }
  if (iVar14 == 0) {
    return 0;
  }
  iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);
  local_74 = (uint *)(iVar14 + param_1[4]);
  uVar20 = iVar17 >> 3;
  if (0xccccccc < uVar20) {
                    /* WARNING: Subroutine does not return */
    FUN_001f1e60(unaff_EDI + 0xde53e);
  }
  __src = (void *)param_1[0xb];
  if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {
    pvVar5 = (void *)param_1[0xc];
    __n = (int)pvVar5 - (int)__src;
    if (uVar20 == 0) {
      __dest = (void *)0x0;
      pvVar19 = __src;
    }
    else {
      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);
      pvVar19 = (void *)param_1[0xb];
    }
    if (__src != pvVar5) {
      memmove(__dest,__src,__n);
    }
    if (pvVar19 != (void *)0x0) {
      FUN_001ac470(pvVar19);
    }
    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);
    param_1[0xb] = (int)__dest;
    param_1[0xc] = __n + (int)__dest;
    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);
    iVar12 = param_1[10];
    if (uVar20 != 0) goto LAB_00174b7e;
  }
  else {
    if (uVar20 == 0) goto LAB_00174ef3;
LAB_00174b7e:
    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);
    local_70 = 0;
    do {
      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));
      uVar20 = *puVar21;
      uVar16 = puVar21[1];
      if (uVar16 == 0x16) {
        uVar16 = (uint)(byte)*local_74;
        if ((char)(byte)*local_74 < '\0') {
          local_28 = uVar7;
          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);
          local_74 = (uint *)((int)local_74 + local_40);
          uVar7 = local_28;
        }
        else {
          local_40 = 1;
          local_74 = (uint *)((int)local_74 + 1);
        }
      }
      local_28._4_4_ = (uint)(uVar7 >> 0x20);
      uVar11 = (int)local_74 - iVar14;
      iVar12 = uVar11 + param_1[2];
      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);
      local_20 = 0;
      local_30 = uVar20;
      local_2c = uVar16;
      local_28 = uVar7;
      if (uVar16 == 0xe) {
        piVar2 = *(int **)(*param_1 + 8);
        iVar4 = *piVar2;
        pcVar3 = *(code **)(iVar4 + 0xc);
        if (*(int *)(*param_1 + 0x44) == 4) {
          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
          }
          else {
            cVar10 = (*pcVar3)(piVar2);
          }
          local_3c = (uint *)*local_74;
          local_38 = 0;
          if (cVar10 != '\0') {
            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);
          }
          local_74 = local_74 + 1;
        }
        else {
          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
          }
          else {
            cVar10 = (*pcVar3)(piVar2);
          }
          local_3c = (uint *)*local_74;
          uVar16 = local_74[1];
          local_38 = uVar16;
          if (cVar10 != '\0') {
            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;
            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                               uVar16 << 0x18);
          }
          local_74 = local_74 + 2;
        }
        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);
        uVar7 = CONCAT44(local_38,local_3c);
        if (uVar20 != 3) {
          puVar21 = local_74;
          uVar7 = CONCAT44(local_38,local_3c);
          if ((uVar20 < 4) ||
             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&
              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),
              uVar20 != 0x2007)))) goto LAB_00174ea0;
LAB_00175373:
          param_1[0x15] = local_20;
          *(ulonglong *)(param_1 + 0x13) = uVar23;
          puVar21 = local_74;
          uVar7 = uVar23;
          goto LAB_00174ea0;
        }
LAB_00174c9a:
        param_1[0x15] = local_20;
        *(ulonglong *)(param_1 + 0x10) = uVar7;
        puVar21 = (uint *)param_1[0xc];
        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;
LAB_00174cc0:
        local_28 = uVar7;
        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);
        uVar7 = local_28;
      }
      else {
        if (uVar16 < 0xf) {
          if (uVar16 == 7) {
            piVar2 = *(int **)(*param_1 + 8);
            pcVar3 = *(code **)(*piVar2 + 0xc);
            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
            }
            else {
              cVar10 = (*pcVar3)(piVar2);
            }
            local_3c = (uint *)*local_74;
            uVar11 = local_74[1];
            local_38 = uVar11;
            if (cVar10 != '\0') {
              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;
              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8
                                 | uVar11 << 0x18);
            }
            local_74 = local_74 + 2;
LAB_0017561e:
            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);
            uVar23 = CONCAT44(local_38,local_3c);
joined_r0x001751d3:
            if (uVar20 == 3) goto LAB_00174c88;
            puVar21 = local_74;
            uVar7 = uVar23;
            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {
LAB_001751f0:
              local_28._0_4_ = (uint *)uVar23;
              puVar21 = local_74;
              if (uVar16 == 8) {
LAB_00175220:
                local_74 = puVar21;
                param_1[0x12] = (int)(uint *)local_28;
                puVar21 = local_74;
                uVar7 = uVar23;
              }
              else {
                uVar7 = uVar23;
                if (uVar16 == 0xe) goto LAB_00175373;
              }
            }
          }
          else {
            if (uVar16 < 8) {
              if (uVar16 == 4) {
                piVar2 = *(int **)(*param_1 + 8);
                pcVar3 = *(code **)(*piVar2 + 0xc);
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                local_20 = *local_74;
                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);
                if (cVar10 != '\0') {
                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |
                             (local_20 & 0xff00) << 8 | local_20 << 0x18;
                }
                local_74 = (uint *)((int)(local_74 + 1) + local_20);
              }
              else if (uVar16 < 5) {
                if (uVar16 == 1) {
                  piVar2 = *(int **)(*param_1 + 8);
                  iVar4 = *piVar2;
                  pcVar3 = *(code **)(iVar4 + 0xc);
                  if (*(int *)(*param_1 + 0x48) == 4) {
                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
                    }
                    else {
                      cVar10 = (*pcVar3)(piVar2);
                    }
                    local_3c = (uint *)*local_74;
                    local_38 = 0;
                    if (cVar10 != '\0') {
                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8
                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);
                    }
                    local_74 = local_74 + 1;
                  }
                  else {
                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
                    }
                    else {
                      cVar10 = (*pcVar3)(piVar2);
                    }
                    local_3c = (uint *)*local_74;
                    uVar16 = local_74[1];
                    local_38 = uVar16;
                    if (cVar10 != '\0') {
                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;
                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |
                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);
                    }
                    local_74 = local_74 + 2;
                  }
                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);
                  uVar23 = CONCAT44(local_38,local_3c);
                  if (uVar20 == 0x31) goto LAB_00174e48;
LAB_00175028:
                  uVar23 = CONCAT44(local_38,local_3c);
                  uVar8 = CONCAT44(local_38,local_3c);
                  uVar7 = CONCAT44(local_38,local_3c);
                  uVar9 = CONCAT44(local_38,local_3c);
                  if (0x31 < uVar20) goto joined_r0x001752af;
                  puVar21 = local_74;
                  uVar7 = uVar23;
                  if (uVar20 != 1) goto LAB_00174ea0;
                  goto LAB_0017548f;
                }
                if (uVar16 != 3) {
                  return 0;
                }
                piVar2 = *(int **)(*param_1 + 8);
                pcVar3 = *(code **)(*piVar2 + 0xc);
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                uVar6 = (ushort)*local_74;
                if (cVar10 != '\0') {
                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));
                }
                local_20 = (uint)uVar6;
                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));
                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);
              }
              else {
                if (uVar16 != 5) {
                  if (uVar16 != 6) {
                    return 0;
                  }
                  piVar2 = *(int **)(*param_1 + 8);
                  pcVar3 = *(code **)(*piVar2 + 0xc);
                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                  }
                  else {
                    cVar10 = (*pcVar3)(piVar2);
                  }
                  local_3c = (uint *)*local_74;
                  local_38 = 0;
                  if (cVar10 != '\0') {
                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);
                  }
                  local_74 = local_74 + 1;
                  goto LAB_0017561e;
                }
                piVar2 = *(int **)(*param_1 + 8);
                pcVar3 = *(code **)(*piVar2 + 0xc);
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                uVar6 = (ushort)*local_74;
                if (cVar10 != '\0') {
                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));
                }
                uVar23 = (ulonglong)uVar6;
                local_74 = (uint *)((int)local_74 + 2);
              }
              goto joined_r0x001751d3;
            }
            if (uVar16 == 10) {
              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));
              local_20 = (uint)(byte)*local_74;
              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);
              goto joined_r0x001751d3;
            }
            if (10 < uVar16) {
              if (uVar16 < 0xd) {
                uVar23 = (ulonglong)(byte)*local_74;
                local_74 = (uint *)((int)local_74 + 1);
              }
              else {
                bVar1 = (byte)*local_74;
                uVar11 = (uint)bVar1;
                puVar21 = (uint *)((int)local_74 + 1);
                if ((char)bVar1 < '\0') {
                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);
                  local_74 = (uint *)((int)local_74 + local_40);
                }
                else {
                  uVar23 = (ulonglong)uVar11;
                  local_40 = 1;
                  local_74 = puVar21;
                  if ((bVar1 & 0x40) != 0) {
                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);
                  }
                }
              }
              goto joined_r0x001751d3;
            }
            if (uVar16 != 8) {
              if (uVar16 != 9) {
                return 0;
              }
LAB_00174f39:
              pbVar15 = (byte *)((int)local_74 + 1);
              local_6c = (uint)(byte)*local_74;
              if ((char)(byte)*local_74 < '\0') {
                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);
                pbVar15 = (byte *)((int)local_74 + local_40);
              }
              else {
                local_40 = 1;
              }
              uVar23 = CONCAT44(local_28._4_4_,pbVar15);
              local_74 = (uint *)((int)local_74 + local_40 + local_6c);
              local_20 = local_6c;
              goto joined_r0x001751d3;
            }
            local_28._0_4_ = local_74;
            local_40 = strlen((char *)local_74);
            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);
            puVar21 = (uint *)((int)local_74 + local_40 + 1);
            if (uVar20 != 3) {
              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);
              if ((uVar20 < 4) ||
                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))
                 ) goto LAB_00174ea0;
              goto LAB_00175220;
            }
LAB_00175230:
            local_74 = puVar21;
            local_28._0_4_ = (uint *)uVar23;
            param_1[0xf] = (int)(uint *)local_28;
            puVar21 = local_74;
            uVar7 = uVar23;
          }
        }
        else if (uVar16 == 0x15) {
          bVar1 = (byte)*local_74;
          if ((char)bVar1 < '\0') {
            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);
            local_74 = (uint *)((int)local_74 + local_40);
          }
          else {
            local_40 = 1;
            uVar23 = (ulonglong)(uint)bVar1;
            local_74 = (uint *)((int)local_74 + 1);
          }
joined_r0x0017547a:
          if (uVar20 == 0x31) {
LAB_00174e48:
            *(ulonglong *)(param_1 + 0x18) = uVar23;
            puVar21 = local_74;
            uVar7 = uVar23;
          }
          else if (uVar20 < 0x32) {
            if (uVar20 != 1) goto LAB_001754d5;
LAB_0017548f:
            puVar21 = local_74;
            uVar7 = uVar23;
            if (local_20 == 0) {
              *(ulonglong *)(param_1 + 8) = uVar23;
            }
          }
          else {
            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;
joined_r0x00175920:
            puVar21 = local_74;
            uVar7 = uVar23;
            if (uVar20 == 0x47) {
              *(ulonglong *)(param_1 + 0x16) = uVar23;
            }
          }
        }
        else {
          if (uVar16 < 0x16) {
            if (uVar16 == 0x11) {
              puVar21 = (uint *)((int)local_74 + 1);
              uVar16 = (uint)(byte)*local_74;
              uVar23 = (ulonglong)uVar16;
              uVar8 = (ulonglong)uVar16;
              uVar7 = (ulonglong)uVar16;
              local_74 = puVar21;
              if (uVar20 != 0x31) {
                uVar9 = (ulonglong)uVar16;
                if (uVar20 < 0x32) {
                  uVar7 = (ulonglong)uVar16;
                  if (uVar20 == 1) {
                    param_1[8] = uVar16;
                    param_1[9] = 0;
                    uVar7 = (ulonglong)uVar16;
                  }
                }
                else {
joined_r0x001752af:
                  uVar23 = uVar9;
                  puVar21 = local_74;
                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))
                  goto joined_r0x00175920;
                }
                goto LAB_00174ea0;
              }
            }
            else {
              if (0x11 < uVar16) {
                if (uVar16 == 0x13) {
                  piVar2 = *(int **)(*param_1 + 8);
                  pcVar3 = *(code **)(*piVar2 + 0xc);
                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                  }
                  else {
                    cVar10 = (*pcVar3)(piVar2);
                  }
                  goto LAB_0017542a;
                }
                if (uVar16 < 0x14) {
                  piVar2 = *(int **)(*param_1 + 8);
                  pcVar3 = *(code **)(*piVar2 + 0xc);
                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                  }
                  else {
                    cVar10 = (*pcVar3)(piVar2);
                  }
                  uVar6 = (ushort)*local_74;
                  if (cVar10 != '\0') {
                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));
                  }
                  uVar23 = (ulonglong)uVar6;
                  local_74 = (uint *)((int)local_74 + 2);
                  goto joined_r0x0017547a;
                }
                piVar2 = *(int **)(*param_1 + 8);
                pcVar3 = *(code **)(*piVar2 + 0xc);
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
LAB_001753da:
                local_3c = (uint *)*local_74;
                uVar11 = local_74[1];
                local_38 = uVar11;
                if (cVar10 != '\0') {
                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;
                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |
                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);
                }
                local_74 = local_74 + 2;
LAB_0017544c:
                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);
                uVar23 = CONCAT44(local_38,local_3c);
                goto joined_r0x0017547a;
              }
              if (uVar16 == 0xf) {
LAB_00175135:
                bVar1 = (byte)*local_74;
                if ((char)bVar1 < '\0') {
                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);
                  local_74 = (uint *)((int)local_74 + local_40);
                }
                else {
                  local_40 = 1;
                  uVar23 = (ulonglong)(uint)bVar1;
                  local_74 = (uint *)((int)local_74 + 1);
                }
                goto joined_r0x001751d3;
              }
              if (uVar16 != 0x10) {
                return 0;
              }
              iVar4 = *param_1;
              iVar13 = *(int *)(iVar4 + 0x48);
              if (2 < *(uint *)(iVar4 + 0x4c)) {
                iVar13 = *(int *)(iVar4 + 0x44);
              }
              piVar2 = *(int **)(iVar4 + 8);
              iVar4 = *piVar2;
              pcVar3 = *(code **)(iVar4 + 0xc);
              if (iVar13 == 4) {
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                local_3c = (uint *)*local_74;
                local_38 = 0;
                if (cVar10 != '\0') {
                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);
                }
                local_74 = local_74 + 1;
              }
              else {
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                local_3c = (uint *)*local_74;
                uVar16 = local_74[1];
                local_38 = uVar16;
                if (cVar10 != '\0') {
                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;
                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |
                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);
                }
                local_74 = local_74 + 2;
              }
              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);
              uVar23 = CONCAT44(local_38,local_3c);
              if (uVar20 != 0x31) goto LAB_00175028;
            }
            goto LAB_00174e48;
          }
          if (uVar16 == 0x19) {
            local_28._0_4_ = (uint *)0x1;
            local_28._4_4_ = 0;
          }
          else {
            if (uVar16 < 0x1a) {
              if (uVar16 != 0x17) {
                if (uVar16 != 0x18) {
                  return 0;
                }
                goto LAB_00174f39;
              }
              piVar2 = *(int **)(*param_1 + 8);
              iVar4 = *piVar2;
              pcVar3 = *(code **)(iVar4 + 0xc);
              if (*(int *)(*param_1 + 0x44) != 4) {
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                goto LAB_001753da;
              }
              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
              }
              else {
                cVar10 = (*pcVar3)(piVar2);
              }
LAB_0017542a:
              local_3c = (uint *)*local_74;
              local_38 = 0;
              if (cVar10 != '\0') {
                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);
              }
              local_74 = local_74 + 1;
              goto LAB_0017544c;
            }
            if (uVar16 != 0x20) {
              if (uVar16 < 0x20) {
                return 0;
              }
              if (1 < uVar16 - 0x1f01) {
                return 0;
              }
              goto LAB_00175135;
            }
            piVar2 = *(int **)(*param_1 + 8);
            pcVar3 = *(code **)(*piVar2 + 0xc);
            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
            }
            else {
              cVar10 = (*pcVar3)(piVar2);
            }
            local_28._0_4_ = (uint *)*local_74;
            uVar11 = local_74[1];
            local_28._4_4_ = uVar11;
            if (cVar10 != '\0') {
              local_28._4_4_ =
                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |
                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;
              local_28._0_4_ =
                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                           uVar11 << 0x18);
            }
            local_74 = local_74 + 2;
          }
          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);
          if ((uVar20 == 0x6e) ||
             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))
          goto LAB_001751f0;
LAB_001754d5:
          puVar21 = local_74;
          uVar7 = uVar23;
          if (uVar20 != 3) goto LAB_00174ea0;
LAB_00174c88:
          puVar21 = local_74;
          if (uVar16 == 8) goto LAB_00175230;
          uVar7 = uVar23;
          if (uVar16 == 0xe) goto LAB_00174c9a;
        }
LAB_00174ea0:
        local_74 = puVar21;
        puVar21 = (uint *)param_1[0xc];
        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;
LAB_00174eac:
        *puVar21 = local_30;
        puVar21[1] = local_2c;
        *(ulonglong *)(puVar21 + 2) = uVar7;
        puVar21[4] = local_20;
        param_1[0xc] = (int)(puVar21 + 5);
      }
      local_70 = local_70 + 8;
      iVar12 = param_1[10];
    } while (local_70 != iVar17);
  }
  if (iVar12 == 0) {
    local_28 = uVar7;
                    /* WARNING: Subroutine does not return */
    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);
  }
LAB_00174ef3:
  uVar20 = (int)local_74 - iVar14;
  iVar14 = uVar20 + param_1[2];
  iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);
  if ((*(byte *)(iVar12 + 4) & 1) == 0) {
    param_1[8] = iVar14;
    param_1[9] = iVar17;
  }
  else {
    param_1[6] = iVar14;
    param_1[7] = iVar17;
  }
  *(undefined1 *)(param_1 + 0xe) = 1;
  return 1;
}


PUSH EBP
MOV EBP,EAX
PUSH EDI
CALL 0x00058c4a
ADD EDI,0x1ca517
PUSH ESI
PUSH EBX
SUB ESP,0x6c
MOV EAX,dword ptr [EAX + 0x28]
MOV dword ptr [ESP + 0x20],EDI
TEST EAX,EAX
JZ 0x00175a7d
MOV EBX,dword ptr [EBP]
MOV ESI,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EBX + 0x34]
MOV EDX,dword ptr [EBX + 0x2c]
ADD ESI,ECX
ADD ECX,dword ptr [EBX + 0x3c]
LEA EDI,[EDX + ESI*0x1]
ADD ECX,EDX
LEA ESI,[EDI + 0x1]
MOV dword ptr [ESP + 0x18],EDI
CMP ESI,ECX
JA 0x001756b0
MOV EBX,dword ptr [ESP + 0x18]
TEST EBX,EBX
JZ 0x00175119
MOV EDX,dword ptr [EAX + 0xc]
SUB EDX,dword ptr [EAX + 0x8]
LEA EDI,[EBP + 0x2c]
MOV ESI,EDX
ADD EBX,dword ptr [EBP + 0x10]
MOV dword ptr [ESP + 0x1c],EDX
SAR ESI,0x3
MOV dword ptr [ESP + 0x8],EBX
MOV dword ptr [ESP + 0x28],EDI
CMP ESI,0xccccccc
JA 0x00175a9a
MOV EDI,dword ptr [EBP + 0x2c]
MOV EDX,dword ptr [EBP + 0x34]
SUB EDX,EDI
SAR EDX,0x2
IMUL EDX,EDX,-0x33333333
CMP ESI,EDX
JA 0x001756d0
TEST ESI,ESI
JZ 0x00174ef3
LEA ECX,[ESP + 0x3c]
LEA EDI,[ESP + 0x40]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x2c],ECX
MOV dword ptr [ESP + 0x24],EDI
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EDI,dword ptr [ESP + 0xc]
ADD EDI,dword ptr [EAX + 0x8]
MOV EAX,EDI
MOV EDI,dword ptr [EDI]
MOV ESI,dword ptr [EAX + 0x4]
CMP ESI,0x16
JZ 0x00175160
MOV EAX,dword ptr [ESP + 0x8]
SUB EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x4c],EDI
CDQ
ADD EAX,dword ptr [EBP + 0x8]
ADC EDX,dword ptr [EBP + 0xc]
MOV dword ptr [ESP + 0x50],ESI
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x14],EDX
MOV dword ptr [ESP + 0x5c],0x0
CMP ESI,0xe
JZ 0x001752d0
JA 0x00174db0
CMP ESI,0x7
JZ 0x001755d0
JA 0x00174d48
CMP ESI,0x4
JZ 0x00175580
JA 0x00174ce0
CMP ESI,0x1
JZ 0x001754e8
CMP ESI,0x3
JNZ 0x00175119
MOV EAX,dword ptr [EBP]
MOV EBX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x8]
LEA EBX,[EBX + 0xffd55520]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EDX + 0xc]
CMP ECX,EBX
JNZ 0x00175986
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EDX + 0xe8]
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x8]
MOVZX EDX,byte ptr [ECX + 0x1]
MOVZX ECX,byte ptr [ECX]
TEST AL,AL
JZ 0x00175970
MOV EAX,ECX
SHL EAX,0x8
OR EDX,EAX
MOV ECX,dword ptr [ESP + 0x8]
MOVZX EAX,DX
MOV dword ptr [ESP + 0x5c],EAX
ADD ECX,0x2
ADD EAX,ECX
MOV dword ptr [ESP + 0x54],ECX
MOV dword ptr [ESP + 0x8],EAX
CMP EDI,0x3
JNZ 0x001751d9
LEA ESI,[ESI]
CMP ESI,0x8
JZ 0x00175230
CMP ESI,0xe
JNZ 0x00174ea0
MOV EAX,dword ptr [ESP + 0x5c]
MOV EDX,dword ptr [ESP + 0x58]
MOV dword ptr [EBP + 0x54],EAX
MOV EAX,dword ptr [ESP + 0x54]
MOV dword ptr [EBP + 0x44],EDX
MOV dword ptr [EBP + 0x40],EAX
MOV EAX,dword ptr [EBP + 0x30]
CMP EAX,dword ptr [EBP + 0x34]
JNZ 0x00174eac
LEA ESI,[ESI]
NOP
SUB ESP,0x4
LEA EDX,[ESP + 0x50]
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x34]
CALL 0x001780e0
ADD ESP,0x10
JMP 0x00174ed5
CMP ESI,0x5
JZ 0x00175650
CMP ESI,0x6
JNZ 0x00175119
MOV EAX,dword ptr [EBP]
MOV EBX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x8]
LEA EBX,[EBX + 0xffd55520]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EDX + 0xc]
CMP ECX,EBX
JNZ 0x001759cc
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EDX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
TEST AL,AL
MOV EDX,dword ptr [EBX]
MOV dword ptr [ESP + 0x44],0x0
MOV ECX,EDX
BSWAP ECX
CMOVNZ EDX,ECX
ADD EBX,0x4
MOV dword ptr [ESP + 0x8],EBX
MOV dword ptr [ESP + 0x40],EDX
JMP 0x0017561e
CMP ESI,0xa
JZ 0x001751b0
JBE 0x00174e50
CMP ESI,0xc
JBE 0x00175388
MOV EAX,dword ptr [ESP + 0x8]
MOVZX ECX,byte ptr [EAX]
LEA EBX,[EAX + 0x1]
TEST CL,CL
JS 0x00175890
MOVZX EAX,CL
XOR EDX,EDX
AND ECX,0x40
MOV dword ptr [ESP + 0x3c],0x1
MOV dword ptr [ESP + 0x8],EAX
JZ 0x00174d96
MOV ECX,dword ptr [ESP + 0x8]
MOV EDX,0xffffffff
OR ECX,0xffffff80
MOV EAX,ECX
MOV dword ptr [ESP + 0x54],EAX
MOV dword ptr [ESP + 0x58],EDX
MOV dword ptr [ESP + 0x8],EBX
JMP 0x001751d0
CMP ESI,0x15
JZ 0x00175240
JA 0x00175060
CMP ESI,0x11
JZ 0x00175270
JBE 0x00174f80
CMP ESI,0x13
JZ 0x00175400
JA 0x001753b0
MOV EAX,dword ptr [EBP]
MOV EBX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x8]
LEA EBX,[EBX + 0xffd55520]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EDX + 0xc]
CMP ECX,EBX
JNZ 0x001759a2
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EDX + 0xe8]
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x8]
MOVZX EDX,byte ptr [ECX + 0x1]
MOVZX ECX,byte ptr [ECX]
TEST AL,AL
JZ 0x00175950
MOV EAX,ECX
SHL EAX,0x8
OR EDX,EAX
MOVZX EAX,DX
ADD dword ptr [ESP + 0x8],0x2
MOV dword ptr [ESP + 0x54],EAX
MOV dword ptr [ESP + 0x58],0x0
CMP EDI,0x31
JNZ 0x00175480
NOP
MOV ECX,dword ptr [ESP + 0x54]
MOV EBX,dword ptr [ESP + 0x58]
MOV dword ptr [EBP + 0x60],ECX
MOV dword ptr [EBP + 0x64],EBX
JMP 0x00174ea0
CMP ESI,0x8
JNZ 0x00174f30
MOV ESI,dword ptr [ESP + 0x8]
SUB ESP,0xc
MOV dword ptr [ESP + 0x60],ESI
PUSH ESI
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x000285f0
ADD ESP,0x10
MOV dword ptr [ESP + 0x3c],EAX
LEA EAX,[ESI + EAX*0x1 + 0x1]
CMP EDI,0x3
JZ 0x00175228
JBE 0x00174e99
CMP EDI,0x6e
JZ 0x00175218
CMP EDI,0x2007
JZ 0x00175218
MOV dword ptr [ESP + 0x8],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0x30]
CMP EAX,dword ptr [EBP + 0x34]
JZ 0x00174cc0
MOV EDX,dword ptr [ESP + 0x4c]
ADD EAX,0x14
MOV dword ptr [EAX + -0x14],EDX
MOV EDX,dword ptr [ESP + 0x50]
MOV dword ptr [EAX + -0x10],EDX
MOV EDX,dword ptr [ESP + 0x54]
MOV dword ptr [EAX + -0xc],EDX
MOV EDX,dword ptr [ESP + 0x58]
MOV dword ptr [EAX + -0x8],EDX
MOV EDX,dword ptr [ESP + 0x5c]
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [EBP + 0x30],EAX
ADD dword ptr [ESP + 0xc],0x8
MOV EAX,dword ptr [EBP + 0x28]
MOV EBX,dword ptr [ESP + 0xc]
CMP EBX,dword ptr [ESP + 0x1c]
JNZ 0x00174ba0
TEST EAX,EAX
JZ 0x00175aad
MOV ECX,dword ptr [ESP + 0x8]
SUB ECX,dword ptr [ESP + 0x18]
MOV EBX,ECX
SAR EBX,0x1f
ADD ECX,dword ptr [EBP + 0x8]
ADC EBX,dword ptr [EBP + 0xc]
TEST byte ptr [EAX + 0x4],0x1
JNZ 0x00175770
MOV dword ptr [EBP + 0x20],ECX
MOV dword ptr [EBP + 0x24],EBX
MOV byte ptr [EBP + 0x38],0x1
ADD ESP,0x6c
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP ESI,0x9
JNZ 0x00175119
MOV EAX,dword ptr [ESP + 0x8]
LEA ECX,[EAX + 0x1]
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JS 0x00175860
MOV dword ptr [ESP + 0x3c],0x1
MOV EBX,0x1
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x14],0x0
MOV EDX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x54],ECX
ADD EBX,EDX
MOV dword ptr [ESP + 0x5c],EDX
ADD dword ptr [ESP + 0x8],EBX
JMP 0x001751d0
CMP ESI,0xf
JZ 0x00175135
CMP ESI,0x10
JNZ 0x00175119
MOV EDX,dword ptr [EBP]
CMP dword ptr [EDX + 0x4c],0x2
MOV EAX,dword ptr [EDX + 0x48]
CMOVA EAX,dword ptr [EDX + 0x44]
MOV EDX,dword ptr [EDX + 0x8]
CMP EAX,0x4
MOV ECX,dword ptr [EDX]
MOV EAX,dword ptr [ESP + 0x20]
MOV EBX,dword ptr [ECX + 0xc]
LEA EAX,[EAX + 0xffd55520]
JZ 0x00175800
CMP EBX,EAX
JNZ 0x00175a29
SUB ESP,0xc
PUSH EDX
CALL dword ptr [ECX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [EBX]
MOV EDX,dword ptr [EBX + 0x4]
TEST AL,AL
JZ 0x00174fe7
MOV EAX,ECX
MOV ECX,EDX
BSWAP EAX
MOV EDX,EAX
BSWAP ECX
ADD dword ptr [ESP + 0x8],0x8
MOV dword ptr [ESP + 0x40],ECX
MOV dword ptr [ESP + 0x44],EDX
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [EBP]
CALL 0x00174230
MOV ECX,dword ptr [ESP + 0x50]
MOV EBX,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x6c],EAX
MOV dword ptr [ESP + 0x64],ECX
MOV dword ptr [ESP + 0x68],EBX
ADD ESP,0x10
CMP EDI,0x31
JZ 0x00174e40
JBE 0x00175940
CMP EDI,0x6e
JZ 0x00174ea0
CMP EDI,0x2007
JZ 0x00174ea0
CMP EDI,0x47
JNZ 0x00174ea0
MOV dword ptr [EBP + 0x58],ECX
MOV dword ptr [EBP + 0x5c],EBX
JMP 0x00174ea0
CMP ESI,0x19
JZ 0x001754b0
JA 0x001750b0
CMP ESI,0x17
JNZ 0x00175110
MOV EAX,dword ptr [EBP]
MOV EDX,dword ptr [EAX + 0x8]
CMP dword ptr [EAX + 0x44],0x4
MOV EAX,dword ptr [ESP + 0x20]
MOV ECX,dword ptr [EDX]
LEA EAX,[EAX + 0xffd55520]
MOV EBX,dword ptr [ECX + 0xc]
JZ 0x00175840
CMP EBX,EAX
JNZ 0x00175a37
SUB ESP,0xc
PUSH EDX
CALL dword ptr [ECX + 0xe8]
ADD ESP,0x10
JMP 0x001753da
CMP ESI,0x20
JNZ 0x00175128
MOV EAX,dword ptr [EBP]
MOV EBX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x8]
LEA EBX,[EBX + 0xffd55520]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EDX + 0xc]
CMP ECX,EBX
JNZ 0x001759b0
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EDX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [EBX]
MOV EDX,dword ptr [EBX + 0x4]
TEST AL,AL
JZ 0x001750f6
MOV EAX,ECX
MOV ECX,EDX
BSWAP EAX
MOV EDX,EAX
BSWAP ECX
ADD dword ptr [ESP + 0x8],0x8
MOV dword ptr [ESP + 0x54],ECX
MOV dword ptr [ESP + 0x58],EDX
JMP 0x001754c0
CMP ESI,0x18
JZ 0x00174f39
ADD ESP,0x6c
XOR EAX,EAX
POP EBX
POP ESI
POP EDI
POP EBP
RET
JC 0x00175119
LEA EAX,[ESI + 0xffffe0ff]
CMP EAX,0x1
JA 0x00175119
MOV EAX,dword ptr [ESP + 0x8]
LEA ECX,[EAX + 0x1]
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JS 0x001758e0
MOV dword ptr [ESP + 0x3c],0x1
XOR EDX,EDX
MOV dword ptr [ESP + 0x8],ECX
MOV dword ptr [ESP + 0x54],EAX
MOV dword ptr [ESP + 0x58],EDX
JMP 0x001751d0
MOV EAX,dword ptr [ESP + 0x8]
LEA ECX,[EAX + 0x1]
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JS 0x00175188
MOV dword ptr [ESP + 0x3c],0x1
MOV ESI,EAX
MOV dword ptr [ESP + 0x8],ECX
JMP 0x00174bb7
SUB ESP,0x4
PUSH EAX
PUSH dword ptr [ESP + 0x34]
PUSH ECX
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x00189c70
MOV EBX,dword ptr [ESP + 0x4c]
ADD dword ptr [ESP + 0x18],EBX
ADD ESP,0x10
MOV ESI,EAX
JMP 0x00174bb7
MOV EAX,dword ptr [ESP + 0x8]
LEA EDX,[EAX + 0x1]
MOVZX EAX,byte ptr [EAX]
MOV dword ptr [ESP + 0x54],EDX
MOV dword ptr [ESP + 0x5c],EAX
ADD EAX,EDX
MOV dword ptr [ESP + 0x8],EAX
LEA ESI,[ESI]
NOP
CMP EDI,0x3
JZ 0x00174c88
JBE 0x00174ea0
CMP EDI,0x6e
JZ 0x001751f0
CMP EDI,0x2007
JNZ 0x00174ea0
MOV EDX,dword ptr [ESP + 0x54]
CMP ESI,0x8
JZ 0x00175220
CMP ESI,0xe
JNZ 0x00174ea0
MOV EAX,dword ptr [ESP + 0x5c]
MOV ECX,dword ptr [ESP + 0x54]
MOV EBX,dword ptr [ESP + 0x58]
JMP 0x00175373
MOV EDX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x8],EAX
MOV dword ptr [EBP + 0x48],EDX
JMP 0x00174ea0
MOV dword ptr [ESP + 0x8],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x54]
MOV dword ptr [EBP + 0x3c],EAX
JMP 0x00174ea0
MOV EAX,dword ptr [ESP + 0x8]
LEA ECX,[EAX + 0x1]
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JS 0x001758b8
MOV dword ptr [ESP + 0x3c],0x1
XOR EDX,EDX
MOV dword ptr [ESP + 0x8],ECX
MOV dword ptr [ESP + 0x54],EAX
MOV dword ptr [ESP + 0x58],EDX
JMP 0x00175477
MOV ECX,dword ptr [ESP + 0x8]
XOR EBX,EBX
LEA EAX,[ECX + 0x1]
MOVZX ECX,byte ptr [ECX]
MOV dword ptr [ESP + 0x58],EBX
MOV dword ptr [ESP + 0x54],ECX
CMP EDI,0x31
JZ 0x00175a04
JA 0x001752a8
CMP EDI,0x1
JNZ 0x00174e99
MOV dword ptr [EBP + 0x20],ECX
MOV dword ptr [EBP + 0x24],EBX
JMP 0x00174e99
MOV dword ptr [ESP + 0x8],EAX
CMP EDI,0x6e
JZ 0x00174ea0
CMP EDI,0x2007
JZ 0x00174ea0
CMP EDI,0x47
JZ 0x00175932
JMP 0x00174ea0
MOV EAX,dword ptr [EBP]
MOV EDX,dword ptr [EAX + 0x8]
CMP dword ptr [EAX + 0x44],0x4
MOV EAX,dword ptr [ESP + 0x20]
MOV ECX,dword ptr [EDX]
LEA EAX,[EAX + 0xffd55520]
MOV EBX,dword ptr [ECX + 0xc]
JZ 0x00175780
CMP EBX,EAX
JNZ 0x00175a0d
SUB ESP,0xc
PUSH EDX
CALL dword ptr [ECX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [EBX]
MOV EDX,dword ptr [EBX + 0x4]
TEST AL,AL
JZ 0x0017531b
MOV EAX,ECX
MOV ECX,EDX
BSWAP EAX
MOV EDX,EAX
BSWAP ECX
ADD dword ptr [ESP + 0x8],0x8
MOV dword ptr [ESP + 0x40],ECX
MOV dword ptr [ESP + 0x44],EDX
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [EBP]
CALL 0x00174230
MOV ECX,dword ptr [ESP + 0x50]
MOV EBX,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x6c],EAX
MOV dword ptr [ESP + 0x64],ECX
MOV dword ptr [ESP + 0x68],EBX
ADD ESP,0x10
CMP EDI,0x3
JZ 0x00174c9a
JBE 0x00174ea0
CMP EDI,0x6e
JZ 0x00175373
CMP EDI,0x2007
JNZ 0x00174ea0
MOV dword ptr [EBP + 0x54],EAX
MOV dword ptr [EBP + 0x4c],ECX
MOV dword ptr [EBP + 0x50],EBX
JMP 0x00174ea0
MOV ECX,dword ptr [ESP + 0x8]
MOVZX EAX,byte ptr [ECX]
MOV dword ptr [ESP + 0x58],0x0
MOV dword ptr [ESP + 0x54],EAX
LEA EAX,[ECX + 0x1]
MOV dword ptr [ESP + 0x8],EAX
JMP 0x001751d0
MOV EAX,dword ptr [EBP]
MOV EBX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x8]
LEA EBX,[EBX + 0xffd55520]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EDX + 0xc]
CMP ECX,EBX
JNZ 0x00175994
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EDX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [EBX]
MOV EDX,dword ptr [EBX + 0x4]
TEST AL,AL
JZ 0x001753f1
MOV EAX,ECX
MOV ECX,EDX
BSWAP EAX
MOV EDX,EAX
BSWAP ECX
ADD dword ptr [ESP + 0x8],0x8
MOV dword ptr [ESP + 0x40],ECX
MOV dword ptr [ESP + 0x44],EDX
JMP 0x0017544c
MOV EAX,dword ptr [EBP]
MOV EBX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x8]
LEA EBX,[EBX + 0xffd55520]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EDX + 0xc]
CMP ECX,EBX
JNZ 0x001759be
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EDX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
TEST AL,AL
MOV EDX,dword ptr [EBX]
MOV dword ptr [ESP + 0x44],0x0
MOV ECX,EDX
BSWAP ECX
CMOVNZ EDX,ECX
ADD EBX,0x4
MOV dword ptr [ESP + 0x8],EBX
MOV dword ptr [ESP + 0x40],EDX
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [EBP]
CALL 0x00174230
MOV EDX,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x6c],EAX
MOV EAX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x68],EDX
MOV dword ptr [ESP + 0x64],EAX
ADD ESP,0x10
CMP EDI,0x31
JZ 0x00174e40
JA 0x00175908
MOV EAX,dword ptr [ESP + 0x5c]
CMP EDI,0x1
JNZ 0x001754d5
TEST EAX,EAX
JNZ 0x00174ea0
MOV ECX,dword ptr [ESP + 0x54]
MOV EBX,dword ptr [ESP + 0x58]
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [EBP + 0x20],ECX
MOV dword ptr [EBP + 0x24],EBX
JMP 0x00174e99
MOV dword ptr [ESP + 0x54],0x1
MOV dword ptr [ESP + 0x58],0x0
CMP EDI,0x6e
JZ 0x001751f0
CMP EDI,0x2007
JZ 0x001751f0
CMP EDI,0x3
JZ 0x00174c88
JMP 0x00174ea0
MOV EAX,dword ptr [EBP]
MOV EDX,dword ptr [EAX + 0x8]
CMP dword ptr [EAX + 0x48],0x4
MOV EAX,dword ptr [ESP + 0x20]
MOV ECX,dword ptr [EDX]
LEA EAX,[EAX + 0xffd55520]
MOV EBX,dword ptr [ECX + 0xc]
JZ 0x001757c0
CMP EBX,EAX
JNZ 0x00175a1b
SUB ESP,0xc
PUSH EDX
CALL dword ptr [ECX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [EBX]
MOV EDX,dword ptr [EBX + 0x4]
TEST AL,AL
JZ 0x00175533
MOV EAX,ECX
MOV ECX,EDX
BSWAP EAX
MOV EDX,EAX
BSWAP ECX
ADD dword ptr [ESP + 0x8],0x8
MOV dword ptr [ESP + 0x40],ECX
MOV dword ptr [ESP + 0x44],EDX
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [EBP]
CALL 0x00174230
MOV ECX,dword ptr [ESP + 0x50]
MOV EBX,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x6c],EAX
MOV dword ptr [ESP + 0x64],ECX
MOV dword ptr [ESP + 0x68],EBX
ADD ESP,0x10
CMP EDI,0x31
JNZ 0x00175028
JMP 0x00174e48
MOV EAX,dword ptr [EBP]
MOV EBX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x8]
LEA EBX,[EBX + 0xffd55520]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EDX + 0xc]
CMP ECX,EBX
JNZ 0x001759e8
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EDX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
TEST AL,AL
MOV EDX,dword ptr [EBX]
LEA EAX,[EBX + 0x4]
MOV dword ptr [ESP + 0x54],EAX
MOV ECX,EDX
BSWAP ECX
CMOVNZ EDX,ECX
ADD EAX,EDX
MOV dword ptr [ESP + 0x5c],EDX
MOV dword ptr [ESP + 0x8],EAX
JMP 0x001751d0
MOV EAX,dword ptr [EBP]
MOV EBX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x8]
LEA EBX,[EBX + 0xffd55520]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EDX + 0xc]
CMP ECX,EBX
JNZ 0x001759da
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EDX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [EBX]
MOV EDX,dword ptr [EBX + 0x4]
TEST AL,AL
JZ 0x00175611
MOV EAX,ECX
MOV ECX,EDX
BSWAP EAX
MOV EDX,EAX
BSWAP ECX
ADD dword ptr [ESP + 0x8],0x8
MOV dword ptr [ESP + 0x40],ECX
MOV dword ptr [ESP + 0x44],EDX
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [EBP]
CALL 0x00174230
MOV EDX,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x6c],EAX
MOV EAX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x68],EDX
MOV dword ptr [ESP + 0x64],EAX
ADD ESP,0x10
JMP 0x001751d0
MOV EAX,dword ptr [EBP]
MOV EBX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x8]
LEA EBX,[EBX + 0xffd55520]
MOV EDX,dword ptr [EAX]
MOV ECX,dword ptr [EDX + 0xc]
CMP ECX,EBX
JNZ 0x001759f6
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EDX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
MOVZX EDX,byte ptr [EBX + 0x1]
MOVZX ECX,byte ptr [EBX]
TEST AL,AL
JZ 0x00175960
MOV EAX,ECX
SHL EAX,0x8
OR EDX,EAX
MOVZX EAX,DX
ADD dword ptr [ESP + 0x8],0x2
MOV dword ptr [ESP + 0x54],EAX
MOV dword ptr [ESP + 0x58],0x0
JMP 0x001751d0
SUB ESP,0xc
PUSH EBX
CALL 0x001742f0
ADD ESP,0x10
XOR EAX,EAX
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0x30]
MOV dword ptr [ESP + 0x10],EAX
SUB EAX,EDI
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[ESI + ESI*0x4]
SHL EAX,0x2
MOV dword ptr [ESP + 0x24],EAX
TEST ESI,ESI
JZ 0x0017597d
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x001aa8c0
MOV EDX,dword ptr [EBP + 0x2c]
ADD ESP,0x10
MOV ECX,EAX
CMP EDI,dword ptr [ESP + 0x10]
JZ 0x0017572f
MOV dword ptr [ESP + 0x2c],EDX
SUB ESP,0x4
PUSH dword ptr [ESP + 0x10]
PUSH EDI
PUSH ECX
MOV EBX,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0x20],ECX
CALL 0x000288a0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x2c]
MOV ECX,dword ptr [ESP + 0x10]
TEST EDX,EDX
JZ 0x0017574b
MOV dword ptr [ESP + 0x10],ECX
SUB ESP,0xc
PUSH EDX
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x001ac470
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0xc]
MOV dword ptr [EBP + 0x2c],ECX
ADD EAX,ECX
MOV dword ptr [EBP + 0x30],EAX
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,ECX
MOV dword ptr [EBP + 0x34],EAX
MOV EAX,dword ptr [EBP + 0x28]
TEST ESI,ESI
JNZ 0x00174b7e
JMP 0x00174eeb
MOV dword ptr [EBP + 0x18],ECX
MOV dword ptr [EBP + 0x1c],EBX
JMP 0x00174f16
CMP EBX,EAX
JNZ 0x00175a6f
SUB ESP,0xc
PUSH EDX
CALL dword ptr [ECX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
TEST AL,AL
MOV EDX,dword ptr [EBX]
MOV dword ptr [ESP + 0x44],0x0
MOV ECX,EDX
BSWAP ECX
CMOVNZ EDX,ECX
ADD EBX,0x4
MOV dword ptr [ESP + 0x8],EBX
MOV dword ptr [ESP + 0x40],EDX
JMP 0x00175328
CMP EBX,EAX
JNZ 0x00175a61
SUB ESP,0xc
PUSH EDX
CALL dword ptr [ECX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
TEST AL,AL
MOV EDX,dword ptr [EBX]
MOV dword ptr [ESP + 0x44],0x0
MOV ECX,EDX
BSWAP ECX
CMOVNZ EDX,ECX
ADD EBX,0x4
MOV dword ptr [ESP + 0x8],EBX
MOV dword ptr [ESP + 0x40],EDX
JMP 0x00175540
CMP EBX,EAX
JNZ 0x00175a53
SUB ESP,0xc
PUSH EDX
CALL dword ptr [ECX + 0xe8]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
TEST AL,AL
MOV EDX,dword ptr [EBX]
MOV dword ptr [ESP + 0x44],0x0
MOV ECX,EDX
BSWAP ECX
CMOVNZ EDX,ECX
ADD EBX,0x4
MOV dword ptr [ESP + 0x8],EBX
MOV dword ptr [ESP + 0x40],EDX
JMP 0x00174ff4
CMP EBX,EAX
JNZ 0x00175a45
SUB ESP,0xc
PUSH EDX
CALL dword ptr [ECX + 0xe8]
ADD ESP,0x10
JMP 0x0017542a
SUB ESP,0x4
PUSH EAX
PUSH dword ptr [ESP + 0x34]
PUSH ECX
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x00189c70
MOV EBX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x24],EDX
ADD ESP,0x10
LEA ECX,[EAX + EBX*0x1]
JMP 0x00174f64
SUB ESP,0x4
PUSH ECX
PUSH dword ptr [ESP + 0x34]
PUSH EBX
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x00189d30
MOV EBX,dword ptr [ESP + 0x18]
ADD EBX,dword ptr [ESP + 0x4c]
ADD ESP,0x10
JMP 0x00174d96
SUB ESP,0x4
PUSH EAX
PUSH dword ptr [ESP + 0x34]
PUSH ECX
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x00189c70
MOV EBX,dword ptr [ESP + 0x4c]
ADD dword ptr [ESP + 0x18],EBX
ADD ESP,0x10
JMP 0x00175260
SUB ESP,0x4
PUSH EAX
PUSH dword ptr [ESP + 0x34]
PUSH ECX
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x00189c70
MOV EBX,dword ptr [ESP + 0x4c]
ADD dword ptr [ESP + 0x18],EBX
ADD ESP,0x10
JMP 0x00175155
CMP EDI,0x6e
JZ 0x001751f0
CMP EDI,0x2007
JZ 0x001751f0
CMP EDI,0x47
JNZ 0x00174ea0
MOV ECX,dword ptr [ESP + 0x54]
MOV EBX,dword ptr [ESP + 0x58]
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x8],EAX
JMP 0x0017504c
CMP EDI,0x1
JNZ 0x00174ea0
JMP 0x0017548f
SHL EDX,0x8
MOVZX EAX,CL
OR EDX,EAX
JMP 0x00174e21
SHL EDX,0x8
MOVZX EAX,CL
OR EDX,EAX
JMP 0x00175694
SHL EDX,0x8
MOVZX EAX,CL
OR EDX,EAX
JMP 0x00174c61
MOV EDX,EDI
XOR ECX,ECX
JMP 0x00175704
SUB ESP,0xc
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x00174c47
SUB ESP,0xc
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x001753da
SUB ESP,0xc
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x00174e07
SUB ESP,0xc
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x001750df
SUB ESP,0xc
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x0017542a
SUB ESP,0xc
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x00174d1c
SUB ESP,0xc
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x001755fa
SUB ESP,0xc
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x001755aa
SUB ESP,0xc
PUSH EAX
CALL ECX
ADD ESP,0x10
JMP 0x0017567a
MOV dword ptr [ESP + 0x8],EAX
JMP 0x00174e40
SUB ESP,0xc
PUSH EDX
CALL EBX
ADD ESP,0x10
JMP 0x00175304
SUB ESP,0xc
PUSH EDX
CALL EBX
ADD ESP,0x10
JMP 0x0017551c
SUB ESP,0xc
PUSH EDX
CALL EBX
ADD ESP,0x10
JMP 0x00174fd0
SUB ESP,0xc
PUSH EDX
CALL EBX
ADD ESP,0x10
JMP 0x001753da
SUB ESP,0xc
PUSH EDX
CALL EBX
ADD ESP,0x10
JMP 0x0017542a
SUB ESP,0xc
PUSH EDX
CALL EBX
ADD ESP,0x10
JMP 0x00175815
SUB ESP,0xc
PUSH EDX
CALL EBX
ADD ESP,0x10
JMP 0x001757d5
SUB ESP,0xc
PUSH EDX
CALL EBX
ADD ESP,0x10
JMP 0x00175795
PUSH EDX
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfff289ec]
PUSH EAX
LEA EAX,[EBX + 0xfff28763]
PUSH 0x2a9
PUSH EAX
CALL 0x0008b620
SUB ESP,0xc
MOV EBX,dword ptr [ESP + 0x2c]
LEA EAX,[EBX + 0xfff14027]
PUSH EAX
CALL 0x001f1e60
PUSH EAX
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfff289dc]
PUSH EAX
LEA EAX,[EBX + 0xfff287d3]
PUSH 0x206
PUSH EAX
CALL 0x0008b620
(translation_unit "undefined4 __regparm3 FUN_00174ae0(int *param_1)\n\n{\n  byte bVar1;\n  void *__src;\n  int *piVar2;\n  code *pcVar3;\n  int iVar4;\n  void *pvVar5;\n  ushort uVar6;\n  ulonglong uVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  char cVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  byte *pbVar15;\n  uint uVar16;\n  int iVar17;\n  int iVar18;\n  void *pvVar19;\n  uint uVar20;\n  int unaff_EDI;\n  uint *puVar21;\n  undefined8 uVar22;\n  ulonglong uVar23;\n  uint *local_74;\n  int local_70;\n  uint local_6c;\n  size_t local_40;\n  uint *local_3c;\n  uint local_38;\n  uint local_30;\n  uint local_2c;\n  undefined8 local_28;\n  uint local_20;\n  \n  uVar22 = FUN_00058c4a();\n  iVar12 = *(int *)((int)uVar22 + 0x28);\n  if (iVar12 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }\n  iVar17 = *param_1;\n  iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);\n  if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }\n  if (iVar14 == 0) {\n    return 0;\n  }\n  iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);\n  local_74 = (uint *)(iVar14 + param_1[4]);\n  uVar20 = iVar17 >> 3;\n  if (0xccccccc < uVar20) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }\n  __src = (void *)param_1[0xb];\n  if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }\n  if (iVar12 == 0) {\n    local_28 = uVar7;\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }\nLAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;\n  iVar14 = uVar20 + param_1[2];\n  iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);\n  if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }\n  *(undefined1 *)(param_1 + 0xe) = 1;\n  return 1;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_00174ae0(int *param_1)\n\n{\n  byte bVar1;\n  void *__src;\n  int *piVar2;\n  code *pcVar3;\n  int iVar4;\n  void *pvVar5;\n  ushort uVar6;\n  ulonglong uVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  char cVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  byte *pbVar15;\n  uint uVar16;\n  int iVar17;\n  int iVar18;\n  void *pvVar19;\n  uint uVar20;\n  int unaff_EDI;\n  uint *puVar21;\n  undefined8 uVar22;\n  ulonglong uVar23;\n  uint *local_74;\n  int local_70;\n  uint local_6c;\n  size_t local_40;\n  uint *local_3c;\n  uint local_38;\n  uint local_30;\n  uint local_2c;\n  undefined8 local_28;\n  uint local_20;\n  \n  uVar22 = FUN_00058c4a();\n  iVar12 = *(int *)((int)uVar22 + 0x28);\n  if (iVar12 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }\n  iVar17 = *param_1;\n  iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);\n  if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }\n  if (iVar14 == 0) {\n    return 0;\n  }\n  iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);\n  local_74 = (uint *)(iVar14 + param_1[4]);\n  uVar20 = iVar17 >> 3;\n  if (0xccccccc < uVar20) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }\n  __src = (void *)param_1[0xb];\n  if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }\n  if (iVar12 == 0) {\n    local_28 = uVar7;\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }\nLAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;\n  iVar14 = uVar20 + param_1[2];\n  iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);\n  if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }\n  *(undefined1 *)(param_1 + 0xe) = 1;\n  return 1;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00174ae0(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  void *__src;\n  int *piVar2;\n  code *pcVar3;\n  int iVar4;\n  void *pvVar5;\n  ushort uVar6;\n  ulonglong uVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  char cVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  byte *pbVar15;\n  uint uVar16;\n  int iVar17;\n  int iVar18;\n  void *pvVar19;\n  uint uVar20;\n  int unaff_EDI;\n  uint *puVar21;\n  undefined8 uVar22;\n  ulonglong uVar23;\n  uint *local_74;\n  int local_70;\n  uint local_6c;\n  size_t local_40;\n  uint *local_3c;\n  uint local_38;\n  uint local_30;\n  uint local_2c;\n  undefined8 local_28;\n  uint local_20;\n  \n  uVar22 = FUN_00058c4a();\n  iVar12 = *(int *)((int)uVar22 + 0x28);\n  if (iVar12 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }\n  iVar17 = *param_1;\n  iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);\n  if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }\n  if (iVar14 == 0) {\n    return 0;\n  }\n  iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);\n  local_74 = (uint *)(iVar14 + param_1[4]);\n  uVar20 = iVar17 >> 3;\n  if (0xccccccc < uVar20) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }\n  __src = (void *)param_1[0xb];\n  if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }\n  if (iVar12 == 0) {\n    local_28 = uVar7;\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }\nLAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;\n  iVar14 = uVar20 + param_1[2];\n  iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);\n  if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }\n  *(undefined1 *)(param_1 + 0xe) = 1;\n  return 1;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "void *__src;" primitive_type (pointer_declarator "*__src" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "void *pvVar5;" primitive_type (pointer_declarator "*pvVar5" * identifier) ;) (declaration "ushort uVar6;" type_identifier identifier ;) (declaration "ulonglong uVar7;" type_identifier identifier ;) (declaration "ulonglong uVar8;" type_identifier identifier ;) (declaration "ulonglong uVar9;" type_identifier identifier ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "void *pvVar19;" primitive_type (pointer_declarator "*pvVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "uint *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "ulonglong uVar23;" type_identifier identifier ;) (declaration "uint *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "size_t local_40;" primitive_type identifier ;) (declaration "uint *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "uint local_20;" type_identifier identifier ;) (expression_statement "uVar22 = FUN_00058c4a();" (assignment_expression "uVar22 = FUN_00058c4a()" identifier = (call_expression "FUN_00058c4a()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = *(int *)((int)uVar22 + 0x28);" (assignment_expression "iVar12 = *(int *)((int)uVar22 + 0x28)" identifier = (pointer_expression "*(int *)((int)uVar22 + 0x28)" * (cast_expression "(int *)((int)uVar22 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar22 + 0x28)" ( (binary_expression "(int)uVar22 + 0x28" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar12 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }" { comment (expression_statement "FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));" (call_expression "FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20))" identifier (argument_list "(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20))" ( (binary_expression "unaff_EDI + 0xf2c7a" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0xf2f03" identifier + number_literal) , (cast_expression "(int)((ulonglong)uVar22 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar22 >> 0x20)" ( (binary_expression "(ulonglong)uVar22 >> 0x20" (cast_expression "(ulonglong)uVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) })) (expression_statement "iVar17 = *param_1;" (assignment_expression "iVar17 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);" (assignment_expression "iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34)" identifier = (binary_expression "*(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34)" (binary_expression "*(int *)(iVar17 + 0x2c) + param_1[2]" (pointer_expression "*(int *)(iVar17 + 0x2c)" * (cast_expression "(int *)(iVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x2c)" ( (binary_expression "iVar17 + 0x2c" identifier + number_literal) )))) + (subscript_expression "param_1[2]" identifier [ number_literal ])) + (pointer_expression "*(int *)(iVar17 + 0x34)" * (cast_expression "(int *)(iVar17 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x34)" ( (binary_expression "iVar17 + 0x34" identifier + number_literal) )))))) ;) (if_statement "if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }" if (parenthesized_expression "((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U)" ( (binary_expression "(uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U" (call_expression "(uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c))" ( (binary_expression "*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)" (binary_expression "*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c)" (pointer_expression "*(int *)(iVar17 + 0x34)" * (cast_expression "(int *)(iVar17 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x34)" ( (binary_expression "iVar17 + 0x34" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar17 + 0x3c)" * (cast_expression "(int *)(iVar17 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x3c)" ( (binary_expression "iVar17 + 0x3c" identifier + number_literal) ))))) + (pointer_expression "*(int *)(iVar17 + 0x2c)" * (cast_expression "(int *)(iVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x2c)" ( (binary_expression "iVar17 + 0x2c" identifier + number_literal) ))))) ))) < (binary_expression "iVar14 + 1U" identifier + number_literal)) )) (compound_statement "{\n    FUN_001742f0(iVar17);\n    return 0;\n  }" { (expression_statement "FUN_001742f0(iVar17);" (call_expression "FUN_001742f0(iVar17)" identifier (argument_list "(iVar17)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (iVar14 == 0) {\n    return 0;\n  }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);" (assignment_expression "iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8)" identifier = (binary_expression "*(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8)" (pointer_expression "*(int *)(iVar12 + 0xc)" * (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))))) ;) (expression_statement "local_74 = (uint *)(iVar14 + param_1[4]);" (assignment_expression "local_74 = (uint *)(iVar14 + param_1[4])" identifier = (cast_expression "(uint *)(iVar14 + param_1[4])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + param_1[4])" ( (binary_expression "iVar14 + param_1[4]" identifier + (subscript_expression "param_1[4]" identifier [ number_literal ])) )))) ;) (expression_statement "uVar20 = iVar17 >> 3;" (assignment_expression "uVar20 = iVar17 >> 3" identifier = (binary_expression "iVar17 >> 3" identifier >> number_literal)) ;) (if_statement "if (0xccccccc < uVar20) {\n                    /* WARNING: Subroutine does not return */\n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }" if (parenthesized_expression "(0xccccccc < uVar20)" ( (binary_expression "0xccccccc < uVar20" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }" { comment (expression_statement "FUN_001f1e60(unaff_EDI + 0xde53e);" (call_expression "FUN_001f1e60(unaff_EDI + 0xde53e)" identifier (argument_list "(unaff_EDI + 0xde53e)" ( (binary_expression "unaff_EDI + 0xde53e" identifier + number_literal) ))) ;) })) (expression_statement "__src = (void *)param_1[0xb];" (assignment_expression "__src = (void *)param_1[0xb]" identifier = (cast_expression "(void *)param_1[0xb]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }" if (parenthesized_expression "((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20)" ( (binary_expression "(uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20" (call_expression "(uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((param_1[0xd] - (int)__src >> 2) * -0x33333333)" ( (binary_expression "(param_1[0xd] - (int)__src >> 2) * -0x33333333" (parenthesized_expression "(param_1[0xd] - (int)__src >> 2)" ( (binary_expression "param_1[0xd] - (int)__src >> 2" (binary_expression "param_1[0xd] - (int)__src" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) - (cast_expression "(int)__src" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) ))) < identifier) )) (compound_statement "{\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }" { (expression_statement "pvVar5 = (void *)param_1[0xc];" (assignment_expression "pvVar5 = (void *)param_1[0xc]" identifier = (cast_expression "(void *)param_1[0xc]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ]))) ;) (expression_statement "__n = (int)pvVar5 - (int)__src;" (assignment_expression "__n = (int)pvVar5 - (int)__src" identifier = (binary_expression "(int)pvVar5 - (int)__src" (cast_expression "(int)pvVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__src" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }" if (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) (compound_statement "{\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }" { (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pvVar19 = __src;" (assignment_expression "pvVar19 = __src" identifier = identifier) ;) }) (else_clause "else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }" else (compound_statement "{\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }" { (expression_statement "__dest = (void *)FUN_001aa8c0(uVar20 * 0x14);" (assignment_expression "__dest = (void *)FUN_001aa8c0(uVar20 * 0x14)" identifier = (cast_expression "(void *)FUN_001aa8c0(uVar20 * 0x14)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(uVar20 * 0x14)" identifier (argument_list "(uVar20 * 0x14)" ( (binary_expression "uVar20 * 0x14" identifier * number_literal) ))))) ;) (expression_statement "pvVar19 = (void *)param_1[0xb];" (assignment_expression "pvVar19 = (void *)param_1[0xb]" identifier = (cast_expression "(void *)param_1[0xb]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) ;) }))) (if_statement "if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }" if (parenthesized_expression "(__src != pvVar5)" ( (binary_expression "__src != pvVar5" identifier != identifier) )) (compound_statement "{\n      memmove(__dest,__src,__n);\n    }" { (expression_statement "memmove(__dest,__src,__n);" (call_expression "memmove(__dest,__src,__n)" identifier (argument_list "(__dest,__src,__n)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }" if (parenthesized_expression "(pvVar19 != (void *)0x0)" ( (binary_expression "pvVar19 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_001ac470(pvVar19);\n    }" { (expression_statement "FUN_001ac470(pvVar19);" (call_expression "FUN_001ac470(pvVar19)" identifier (argument_list "(pvVar19)" ( identifier ))) ;) })) (expression_statement "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "param_1[0xb] = (int)__dest;" (assignment_expression "param_1[0xb] = (int)__dest" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0xc] = __n + (int)__dest;" (assignment_expression "param_1[0xc] = __n + (int)__dest" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = (binary_expression "__n + (int)__dest" identifier + (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);" (assignment_expression "param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest)" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = (cast_expression "(int)(uVar20 * 0x14 + (int)__dest)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar20 * 0x14 + (int)__dest)" ( (binary_expression "uVar20 * 0x14 + (int)__dest" (binary_expression "uVar20 * 0x14" identifier * number_literal) + (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar12 = param_1[10];" (assignment_expression "iVar12 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (if_statement "if (uVar20 != 0) goto LAB_00174b7e;" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00174b7e;" goto statement_identifier ;)) }) (else_clause "else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }" else (compound_statement "{\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }" { (if_statement "if (uVar20 == 0) goto LAB_00174ef3;" if (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00174ef3;" goto statement_identifier ;)) (labeled_statement "LAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" statement_identifier : (expression_statement "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (do_statement "do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);" do (compound_statement "{\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    }" { (expression_statement "puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));" (assignment_expression "puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8))" identifier = (cast_expression "(uint *)(local_70 + *(int *)(iVar12 + 8))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 + *(int *)(iVar12 + 8))" ( (binary_expression "local_70 + *(int *)(iVar12 + 8)" identifier + (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "uVar20 = *puVar21;" (assignment_expression "uVar20 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (expression_statement "uVar16 = puVar21[1];" (assignment_expression "uVar16 = puVar21[1]" identifier = (subscript_expression "puVar21[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }" if (parenthesized_expression "(uVar16 == 0x16)" ( (binary_expression "uVar16 == 0x16" identifier == number_literal) )) (compound_statement "{\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }" { (expression_statement "uVar16 = (uint)(byte)*local_74;" (assignment_expression "uVar16 = (uint)(byte)*local_74" identifier = (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" if (parenthesized_expression "((char)(byte)*local_74 < '\0')" ( (binary_expression "(char)(byte)*local_74 < '\0'" (binary_expression "(char)(byte)*local_74" (cast_expression "(char)(byte)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(byte)" ( identifier ))) * identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }" { (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" identifier = identifier) ;) (expression_statement "uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);" (assignment_expression "uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16)" identifier = (call_expression "FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16)" identifier (argument_list "((uint *)((int)local_74 + 1),&local_40,uVar16)" ( (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (pointer_expression "&local_40" & identifier) , identifier )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" identifier = (cast_expression "(uint *)((int)local_74 + local_40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40)" ( (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "uVar7 = local_28;" (assignment_expression "uVar7 = local_28" identifier = identifier) ;) }) (else_clause "else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" else (compound_statement "{\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" { (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) })) (expression_statement "local_28._4_4_ = (uint)(uVar7 >> 0x20);" (assignment_expression "local_28._4_4_ = (uint)(uVar7 >> 0x20)" (field_expression "local_28._4_4_" identifier . field_identifier) = (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 >> 0x20)" ( (binary_expression "uVar7 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar11 = (int)local_74 - iVar14;" (assignment_expression "uVar11 = (int)local_74 - iVar14" identifier = (binary_expression "(int)local_74 - iVar14" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (expression_statement "iVar12 = uVar11 + param_1[2];" (assignment_expression "iVar12 = uVar11 + param_1[2]" identifier = (binary_expression "uVar11 + param_1[2]" identifier + (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);" (assignment_expression "iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2])" identifier = (binary_expression "((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2])" (binary_expression "((int)uVar11 >> 0x1f) + param_1[3]" (parenthesized_expression "((int)uVar11 >> 0x1f)" ( (binary_expression "(int)uVar11 >> 0x1f" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (subscript_expression "param_1[3]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar11,param_1[2])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,param_1[2])" identifier (argument_list "(uVar11,param_1[2])" ( identifier , (subscript_expression "param_1[2]" identifier [ number_literal ]) )))))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_30 = uVar20;" (assignment_expression "local_30 = uVar20" identifier = identifier) ;) (expression_statement "local_2c = uVar16;" (assignment_expression "local_2c = uVar16" identifier = identifier) ;) (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" identifier = identifier) ;) (if_statement "if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }" if (parenthesized_expression "(uVar16 == 0xe)" ( (binary_expression "uVar16 == 0xe" identifier == number_literal) )) (compound_statement "{\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" identifier = (pointer_expression "*(code **)(iVar4 + 0xc)" * (cast_expression "(code **)(iVar4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" if (parenthesized_expression "(*(int *)(*param_1 + 0x44) == 4)" ( (binary_expression "*(int *)(*param_1 + 0x44) == 4" (pointer_expression "*(int *)(*param_1 + 0x44)" * (cast_expression "(int *)(*param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x44)" ( (binary_expression "*param_1 + 0x44" (pointer_expression "*param_1" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" else (compound_statement "{\n            cVar10 = (*pcVar3)(piVar2);\n          }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }" { (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" identifier = (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" else (compound_statement "{\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" else (compound_statement "{\n            cVar10 = (*pcVar3)(piVar2);\n          }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar16 = local_74[1];" (assignment_expression "uVar16 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar16;" (assignment_expression "local_38 = uVar16" identifier = identifier) ;) (if_statement "if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }" { (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" identifier = (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18)" identifier = (cast_expression "(uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18)" ( (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier = (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier (argument_list "(*param_1,iVar12,iVar18,&local_3c)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "uVar7 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (if_statement "if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }" if (parenthesized_expression "(uVar20 != 3)" ( (binary_expression "uVar20 != 3" identifier != number_literal) )) (compound_statement "{\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }" { (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (if_statement "if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;" if (parenthesized_expression "((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007))))" ( (binary_expression "(uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))" (parenthesized_expression "(uVar20 < 4)" ( (binary_expression "uVar20 < 4" identifier < number_literal) )) || (parenthesized_expression "((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))" ( (parenthesized_expression "(uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007))" ( (comma_expression "uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) , (binary_expression "uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)" (binary_expression "uVar20 != 0x6e" identifier != number_literal) && (parenthesized_expression "(uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)" ( (comma_expression "uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) , (comma_expression "uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) , (binary_expression "uVar20 != 0x2007" identifier != number_literal))) )))) )) ))) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (labeled_statement "LAB_00175373:\n          param_1[0x15] = local_20;" statement_identifier : (expression_statement "param_1[0x15] = local_20;" (assignment_expression "param_1[0x15] = local_20" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "*(ulonglong *)(param_1 + 0x13) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 0x13) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 0x13)" * (cast_expression "(ulonglong *)(param_1 + 0x13)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x13)" ( (binary_expression "param_1 + 0x13" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;) })) (labeled_statement "LAB_00174c9a:\n        param_1[0x15] = local_20;" statement_identifier : (expression_statement "param_1[0x15] = local_20;" (assignment_expression "param_1[0x15] = local_20" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "*(ulonglong *)(param_1 + 0x10) = uVar7;" (assignment_expression "*(ulonglong *)(param_1 + 0x10) = uVar7" (pointer_expression "*(ulonglong *)(param_1 + 0x10)" * (cast_expression "(ulonglong *)(param_1 + 0x10)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar21 = (uint *)param_1[0xc];" (assignment_expression "puVar21 = (uint *)param_1[0xc]" identifier = (cast_expression "(uint *)param_1[0xc]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ]))) ;) (if_statement "if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;" if (parenthesized_expression "(puVar21 != (uint *)param_1[0xd])" ( (binary_expression "puVar21 != (uint *)param_1[0xd]" identifier != (cast_expression "(uint *)param_1[0xd]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xd]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_00174eac;" goto statement_identifier ;)) (labeled_statement "LAB_00174cc0:\n        local_28 = uVar7;" statement_identifier : (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" identifier = identifier) ;)) (expression_statement "FUN_001780e0(param_1 + 0xb,puVar21,&local_30);" (call_expression "FUN_001780e0(param_1 + 0xb,puVar21,&local_30)" identifier (argument_list "(param_1 + 0xb,puVar21,&local_30)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) , identifier , (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "uVar7 = local_28;" (assignment_expression "uVar7 = local_28" identifier = identifier) ;) }) (else_clause "else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }" else (compound_statement "{\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }" { (if_statement "if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" if (parenthesized_expression "(uVar16 < 0xf)" ( (binary_expression "uVar16 < 0xf" identifier < number_literal) )) (compound_statement "{\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }" { (if_statement "if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" if (parenthesized_expression "(uVar16 == 7)" ( (binary_expression "uVar16 == 7" identifier == number_literal) )) (compound_statement "{\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" else (compound_statement "{\n              cVar10 = (*pcVar3)(piVar2);\n            }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar11;" (assignment_expression "local_38 = uVar11" identifier = identifier) ;) (if_statement "if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }" { (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" identifier = (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18)" identifier = (cast_expression "(uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" statement_identifier : (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier = (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier (argument_list "(*param_1,iVar12,iVar18,&local_3c)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;)) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (labeled_statement "joined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;" statement_identifier : (if_statement "if (uVar20 == 3) goto LAB_00174c88;" if (parenthesized_expression "(uVar20 == 3)" ( (binary_expression "uVar20 == 3" identifier == number_literal) )) (goto_statement "goto LAB_00174c88;" goto statement_identifier ;))) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }" if (parenthesized_expression "((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007))))" ( (binary_expression "(3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))" (parenthesized_expression "(3 < uVar20)" ( (binary_expression "3 < uVar20" number_literal < identifier) )) && (parenthesized_expression "((uVar20 == 0x6e || (uVar20 == 0x2007)))" ( (parenthesized_expression "(uVar20 == 0x6e || (uVar20 == 0x2007))" ( (binary_expression "uVar20 == 0x6e || (uVar20 == 0x2007)" (binary_expression "uVar20 == 0x6e" identifier == number_literal) || (parenthesized_expression "(uVar20 == 0x2007)" ( (binary_expression "uVar20 == 0x2007" identifier == number_literal) ))) )) ))) )) (compound_statement "{\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }" { (labeled_statement "LAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;" statement_identifier : (expression_statement "local_28._0_4_ = (uint *)uVar23;" (assignment_expression "local_28._0_4_ = (uint *)uVar23" (field_expression "local_28._0_4_" identifier . field_identifier) = (cast_expression "(uint *)uVar23" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (if_statement "if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }" if (parenthesized_expression "(uVar16 == 8)" ( (binary_expression "uVar16 == 8" identifier == number_literal) )) (compound_statement "{\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }" { (labeled_statement "LAB_00175220:\n                local_74 = puVar21;" statement_identifier : (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" identifier = identifier) ;)) (expression_statement "param_1[0x12] = (int)(uint *)local_28;" (assignment_expression "param_1[0x12] = (int)(uint *)local_28" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = (cast_expression "(int)(uint *)local_28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) }) (else_clause "else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }" else (compound_statement "{\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }" { (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (uVar16 == 0xe) goto LAB_00175373;" if (parenthesized_expression "(uVar16 == 0xe)" ( (binary_expression "uVar16 == 0xe" identifier == number_literal) )) (goto_statement "goto LAB_00175373;" goto statement_identifier ;)) }))) })) }) (else_clause "else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" else (compound_statement "{\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" { (if_statement "if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(uVar16 < 8)" ( (binary_expression "uVar16 < 8" identifier < number_literal) )) (compound_statement "{\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }" { (if_statement "if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" if (parenthesized_expression "(uVar16 == 4)" ( (binary_expression "uVar16 == 4" identifier == number_literal) )) (compound_statement "{\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_20 = *local_74;" (assignment_expression "local_20 = *local_74" identifier = (pointer_expression "*local_74" * identifier)) ;) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,local_74 + 1)" identifier = (call_expression "CONCAT44(local_28._4_4_,local_74 + 1)" identifier (argument_list "(local_28._4_4_,local_74 + 1)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (binary_expression "local_74 + 1" identifier + number_literal) )))) ;) (if_statement "if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }" { (expression_statement "local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;" (assignment_expression "local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18" identifier = (binary_expression "local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18" (binary_expression "local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8" (binary_expression "local_20 >> 0x18 | (local_20 & 0xff0000) >> 8" (binary_expression "local_20 >> 0x18" identifier >> number_literal) | (binary_expression "(local_20 & 0xff0000) >> 8" (parenthesized_expression "(local_20 & 0xff0000)" ( (binary_expression "local_20 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_20 & 0xff00) << 8" (parenthesized_expression "(local_20 & 0xff00)" ( (binary_expression "local_20 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_20 << 0x18" identifier << number_literal))) ;) })) (expression_statement "local_74 = (uint *)((int)(local_74 + 1) + local_20);" (assignment_expression "local_74 = (uint *)((int)(local_74 + 1) + local_20)" identifier = (cast_expression "(uint *)((int)(local_74 + 1) + local_20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(local_74 + 1) + local_20)" ( (binary_expression "(int)(local_74 + 1) + local_20" (cast_expression "(int)(local_74 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_74 + 1)" ( (binary_expression "local_74 + 1" identifier + number_literal) ))) + identifier) )))) ;) }) (else_clause "else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" else (if_statement "if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" if (parenthesized_expression "(uVar16 < 5)" ( (binary_expression "uVar16 < 5" identifier < number_literal) )) (compound_statement "{\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }" { (if_statement "if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }" if (parenthesized_expression "(uVar16 == 1)" ( (binary_expression "uVar16 == 1" identifier == number_literal) )) (compound_statement "{\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" identifier = (pointer_expression "*(code **)(iVar4 + 0xc)" * (cast_expression "(code **)(iVar4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" if (parenthesized_expression "(*(int *)(*param_1 + 0x48) == 4)" ( (binary_expression "*(int *)(*param_1 + 0x48) == 4" (pointer_expression "*(int *)(*param_1 + 0x48)" * (cast_expression "(int *)(*param_1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x48)" ( (binary_expression "*param_1 + 0x48" (pointer_expression "*param_1" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" else (compound_statement "{\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }" { (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" identifier = (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" else (compound_statement "{\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" else (compound_statement "{\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar16 = local_74[1];" (assignment_expression "uVar16 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar16;" (assignment_expression "local_38 = uVar16" identifier = identifier) ;) (if_statement "if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }" { (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" identifier = (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" identifier = (cast_expression "(uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" ( (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier = (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier (argument_list "(*param_1,iVar12,iVar18,&local_3c)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (if_statement "if (uVar20 == 0x31) goto LAB_00174e48;" if (parenthesized_expression "(uVar20 == 0x31)" ( (binary_expression "uVar20 == 0x31" identifier == number_literal) )) (goto_statement "goto LAB_00174e48;" goto statement_identifier ;)) (labeled_statement "LAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);" statement_identifier : (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;)) (expression_statement "uVar8 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar8 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (expression_statement "uVar7 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (expression_statement "uVar9 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar9 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (if_statement "if (0x31 < uVar20) goto joined_r0x001752af;" if (parenthesized_expression "(0x31 < uVar20)" ( (binary_expression "0x31 < uVar20" number_literal < identifier) )) (goto_statement "goto joined_r0x001752af;" goto statement_identifier ;)) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (uVar20 != 1) goto LAB_00174ea0;" if (parenthesized_expression "(uVar20 != 1)" ( (binary_expression "uVar20 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (goto_statement "goto LAB_0017548f;" goto statement_identifier ;) })) (if_statement "if (uVar16 != 3) {\n                  return 0;\n                }" if (parenthesized_expression "(uVar16 != 3)" ( (binary_expression "uVar16 != 3" identifier != number_literal) )) (compound_statement "{\n                  return 0;\n                }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "uVar6 = (ushort)*local_74;" (assignment_expression "uVar6 = (ushort)*local_74" identifier = (binary_expression "(ushort)*local_74" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (if_statement "if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" { (expression_statement "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier = (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" ( (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier) , (pointer_expression "*(byte *)((int)local_74 + 1)" * (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) })) (expression_statement "local_20 = (uint)uVar6;" (assignment_expression "local_20 = (uint)uVar6" identifier = (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2))" identifier = (call_expression "CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2))" identifier (argument_list "(local_28._4_4_,(byte *)((int)local_74 + 2))" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(byte *)((int)local_74 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (expression_statement "local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);" (assignment_expression "local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20)" identifier = (cast_expression "(uint *)((byte *)((int)local_74 + 2) + local_20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)((int)local_74 + 2) + local_20)" ( (binary_expression "(byte *)((int)local_74 + 2) + local_20" (cast_expression "(byte *)((int)local_74 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + identifier) )))) ;) }) (else_clause "else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" else (compound_statement "{\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" { (if_statement "if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }" if (parenthesized_expression "(uVar16 != 5)" ( (binary_expression "uVar16 != 5" identifier != number_literal) )) (compound_statement "{\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }" { (if_statement "if (uVar16 != 6) {\n                    return 0;\n                  }" if (parenthesized_expression "(uVar16 != 6)" ( (binary_expression "uVar16 != 6" identifier != number_literal) )) (compound_statement "{\n                    return 0;\n                  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" else (compound_statement "{\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }" { (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" identifier = (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0017561e;" goto statement_identifier ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "uVar6 = (ushort)*local_74;" (assignment_expression "uVar6 = (ushort)*local_74" identifier = (binary_expression "(ushort)*local_74" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (if_statement "if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" { (expression_statement "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier = (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" ( (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier) , (pointer_expression "*(byte *)((int)local_74 + 1)" * (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) })) (expression_statement "uVar23 = (ulonglong)uVar6;" (assignment_expression "uVar23 = (ulonglong)uVar6" identifier = (cast_expression "(ulonglong)uVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 2);" (assignment_expression "local_74 = (uint *)((int)local_74 + 2)" identifier = (cast_expression "(uint *)((int)local_74 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))))) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(uVar16 == 10)" ( (binary_expression "uVar16 == 10" identifier == number_literal) )) (compound_statement "{\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }" { (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1))" identifier = (call_expression "CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1))" identifier (argument_list "(local_28._4_4_,(byte *)((int)local_74 + 1))" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (expression_statement "local_20 = (uint)(byte)*local_74;" (assignment_expression "local_20 = (uint)(byte)*local_74" identifier = (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);" (assignment_expression "local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20)" identifier = (cast_expression "(uint *)((byte *)((int)local_74 + 1) + local_20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)((int)local_74 + 1) + local_20)" ( (binary_expression "(byte *)((int)local_74 + 1) + local_20" (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + identifier) )))) ;) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(10 < uVar16)" ( (binary_expression "10 < uVar16" number_literal < identifier) )) (compound_statement "{\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }" { (if_statement "if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }" if (parenthesized_expression "(uVar16 < 0xd)" ( (binary_expression "uVar16 < 0xd" identifier < number_literal) )) (compound_statement "{\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }" { (expression_statement "uVar23 = (ulonglong)(byte)*local_74;" (assignment_expression "uVar23 = (ulonglong)(byte)*local_74" identifier = (binary_expression "(ulonglong)(byte)*local_74" (call_expression "(ulonglong)(byte)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }" else (compound_statement "{\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }" { (expression_statement "bVar1 = (byte)*local_74;" (assignment_expression "bVar1 = (byte)*local_74" identifier = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;) (expression_statement "uVar11 = (uint)bVar1;" (assignment_expression "uVar11 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar21 = (uint *)((int)local_74 + 1);" (assignment_expression "puVar21 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }" { (expression_statement "uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);" (assignment_expression "uVar23 = FUN_00189d30(puVar21,&local_40,uVar11)" identifier = (call_expression "FUN_00189d30(puVar21,&local_40,uVar11)" identifier (argument_list "(puVar21,&local_40,uVar11)" ( identifier , (pointer_expression "&local_40" & identifier) , identifier )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" identifier = (cast_expression "(uint *)((int)local_74 + local_40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40)" ( (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }" else (compound_statement "{\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }" { (expression_statement "uVar23 = (ulonglong)uVar11;" (assignment_expression "uVar23 = (ulonglong)uVar11" identifier = (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" identifier = identifier) ;) (if_statement "if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }" if (parenthesized_expression "((bVar1 & 0x40) != 0)" ( (binary_expression "(bVar1 & 0x40) != 0" (parenthesized_expression "(bVar1 & 0x40)" ( (binary_expression "bVar1 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }" { (expression_statement "uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);" (assignment_expression "uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80)" identifier = (call_expression "CONCAT44(0xffffffff,uVar11 | 0xffffff80)" identifier (argument_list "(0xffffffff,uVar11 | 0xffffff80)" ( number_literal , (binary_expression "uVar11 | 0xffffff80" identifier | number_literal) )))) ;) })) }))) }))) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(uVar16 != 8)" ( (binary_expression "uVar16 != 8" identifier != number_literal) )) (compound_statement "{\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }" { (if_statement "if (uVar16 != 9) {\n                return 0;\n              }" if (parenthesized_expression "(uVar16 != 9)" ( (binary_expression "uVar16 != 9" identifier != number_literal) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (labeled_statement "LAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);" statement_identifier : (expression_statement "pbVar15 = (byte *)((int)local_74 + 1);" (assignment_expression "pbVar15 = (byte *)((int)local_74 + 1)" identifier = (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "local_6c = (uint)(byte)*local_74;" (assignment_expression "local_6c = (uint)(byte)*local_74" identifier = (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }" if (parenthesized_expression "((char)(byte)*local_74 < '\0')" ( (binary_expression "(char)(byte)*local_74 < '\0'" (binary_expression "(char)(byte)*local_74" (cast_expression "(char)(byte)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(byte)" ( identifier ))) * identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }" { (expression_statement "local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);" (assignment_expression "local_6c = FUN_00189c70(pbVar15,&local_40,local_6c)" identifier = (call_expression "FUN_00189c70(pbVar15,&local_40,local_6c)" identifier (argument_list "(pbVar15,&local_40,local_6c)" ( identifier , (pointer_expression "&local_40" & identifier) , identifier )))) ;) (expression_statement "pbVar15 = (byte *)((int)local_74 + local_40);" (assignment_expression "pbVar15 = (byte *)((int)local_74 + local_40)" identifier = (cast_expression "(byte *)((int)local_74 + local_40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40)" ( (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                local_40 = 1;\n              }" else (compound_statement "{\n                local_40 = 1;\n              }" { (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) }))) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,pbVar15);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,pbVar15)" identifier = (call_expression "CONCAT44(local_28._4_4_,pbVar15)" identifier (argument_list "(local_28._4_4_,pbVar15)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + local_40 + local_6c);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40 + local_6c)" identifier = (cast_expression "(uint *)((int)local_74 + local_40 + local_6c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40 + local_6c)" ( (binary_expression "(int)local_74 + local_40 + local_6c" (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) ;) (expression_statement "local_20 = local_6c;" (assignment_expression "local_20 = local_6c" identifier = identifier) ;) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (expression_statement "local_28._0_4_ = local_74;" (assignment_expression "local_28._0_4_ = local_74" (field_expression "local_28._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_40 = strlen((char *)local_74);" (assignment_expression "local_40 = strlen((char *)local_74)" identifier = (call_expression "strlen((char *)local_74)" identifier (argument_list "((char *)local_74)" ( (cast_expression "(char *)local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar21 = (uint *)((int)local_74 + local_40 + 1);" (assignment_expression "puVar21 = (uint *)((int)local_74 + local_40 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + local_40 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40 + 1)" ( (binary_expression "(int)local_74 + local_40 + 1" (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }" if (parenthesized_expression "(uVar20 != 3)" ( (binary_expression "uVar20 != 3" identifier != number_literal) )) (compound_statement "{\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }" { (expression_statement "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;" if (parenthesized_expression "((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 )" ( (binary_expression "(uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))" (parenthesized_expression "(uVar20 < 4)" ( (binary_expression "uVar20 < 4" identifier < number_literal) )) || (parenthesized_expression "((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))" ( (parenthesized_expression "(local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007))" ( (comma_expression "local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)" (assignment_expression "local_28._0_4_ = local_74" (field_expression "local_28._0_4_" identifier . field_identifier) = identifier) , (binary_expression "uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)" (binary_expression "uVar20 != 0x6e" identifier != number_literal) && (parenthesized_expression "(uVar7 = uVar23, uVar20 != 0x2007)" ( (comma_expression "uVar7 = uVar23, uVar20 != 0x2007" (assignment_expression "uVar7 = uVar23" identifier = identifier) , (binary_expression "uVar20 != 0x2007" identifier != number_literal)) )))) )) ))) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (goto_statement "goto LAB_00175220;" goto statement_identifier ;) })) (labeled_statement "LAB_00175230:\n            local_74 = puVar21;" statement_identifier : (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" identifier = identifier) ;)) (expression_statement "local_28._0_4_ = (uint *)uVar23;" (assignment_expression "local_28._0_4_ = (uint *)uVar23" (field_expression "local_28._0_4_" identifier . field_identifier) = (cast_expression "(uint *)uVar23" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "param_1[0xf] = (int)(uint *)local_28;" (assignment_expression "param_1[0xf] = (int)(uint *)local_28" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = (cast_expression "(int)(uint *)local_28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) }))) }) (else_clause "else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" else (if_statement "if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" if (parenthesized_expression "(uVar16 == 0x15)" ( (binary_expression "uVar16 == 0x15" identifier == number_literal) )) (compound_statement "{\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }" { (expression_statement "bVar1 = (byte)*local_74;" (assignment_expression "bVar1 = (byte)*local_74" identifier = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }" { (expression_statement "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);" (assignment_expression "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" identifier = (call_expression "FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" identifier (argument_list "((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" ( (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (pointer_expression "&local_40" & identifier) , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" identifier = (cast_expression "(uint *)((int)local_74 + local_40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40)" ( (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" else (compound_statement "{\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" { (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "uVar23 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar23 = (ulonglong)(uint)bVar1" identifier = (cast_expression "(ulonglong)(uint)bVar1" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (labeled_statement "joined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" statement_identifier : (if_statement "if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" if (parenthesized_expression "(uVar20 == 0x31)" ( (binary_expression "uVar20 == 0x31" identifier == number_literal) )) (compound_statement "{\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" { (labeled_statement "LAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;" statement_identifier : (expression_statement "*(ulonglong *)(param_1 + 0x18) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 0x18) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 0x18)" * (cast_expression "(ulonglong *)(param_1 + 0x18)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = identifier) ;)) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) }) (else_clause "else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" else (if_statement "if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" if (parenthesized_expression "(uVar20 < 0x32)" ( (binary_expression "uVar20 < 0x32" identifier < number_literal) )) (compound_statement "{\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }" { (if_statement "if (uVar20 != 1) goto LAB_001754d5;" if (parenthesized_expression "(uVar20 != 1)" ( (binary_expression "uVar20 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001754d5;" goto statement_identifier ;)) (labeled_statement "LAB_0017548f:\n            puVar21 = local_74;" statement_identifier : (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;)) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }" if (parenthesized_expression "(local_20 == 0)" ( (binary_expression "local_20 == 0" identifier == number_literal) )) (compound_statement "{\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }" { (expression_statement "*(ulonglong *)(param_1 + 8) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 8) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 8)" * (cast_expression "(ulonglong *)(param_1 + 8)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" else (compound_statement "{\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" { (if_statement "if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;" if (parenthesized_expression "((uVar20 == 0x6e) || (uVar20 == 0x2007))" ( (binary_expression "(uVar20 == 0x6e) || (uVar20 == 0x2007)" (parenthesized_expression "(uVar20 == 0x6e)" ( (binary_expression "uVar20 == 0x6e" identifier == number_literal) )) || (parenthesized_expression "(uVar20 == 0x2007)" ( (binary_expression "uVar20 == 0x2007" identifier == number_literal) ))) )) (goto_statement "goto LAB_001751f0;" goto statement_identifier ;)) (labeled_statement "joined_r0x00175920:\n            puVar21 = local_74;" statement_identifier : (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;)) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }" if (parenthesized_expression "(uVar20 == 0x47)" ( (binary_expression "uVar20 == 0x47" identifier == number_literal) )) (compound_statement "{\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }" { (expression_statement "*(ulonglong *)(param_1 + 0x16) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 0x16) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 0x16)" * (cast_expression "(ulonglong *)(param_1 + 0x16)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16)" ( (binary_expression "param_1 + 0x16" identifier + number_literal) )))) = identifier) ;) })) })))))) }) (else_clause "else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" else (compound_statement "{\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" { (if_statement "if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }" if (parenthesized_expression "(uVar16 < 0x16)" ( (binary_expression "uVar16 < 0x16" identifier < number_literal) )) (compound_statement "{\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }" { (if_statement "if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }" if (parenthesized_expression "(uVar16 == 0x11)" ( (binary_expression "uVar16 == 0x11" identifier == number_literal) )) (compound_statement "{\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }" { (expression_statement "puVar21 = (uint *)((int)local_74 + 1);" (assignment_expression "puVar21 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar16 = (uint)(byte)*local_74;" (assignment_expression "uVar16 = (uint)(byte)*local_74" identifier = (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "uVar23 = (ulonglong)uVar16;" (assignment_expression "uVar23 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "uVar8 = (ulonglong)uVar16;" (assignment_expression "uVar8 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "uVar7 = (ulonglong)uVar16;" (assignment_expression "uVar7 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" identifier = identifier) ;) (if_statement "if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }" if (parenthesized_expression "(uVar20 != 0x31)" ( (binary_expression "uVar20 != 0x31" identifier != number_literal) )) (compound_statement "{\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }" { (expression_statement "uVar9 = (ulonglong)uVar16;" (assignment_expression "uVar9 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (if_statement "if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }" if (parenthesized_expression "(uVar20 < 0x32)" ( (binary_expression "uVar20 < 0x32" identifier < number_literal) )) (compound_statement "{\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }" { (expression_statement "uVar7 = (ulonglong)uVar16;" (assignment_expression "uVar7 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (if_statement "if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }" if (parenthesized_expression "(uVar20 == 1)" ( (binary_expression "uVar20 == 1" identifier == number_literal) )) (compound_statement "{\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }" { (expression_statement "param_1[8] = uVar16;" (assignment_expression "param_1[8] = uVar16" (subscript_expression "param_1[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = (ulonglong)uVar16;" (assignment_expression "uVar7 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) })) }) (else_clause "else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }" else (compound_statement "{\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }" { (labeled_statement "joined_r0x001752af:\n                  uVar23 = uVar9;" statement_identifier : (expression_statement "uVar23 = uVar9;" (assignment_expression "uVar23 = uVar9" identifier = identifier) ;)) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (if_statement "if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;" if (parenthesized_expression "((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))" ( (binary_expression "(uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007)" (parenthesized_expression "(uVar20 != 0x6e)" ( (binary_expression "uVar20 != 0x6e" identifier != number_literal) )) && (parenthesized_expression "(uVar7 = uVar8, uVar20 != 0x2007)" ( (comma_expression "uVar7 = uVar8, uVar20 != 0x2007" (assignment_expression "uVar7 = uVar8" identifier = identifier) , (binary_expression "uVar20 != 0x2007" identifier != number_literal)) ))) )) (goto_statement "goto joined_r0x00175920;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;) })) }) (else_clause "else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }" else (compound_statement "{\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }" { (if_statement "if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }" if (parenthesized_expression "(0x11 < uVar16)" ( (binary_expression "0x11 < uVar16" number_literal < identifier) )) (compound_statement "{\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }" { (if_statement "if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }" if (parenthesized_expression "(uVar16 == 0x13)" ( (binary_expression "uVar16 == 0x13" identifier == number_literal) )) (compound_statement "{\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" else (compound_statement "{\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (goto_statement "goto LAB_0017542a;" goto statement_identifier ;) })) (if_statement "if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }" if (parenthesized_expression "(uVar16 < 0x14)" ( (binary_expression "uVar16 < 0x14" identifier < number_literal) )) (compound_statement "{\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" else (compound_statement "{\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "uVar6 = (ushort)*local_74;" (assignment_expression "uVar6 = (ushort)*local_74" identifier = (binary_expression "(ushort)*local_74" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (if_statement "if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }" { (expression_statement "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier = (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" ( (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier) , (pointer_expression "*(byte *)((int)local_74 + 1)" * (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) })) (expression_statement "uVar23 = (ulonglong)uVar6;" (assignment_expression "uVar23 = (ulonglong)uVar6" identifier = (cast_expression "(ulonglong)uVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 2);" (assignment_expression "local_74 = (uint *)((int)local_74 + 2)" identifier = (cast_expression "(uint *)((int)local_74 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto joined_r0x0017547a;" goto statement_identifier ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (labeled_statement "LAB_001753da:\n                local_3c = (uint *)*local_74;" statement_identifier : (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;)) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar11;" (assignment_expression "local_38 = uVar11" identifier = identifier) ;) (if_statement "if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }" { (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" identifier = (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" identifier = (cast_expression "(uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" statement_identifier : (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier = (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier (argument_list "(*param_1,iVar12,iVar18,&local_3c)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;)) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (goto_statement "goto joined_r0x0017547a;" goto statement_identifier ;) })) (if_statement "if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }" if (parenthesized_expression "(uVar16 == 0xf)" ( (binary_expression "uVar16 == 0xf" identifier == number_literal) )) (compound_statement "{\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }" { (labeled_statement "LAB_00175135:\n                bVar1 = (byte)*local_74;" statement_identifier : (expression_statement "bVar1 = (byte)*local_74;" (assignment_expression "bVar1 = (byte)*local_74" identifier = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;)) (if_statement "if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }" { (expression_statement "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);" (assignment_expression "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" identifier = (call_expression "FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" identifier (argument_list "((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" ( (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (pointer_expression "&local_40" & identifier) , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" identifier = (cast_expression "(uint *)((int)local_74 + local_40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40)" ( (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" else (compound_statement "{\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" { (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "uVar23 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar23 = (ulonglong)(uint)bVar1" identifier = (cast_expression "(ulonglong)(uint)bVar1" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (uVar16 != 0x10) {\n                return 0;\n              }" if (parenthesized_expression "(uVar16 != 0x10)" ( (binary_expression "uVar16 != 0x10" identifier != number_literal) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar4 = *param_1;" (assignment_expression "iVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar13 = *(int *)(iVar4 + 0x48);" (assignment_expression "iVar13 = *(int *)(iVar4 + 0x48)" identifier = (pointer_expression "*(int *)(iVar4 + 0x48)" * (cast_expression "(int *)(iVar4 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x48)" ( (binary_expression "iVar4 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }" if (parenthesized_expression "(2 < *(uint *)(iVar4 + 0x4c))" ( (binary_expression "2 < *(uint *)(iVar4 + 0x4c)" number_literal < (pointer_expression "*(uint *)(iVar4 + 0x4c)" * (cast_expression "(uint *)(iVar4 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x4c)" ( (binary_expression "iVar4 + 0x4c" identifier + number_literal) ))))) )) (compound_statement "{\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }" { (expression_statement "iVar13 = *(int *)(iVar4 + 0x44);" (assignment_expression "iVar13 = *(int *)(iVar4 + 0x44)" identifier = (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) ))))) ;) })) (expression_statement "piVar2 = *(int **)(iVar4 + 8);" (assignment_expression "piVar2 = *(int **)(iVar4 + 8)" identifier = (pointer_expression "*(int **)(iVar4 + 8)" * (cast_expression "(int **)(iVar4 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" identifier = (pointer_expression "*(code **)(iVar4 + 0xc)" * (cast_expression "(code **)(iVar4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" if (parenthesized_expression "(iVar13 == 4)" ( (binary_expression "iVar13 == 4" identifier == number_literal) )) (compound_statement "{\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }" { (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" identifier = (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" else (compound_statement "{\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar16 = local_74[1];" (assignment_expression "uVar16 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar16;" (assignment_expression "local_38 = uVar16" identifier = identifier) ;) (if_statement "if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }" { (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" identifier = (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" identifier = (cast_expression "(uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" ( (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier = (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier (argument_list "(*param_1,iVar12,iVar18,&local_3c)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (if_statement "if (uVar20 != 0x31) goto LAB_00175028;" if (parenthesized_expression "(uVar20 != 0x31)" ( (binary_expression "uVar20 != 0x31" identifier != number_literal) )) (goto_statement "goto LAB_00175028;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_00174e48;" goto statement_identifier ;) })) (if_statement "if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" if (parenthesized_expression "(uVar16 == 0x19)" ( (binary_expression "uVar16 == 0x19" identifier == number_literal) )) (compound_statement "{\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }" { (expression_statement "local_28._0_4_ = (uint *)0x1;" (assignment_expression "local_28._0_4_ = (uint *)0x1" (field_expression "local_28._0_4_" identifier . field_identifier) = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_28._4_4_ = 0;" (assignment_expression "local_28._4_4_ = 0" (field_expression "local_28._4_4_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" else (compound_statement "{\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" { (if_statement "if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }" if (parenthesized_expression "(uVar16 < 0x1a)" ( (binary_expression "uVar16 < 0x1a" identifier < number_literal) )) (compound_statement "{\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }" { (if_statement "if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }" if (parenthesized_expression "(uVar16 != 0x17)" ( (binary_expression "uVar16 != 0x17" identifier != number_literal) )) (compound_statement "{\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }" { (if_statement "if (uVar16 != 0x18) {\n                  return 0;\n                }" if (parenthesized_expression "(uVar16 != 0x18)" ( (binary_expression "uVar16 != 0x18" identifier != number_literal) )) (compound_statement "{\n                  return 0;\n                }" { (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00174f39;" goto statement_identifier ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" identifier = (pointer_expression "*(code **)(iVar4 + 0xc)" * (cast_expression "(code **)(iVar4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }" if (parenthesized_expression "(*(int *)(*param_1 + 0x44) != 4)" ( (binary_expression "*(int *)(*param_1 + 0x44) != 4" (pointer_expression "*(int *)(*param_1 + 0x44)" * (cast_expression "(int *)(*param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x44)" ( (binary_expression "*param_1 + 0x44" (pointer_expression "*param_1" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (goto_statement "goto LAB_001753da;" goto statement_identifier ;) })) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                cVar10 = (*pcVar3)(piVar2);\n              }" else (compound_statement "{\n                cVar10 = (*pcVar3)(piVar2);\n              }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (labeled_statement "LAB_0017542a:\n              local_3c = (uint *)*local_74;" statement_identifier : (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;)) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }" { (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" identifier = (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0017544c;" goto statement_identifier ;) })) (if_statement "if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }" if (parenthesized_expression "(uVar16 != 0x20)" ( (binary_expression "uVar16 != 0x20" identifier != number_literal) )) (compound_statement "{\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }" { (if_statement "if (uVar16 < 0x20) {\n                return 0;\n              }" if (parenthesized_expression "(uVar16 < 0x20)" ( (binary_expression "uVar16 < 0x20" identifier < number_literal) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }" if (parenthesized_expression "(1 < uVar16 - 0x1f01)" ( (binary_expression "1 < uVar16 - 0x1f01" number_literal < (binary_expression "uVar16 - 0x1f01" identifier - number_literal)) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00175135;" goto statement_identifier ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" else (compound_statement "{\n              cVar10 = (*pcVar3)(piVar2);\n            }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_28._0_4_ = (uint *)*local_74;" (assignment_expression "local_28._0_4_ = (uint *)*local_74" (field_expression "local_28._0_4_" identifier . field_identifier) = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_28._4_4_ = uVar11;" (assignment_expression "local_28._4_4_ = uVar11" (field_expression "local_28._4_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }" { (expression_statement "local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;" (assignment_expression "local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18" (field_expression "local_28._4_4_" identifier . field_identifier) = (binary_expression "(uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18" (binary_expression "(uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8" (binary_expression "(uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8" (binary_expression "(uint)(uint *)local_28 >> 0x18" (cast_expression "(uint)(uint *)local_28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(uint *)local_28 & 0xff0000) >> 8" (parenthesized_expression "((uint)(uint *)local_28 & 0xff0000)" ( (binary_expression "(uint)(uint *)local_28 & 0xff0000" (cast_expression "(uint)(uint *)local_28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(uint *)local_28 & 0xff00) << 8" (parenthesized_expression "((uint)(uint *)local_28 & 0xff00)" ( (binary_expression "(uint)(uint *)local_28 & 0xff00" (cast_expression "(uint)(uint *)local_28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(uint *)local_28 << 0x18" (cast_expression "(int)(uint *)local_28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal))) ;) (expression_statement "local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);" (assignment_expression "local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18)" (field_expression "local_28._0_4_" identifier . field_identifier) = (cast_expression "(uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;" if (parenthesized_expression "((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))" ( (binary_expression "(uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007)" (parenthesized_expression "(uVar20 == 0x6e)" ( (binary_expression "uVar20 == 0x6e" identifier == number_literal) )) || (parenthesized_expression "(uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007)" ( (comma_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "uVar20 == 0x2007" identifier == number_literal)) ))) )) (goto_statement "goto LAB_001751f0;" goto statement_identifier ;)) (labeled_statement "LAB_001754d5:\n          puVar21 = local_74;" statement_identifier : (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;)) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (uVar20 != 3) goto LAB_00174ea0;" if (parenthesized_expression "(uVar20 != 3)" ( (binary_expression "uVar20 != 3" identifier != number_literal) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (labeled_statement "LAB_00174c88:\n          puVar21 = local_74;" statement_identifier : (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;)) (if_statement "if (uVar16 == 8) goto LAB_00175230;" if (parenthesized_expression "(uVar16 == 8)" ( (binary_expression "uVar16 == 8" identifier == number_literal) )) (goto_statement "goto LAB_00175230;" goto statement_identifier ;)) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (uVar16 == 0xe) goto LAB_00174c9a;" if (parenthesized_expression "(uVar16 == 0xe)" ( (binary_expression "uVar16 == 0xe" identifier == number_literal) )) (goto_statement "goto LAB_00174c9a;" goto statement_identifier ;)) }))))) (labeled_statement "LAB_00174ea0:\n        local_74 = puVar21;" statement_identifier : (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" identifier = identifier) ;)) (expression_statement "puVar21 = (uint *)param_1[0xc];" (assignment_expression "puVar21 = (uint *)param_1[0xc]" identifier = (cast_expression "(uint *)param_1[0xc]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ]))) ;) (if_statement "if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;" if (parenthesized_expression "(puVar21 == (uint *)param_1[0xd])" ( (binary_expression "puVar21 == (uint *)param_1[0xd]" identifier == (cast_expression "(uint *)param_1[0xd]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xd]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_00174cc0;" goto statement_identifier ;)) (labeled_statement "LAB_00174eac:\n        *puVar21 = local_30;" statement_identifier : (expression_statement "*puVar21 = local_30;" (assignment_expression "*puVar21 = local_30" (pointer_expression "*puVar21" * identifier) = identifier) ;)) (expression_statement "puVar21[1] = local_2c;" (assignment_expression "puVar21[1] = local_2c" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(ulonglong *)(puVar21 + 2) = uVar7;" (assignment_expression "*(ulonglong *)(puVar21 + 2) = uVar7" (pointer_expression "*(ulonglong *)(puVar21 + 2)" * (cast_expression "(ulonglong *)(puVar21 + 2)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 2)" ( (binary_expression "puVar21 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar21[4] = local_20;" (assignment_expression "puVar21[4] = local_20" (subscript_expression "puVar21[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xc] = (int)(puVar21 + 5);" (assignment_expression "param_1[0xc] = (int)(puVar21 + 5)" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = (cast_expression "(int)(puVar21 + 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar21 + 5)" ( (binary_expression "puVar21 + 5" identifier + number_literal) )))) ;) }))) (expression_statement "local_70 = local_70 + 8;" (assignment_expression "local_70 = local_70 + 8" identifier = (binary_expression "local_70 + 8" identifier + number_literal)) ;) (expression_statement "iVar12 = param_1[10];" (assignment_expression "iVar12 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "(local_70 != iVar17)" ( (binary_expression "local_70 != iVar17" identifier != identifier) )) ;) }))) (if_statement "if (iVar12 == 0) {\n    local_28 = uVar7;\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n    local_28 = uVar7;\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }" { (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" identifier = identifier) ;) comment (expression_statement "FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);" (call_expression "FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0)" identifier (argument_list "(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0)" ( (binary_expression "unaff_EDI + 0xf2cea" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0xf2ef3" identifier + number_literal) , number_literal ))) ;) })) (labeled_statement "LAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;" statement_identifier : (expression_statement "uVar20 = (int)local_74 - iVar14;" (assignment_expression "uVar20 = (int)local_74 - iVar14" identifier = (binary_expression "(int)local_74 - iVar14" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;)) (expression_statement "iVar14 = uVar20 + param_1[2];" (assignment_expression "iVar14 = uVar20 + param_1[2]" identifier = (binary_expression "uVar20 + param_1[2]" identifier + (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);" (assignment_expression "iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2])" identifier = (binary_expression "((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2])" (binary_expression "((int)uVar20 >> 0x1f) + param_1[3]" (parenthesized_expression "((int)uVar20 >> 0x1f)" ( (binary_expression "(int)uVar20 >> 0x1f" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (subscript_expression "param_1[3]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar20,param_1[2])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar20,param_1[2])" identifier (argument_list "(uVar20,param_1[2])" ( identifier , (subscript_expression "param_1[2]" identifier [ number_literal ]) )))))) ;) (if_statement "if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }" if (parenthesized_expression "((*(byte *)(iVar12 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar12 + 4) & 1)" ( (binary_expression "*(byte *)(iVar12 + 4) & 1" (pointer_expression "*(byte *)(iVar12 + 4)" * (cast_expression "(byte *)(iVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }" { (expression_statement "param_1[8] = iVar14;" (assignment_expression "param_1[8] = iVar14" (subscript_expression "param_1[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[9] = iVar17;" (assignment_expression "param_1[9] = iVar17" (subscript_expression "param_1[9]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }" else (compound_statement "{\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }" { (expression_statement "param_1[6] = iVar14;" (assignment_expression "param_1[6] = iVar14" (subscript_expression "param_1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[7] = iVar17;" (assignment_expression "param_1[7] = iVar17" (subscript_expression "param_1[7]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "*(undefined1 *)(param_1 + 0xe) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xe) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xe)" * (cast_expression "(undefined1 *)(param_1 + 0xe)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe)" ( (binary_expression "param_1 + 0xe" identifier + number_literal) )))) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* DWARF original prototype: bool read_attributes(Dwarf_die * this) */\n\nbool __thiscall gold::Dwarf_die::read_attributes(Dwarf_die *this)\n\n{\n  uchar *puVar1;\n  byte bVar2;\n  Dwarf_info_reader *this_00;\n  void *__src;\n  int *piVar3;\n  code *pcVar4;\n  int iVar5;\n  void *pvVar6;\n  ushort uVar7;\n  char cVar8;\n  int *in_EAX;\n  int iVar9;\n  uint uVar10;\n  iterator __position;\n  uint uVar11;\n  size_t __n;\n  void *__dest;\n  undefined4 uVar12;\n  byte *buffer;\n  Valtype return_value;\n  int iVar13;\n  int iVar14;\n  void *pvVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  int unaff_EDI;\n  uint *puVar18;\n  uint64_t uVar19;\n  anon_union_8_5_56ef6665_for_val aVar20;\n  uint *local_74;\n  int local_70;\n  undefined8 local_6c;\n  size_t len;\n  off_t str_off;\n  Attribute_value attr_value;\n  \n  iVar9 = __x86_get_pc_thunk_di();\n  iVar9 = *(int *)(iVar9 + 0x28);\n  if (iVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable((char *)(unaff_EDI + 0xf2c7a),0x2a9,(char *)(unaff_EDI + 0xf2f03));\n  }\n  this_00 = (Dwarf_info_reader *)*in_EAX;\n  iVar13 = (int)this_00->cu_offset_;\n  puVar1 = this_00->buffer_ + in_EAX[2] + iVar13;\n  if (this_00->buffer_ + iVar13 + (int)this_00->cu_length_ < puVar1 + 1) {\n    Dwarf_info_reader::warn_corrupt_debug_section(this_00);\n    return false;\n  }\n  if (puVar1 == (uchar *)0x0) {\n    return false;\n  }\n  iVar13 = *(int *)(iVar9 + 0xc) - *(int *)(iVar9 + 8);\n  local_74 = (uint *)(puVar1 + in_EAX[4]);\n  uVar17 = iVar13 >> 3;\n  if (0xccccccc < uVar17) {\n                    /* WARNING: Subroutine does not return */\n    std::__throw_length_error((char *)(unaff_EDI + 0xde53e));\n  }\n  __src = (void *)in_EAX[0xb];\n  if ((uint)((in_EAX[0xd] - (int)__src >> 2) * -0x33333333) < uVar17) {\n    pvVar6 = (void *)in_EAX[0xc];\n    __n = (int)pvVar6 - (int)__src;\n    if (uVar17 == 0) {\n      __dest = (void *)0x0;\n      pvVar15 = __src;\n    }\n    else {\n      __dest = operator_new(uVar17 * 0x14);\n      pvVar15 = (void *)in_EAX[0xb];\n    }\n    if (__src != pvVar6) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar15 != (void *)0x0) {\n      operator_delete(pvVar15);\n    }\n    in_EAX[0xb] = (int)__dest;\n    in_EAX[0xc] = __n + (int)__dest;\n    in_EAX[0xd] = (int)(uVar17 * 0x14 + (int)__dest);\n    iVar9 = in_EAX[10];\n    if (uVar17 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar17 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    local_70 = 0;\n    do {\n      puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8));\n      uVar17 = *puVar18;\n      uVar11 = puVar18[1];\n      if (uVar11 == 0x16) {\n        bVar2 = (byte)*local_74;\n        uVar11 = (uint)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      uVar10 = (int)local_74 - (int)puVar1;\n      iVar9 = uVar10 + in_EAX[2];\n      iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2]);\n      local_6c = CONCAT44(iVar14,iVar9);\n      attr_value.aux.shndx = 0;\n      attr_value.attr = uVar17;\n      attr_value.form = uVar11;\n      if (uVar11 == 0xe) {\n        piVar3 = *(int **)(*in_EAX + 8);\n        iVar5 = *piVar3;\n        pcVar4 = *(code **)(iVar5 + 0xc);\n        if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        attr_value.aux.shndx =\n             Dwarf_info_reader::lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);\n        attr_value.val.uintval._4_4_ = str_off._4_4_;\n        attr_value.val.stringval = (char *)str_off;\n        if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n        in_EAX[0x11] = attr_value.val.intval._4_4_;\n        in_EAX[0x10] = (int)attr_value.val.stringval;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;\n        (__position._M_current)->form = attr_value.form;\n        ((__position._M_current)->val).stringval = attr_value.val.stringval;\n        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;\n        (__position._M_current)->aux = attr_value.aux;\n        in_EAX[0xc] = (int)(__position._M_current + 1);\n      }\n      else {\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }\n      local_70 = local_70 + 8;\n      iVar9 = in_EAX[10];\n    } while (local_70 != iVar13);\n  }\n  if (iVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable((char *)(unaff_EDI + 0xf2cea),0x206,(char *)(unaff_EDI + 0xf2ef3));\n  }\nLAB_00174ef3:\n  uVar17 = (int)local_74 - (int)puVar1;\n  iVar13 = uVar17 + in_EAX[2];\n  iVar14 = ((int)uVar17 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar17,in_EAX[2]);\n  if ((*(byte *)(iVar9 + 4) & 1) == 0) {\n    in_EAX[8] = iVar13;\n    in_EAX[9] = iVar14;\n  }\n  else {\n    in_EAX[6] = iVar13;\n    in_EAX[7] = iVar14;\n  }\n  *(undefined1 *)(in_EAX + 0xe) = 1;\n  return true;\n}\n\n" comment (function_definition "bool __thiscall gold::Dwarf_die::read_attributes(Dwarf_die *this)\n\n{\n  uchar *puVar1;\n  byte bVar2;\n  Dwarf_info_reader *this_00;\n  void *__src;\n  int *piVar3;\n  code *pcVar4;\n  int iVar5;\n  void *pvVar6;\n  ushort uVar7;\n  char cVar8;\n  int *in_EAX;\n  int iVar9;\n  uint uVar10;\n  iterator __position;\n  uint uVar11;\n  size_t __n;\n  void *__dest;\n  undefined4 uVar12;\n  byte *buffer;\n  Valtype return_value;\n  int iVar13;\n  int iVar14;\n  void *pvVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  int unaff_EDI;\n  uint *puVar18;\n  uint64_t uVar19;\n  anon_union_8_5_56ef6665_for_val aVar20;\n  uint *local_74;\n  int local_70;\n  undefined8 local_6c;\n  size_t len;\n  off_t str_off;\n  Attribute_value attr_value;\n  \n  iVar9 = __x86_get_pc_thunk_di();\n  iVar9 = *(int *)(iVar9 + 0x28);\n  if (iVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable((char *)(unaff_EDI + 0xf2c7a),0x2a9,(char *)(unaff_EDI + 0xf2f03));\n  }\n  this_00 = (Dwarf_info_reader *)*in_EAX;\n  iVar13 = (int)this_00->cu_offset_;\n  puVar1 = this_00->buffer_ + in_EAX[2] + iVar13;\n  if (this_00->buffer_ + iVar13 + (int)this_00->cu_length_ < puVar1 + 1) {\n    Dwarf_info_reader::warn_corrupt_debug_section(this_00);\n    return false;\n  }\n  if (puVar1 == (uchar *)0x0) {\n    return false;\n  }\n  iVar13 = *(int *)(iVar9 + 0xc) - *(int *)(iVar9 + 8);\n  local_74 = (uint *)(puVar1 + in_EAX[4]);\n  uVar17 = iVar13 >> 3;\n  if (0xccccccc < uVar17) {\n                    /* WARNING: Subroutine does not return */\n    std::__throw_length_error((char *)(unaff_EDI + 0xde53e));\n  }\n  __src = (void *)in_EAX[0xb];\n  if ((uint)((in_EAX[0xd] - (int)__src >> 2) * -0x33333333) < uVar17) {\n    pvVar6 = (void *)in_EAX[0xc];\n    __n = (int)pvVar6 - (int)__src;\n    if (uVar17 == 0) {\n      __dest = (void *)0x0;\n      pvVar15 = __src;\n    }\n    else {\n      __dest = operator_new(uVar17 * 0x14);\n      pvVar15 = (void *)in_EAX[0xb];\n    }\n    if (__src != pvVar6) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar15 != (void *)0x0) {\n      operator_delete(pvVar15);\n    }\n    in_EAX[0xb] = (int)__dest;\n    in_EAX[0xc] = __n + (int)__dest;\n    in_EAX[0xd] = (int)(uVar17 * 0x14 + (int)__dest);\n    iVar9 = in_EAX[10];\n    if (uVar17 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar17 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    local_70 = 0;\n    do {\n      puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8));\n      uVar17 = *puVar18;\n      uVar11 = puVar18[1];\n      if (uVar11 == 0x16) {\n        bVar2 = (byte)*local_74;\n        uVar11 = (uint)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      uVar10 = (int)local_74 - (int)puVar1;\n      iVar9 = uVar10 + in_EAX[2];\n      iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2]);\n      local_6c = CONCAT44(iVar14,iVar9);\n      attr_value.aux.shndx = 0;\n      attr_value.attr = uVar17;\n      attr_value.form = uVar11;\n      if (uVar11 == 0xe) {\n        piVar3 = *(int **)(*in_EAX + 8);\n        iVar5 = *piVar3;\n        pcVar4 = *(code **)(iVar5 + 0xc);\n        if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        attr_value.aux.shndx =\n             Dwarf_info_reader::lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);\n        attr_value.val.uintval._4_4_ = str_off._4_4_;\n        attr_value.val.stringval = (char *)str_off;\n        if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n        in_EAX[0x11] = attr_value.val.intval._4_4_;\n        in_EAX[0x10] = (int)attr_value.val.stringval;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;\n        (__position._M_current)->form = attr_value.form;\n        ((__position._M_current)->val).stringval = attr_value.val.stringval;\n        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;\n        (__position._M_current)->aux = attr_value.aux;\n        in_EAX[0xc] = (int)(__position._M_current + 1);\n      }\n      else {\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }\n      local_70 = local_70 + 8;\n      iVar9 = in_EAX[10];\n    } while (local_70 != iVar13);\n  }\n  if (iVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable((char *)(unaff_EDI + 0xf2cea),0x206,(char *)(unaff_EDI + 0xf2ef3));\n  }\nLAB_00174ef3:\n  uVar17 = (int)local_74 - (int)puVar1;\n  iVar13 = uVar17 + in_EAX[2];\n  iVar14 = ((int)uVar17 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar17,in_EAX[2]);\n  if ((*(byte *)(iVar9 + 4) & 1) == 0) {\n    in_EAX[8] = iVar13;\n    in_EAX[9] = iVar14;\n  }\n  else {\n    in_EAX[6] = iVar13;\n    in_EAX[7] = iVar14;\n  }\n  *(undefined1 *)(in_EAX + 0xe) = 1;\n  return true;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Dwarf_die::" identifier : : identifier : :) (function_declarator "read_attributes(Dwarf_die *this)" identifier (parameter_list "(Dwarf_die *this)" ( (parameter_declaration "Dwarf_die *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  uchar *puVar1;\n  byte bVar2;\n  Dwarf_info_reader *this_00;\n  void *__src;\n  int *piVar3;\n  code *pcVar4;\n  int iVar5;\n  void *pvVar6;\n  ushort uVar7;\n  char cVar8;\n  int *in_EAX;\n  int iVar9;\n  uint uVar10;\n  iterator __position;\n  uint uVar11;\n  size_t __n;\n  void *__dest;\n  undefined4 uVar12;\n  byte *buffer;\n  Valtype return_value;\n  int iVar13;\n  int iVar14;\n  void *pvVar15;\n  undefined4 uVar16;\n  uint uVar17;\n  int unaff_EDI;\n  uint *puVar18;\n  uint64_t uVar19;\n  anon_union_8_5_56ef6665_for_val aVar20;\n  uint *local_74;\n  int local_70;\n  undefined8 local_6c;\n  size_t len;\n  off_t str_off;\n  Attribute_value attr_value;\n  \n  iVar9 = __x86_get_pc_thunk_di();\n  iVar9 = *(int *)(iVar9 + 0x28);\n  if (iVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable((char *)(unaff_EDI + 0xf2c7a),0x2a9,(char *)(unaff_EDI + 0xf2f03));\n  }\n  this_00 = (Dwarf_info_reader *)*in_EAX;\n  iVar13 = (int)this_00->cu_offset_;\n  puVar1 = this_00->buffer_ + in_EAX[2] + iVar13;\n  if (this_00->buffer_ + iVar13 + (int)this_00->cu_length_ < puVar1 + 1) {\n    Dwarf_info_reader::warn_corrupt_debug_section(this_00);\n    return false;\n  }\n  if (puVar1 == (uchar *)0x0) {\n    return false;\n  }\n  iVar13 = *(int *)(iVar9 + 0xc) - *(int *)(iVar9 + 8);\n  local_74 = (uint *)(puVar1 + in_EAX[4]);\n  uVar17 = iVar13 >> 3;\n  if (0xccccccc < uVar17) {\n                    /* WARNING: Subroutine does not return */\n    std::__throw_length_error((char *)(unaff_EDI + 0xde53e));\n  }\n  __src = (void *)in_EAX[0xb];\n  if ((uint)((in_EAX[0xd] - (int)__src >> 2) * -0x33333333) < uVar17) {\n    pvVar6 = (void *)in_EAX[0xc];\n    __n = (int)pvVar6 - (int)__src;\n    if (uVar17 == 0) {\n      __dest = (void *)0x0;\n      pvVar15 = __src;\n    }\n    else {\n      __dest = operator_new(uVar17 * 0x14);\n      pvVar15 = (void *)in_EAX[0xb];\n    }\n    if (__src != pvVar6) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar15 != (void *)0x0) {\n      operator_delete(pvVar15);\n    }\n    in_EAX[0xb] = (int)__dest;\n    in_EAX[0xc] = __n + (int)__dest;\n    in_EAX[0xd] = (int)(uVar17 * 0x14 + (int)__dest);\n    iVar9 = in_EAX[10];\n    if (uVar17 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar17 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    local_70 = 0;\n    do {\n      puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8));\n      uVar17 = *puVar18;\n      uVar11 = puVar18[1];\n      if (uVar11 == 0x16) {\n        bVar2 = (byte)*local_74;\n        uVar11 = (uint)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      uVar10 = (int)local_74 - (int)puVar1;\n      iVar9 = uVar10 + in_EAX[2];\n      iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2]);\n      local_6c = CONCAT44(iVar14,iVar9);\n      attr_value.aux.shndx = 0;\n      attr_value.attr = uVar17;\n      attr_value.form = uVar11;\n      if (uVar11 == 0xe) {\n        piVar3 = *(int **)(*in_EAX + 8);\n        iVar5 = *piVar3;\n        pcVar4 = *(code **)(iVar5 + 0xc);\n        if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        attr_value.aux.shndx =\n             Dwarf_info_reader::lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);\n        attr_value.val.uintval._4_4_ = str_off._4_4_;\n        attr_value.val.stringval = (char *)str_off;\n        if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n        in_EAX[0x11] = attr_value.val.intval._4_4_;\n        in_EAX[0x10] = (int)attr_value.val.stringval;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;\n        (__position._M_current)->form = attr_value.form;\n        ((__position._M_current)->val).stringval = attr_value.val.stringval;\n        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;\n        (__position._M_current)->aux = attr_value.aux;\n        in_EAX[0xc] = (int)(__position._M_current + 1);\n      }\n      else {\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }\n      local_70 = local_70 + 8;\n      iVar9 = in_EAX[10];\n    } while (local_70 != iVar13);\n  }\n  if (iVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable((char *)(unaff_EDI + 0xf2cea),0x206,(char *)(unaff_EDI + 0xf2ef3));\n  }\nLAB_00174ef3:\n  uVar17 = (int)local_74 - (int)puVar1;\n  iVar13 = uVar17 + in_EAX[2];\n  iVar14 = ((int)uVar17 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar17,in_EAX[2]);\n  if ((*(byte *)(iVar9 + 4) & 1) == 0) {\n    in_EAX[8] = iVar13;\n    in_EAX[9] = iVar14;\n  }\n  else {\n    in_EAX[6] = iVar13;\n    in_EAX[7] = iVar14;\n  }\n  *(undefined1 *)(in_EAX + 0xe) = 1;\n  return true;\n}" { (declaration "uchar *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "Dwarf_info_reader *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "void *__src;" primitive_type (pointer_declarator "*__src" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "void *pvVar6;" primitive_type (pointer_declarator "*pvVar6" * identifier) ;) (declaration "ushort uVar7;" type_identifier identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "int *in_EAX;" primitive_type (pointer_declarator "*in_EAX" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "byte *buffer;" type_identifier (pointer_declarator "*buffer" * identifier) ;) (declaration "Valtype return_value;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "void *pvVar15;" primitive_type (pointer_declarator "*pvVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "uint *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint64_t uVar19;" primitive_type identifier ;) (declaration "anon_union_8_5_56ef6665_for_val aVar20;" type_identifier identifier ;) (declaration "uint *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined8 local_6c;" type_identifier identifier ;) (declaration "size_t len;" primitive_type identifier ;) (declaration "off_t str_off;" type_identifier identifier ;) (declaration "Attribute_value attr_value;" type_identifier identifier ;) (expression_statement "iVar9 = __x86_get_pc_thunk_di();" (assignment_expression "iVar9 = __x86_get_pc_thunk_di()" identifier = (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)(iVar9 + 0x28);" (assignment_expression "iVar9 = *(int *)(iVar9 + 0x28)" identifier = (pointer_expression "*(int *)(iVar9 + 0x28)" * (cast_expression "(int *)(iVar9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x28)" ( (binary_expression "iVar9 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable((char *)(unaff_EDI + 0xf2c7a),0x2a9,(char *)(unaff_EDI + 0xf2f03));\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable((char *)(unaff_EDI + 0xf2c7a),0x2a9,(char *)(unaff_EDI + 0xf2f03));\n  }" { comment (expression_statement "do_gold_unreachable((char *)(unaff_EDI + 0xf2c7a),0x2a9,(char *)(unaff_EDI + 0xf2f03));" (call_expression "do_gold_unreachable((char *)(unaff_EDI + 0xf2c7a),0x2a9,(char *)(unaff_EDI + 0xf2f03))" identifier (argument_list "((char *)(unaff_EDI + 0xf2c7a),0x2a9,(char *)(unaff_EDI + 0xf2f03))" ( (cast_expression "(char *)(unaff_EDI + 0xf2c7a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xf2c7a)" ( (binary_expression "unaff_EDI + 0xf2c7a" identifier + number_literal) ))) , number_literal , (cast_expression "(char *)(unaff_EDI + 0xf2f03)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xf2f03)" ( (binary_expression "unaff_EDI + 0xf2f03" identifier + number_literal) ))) ))) ;) })) (expression_statement "this_00 = (Dwarf_info_reader *)*in_EAX;" (assignment_expression "this_00 = (Dwarf_info_reader *)*in_EAX" identifier = (cast_expression "(Dwarf_info_reader *)*in_EAX" ( (type_descriptor "Dwarf_info_reader *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*in_EAX" * identifier))) ;) (expression_statement "iVar13 = (int)this_00->cu_offset_;" (assignment_expression "iVar13 = (int)this_00->cu_offset_" identifier = (cast_expression "(int)this_00->cu_offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "this_00->cu_offset_" identifier -> field_identifier))) ;) (expression_statement "puVar1 = this_00->buffer_ + in_EAX[2] + iVar13;" (assignment_expression "puVar1 = this_00->buffer_ + in_EAX[2] + iVar13" identifier = (binary_expression "this_00->buffer_ + in_EAX[2] + iVar13" (binary_expression "this_00->buffer_ + in_EAX[2]" (field_expression "this_00->buffer_" identifier -> field_identifier) + (subscript_expression "in_EAX[2]" identifier [ number_literal ])) + identifier)) ;) (if_statement "if (this_00->buffer_ + iVar13 + (int)this_00->cu_length_ < puVar1 + 1) {\n    Dwarf_info_reader::warn_corrupt_debug_section(this_00);\n    return false;\n  }" if (parenthesized_expression "(this_00->buffer_ + iVar13 + (int)this_00->cu_length_ < puVar1 + 1)" ( (binary_expression "this_00->buffer_ + iVar13 + (int)this_00->cu_length_ < puVar1 + 1" (binary_expression "this_00->buffer_ + iVar13 + (int)this_00->cu_length_" (binary_expression "this_00->buffer_ + iVar13" (field_expression "this_00->buffer_" identifier -> field_identifier) + identifier) + (cast_expression "(int)this_00->cu_length_" ( (type_descriptor "int" primitive_type) ) (field_expression "this_00->cu_length_" identifier -> field_identifier))) < (binary_expression "puVar1 + 1" identifier + number_literal)) )) (compound_statement "{\n    Dwarf_info_reader::warn_corrupt_debug_section(this_00);\n    return false;\n  }" { (labeled_statement "Dwarf_info_reader::warn_corrupt_debug_section(this_00);" statement_identifier : (ERROR ":" :) (expression_statement "warn_corrupt_debug_section(this_00);" (call_expression "warn_corrupt_debug_section(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;)) (return_statement "return false;" return false ;) })) (if_statement "if (puVar1 == (uchar *)0x0) {\n    return false;\n  }" if (parenthesized_expression "(puVar1 == (uchar *)0x0)" ( (binary_expression "puVar1 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return false;\n  }" { (return_statement "return false;" return false ;) })) (expression_statement "iVar13 = *(int *)(iVar9 + 0xc) - *(int *)(iVar9 + 8);" (assignment_expression "iVar13 = *(int *)(iVar9 + 0xc) - *(int *)(iVar9 + 8)" identifier = (binary_expression "*(int *)(iVar9 + 0xc) - *(int *)(iVar9 + 8)" (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar9 + 8)" * (cast_expression "(int *)(iVar9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) )))))) ;) (expression_statement "local_74 = (uint *)(puVar1 + in_EAX[4]);" (assignment_expression "local_74 = (uint *)(puVar1 + in_EAX[4])" identifier = (cast_expression "(uint *)(puVar1 + in_EAX[4])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + in_EAX[4])" ( (binary_expression "puVar1 + in_EAX[4]" identifier + (subscript_expression "in_EAX[4]" identifier [ number_literal ])) )))) ;) (expression_statement "uVar17 = iVar13 >> 3;" (assignment_expression "uVar17 = iVar13 >> 3" identifier = (binary_expression "iVar13 >> 3" identifier >> number_literal)) ;) (if_statement "if (0xccccccc < uVar17) {\n                    /* WARNING: Subroutine does not return */\n    std::__throw_length_error((char *)(unaff_EDI + 0xde53e));\n  }" if (parenthesized_expression "(0xccccccc < uVar17)" ( (binary_expression "0xccccccc < uVar17" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    std::__throw_length_error((char *)(unaff_EDI + 0xde53e));\n  }" { comment (labeled_statement "std::__throw_length_error((char *)(unaff_EDI + 0xde53e));" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error((char *)(unaff_EDI + 0xde53e));" (call_expression "__throw_length_error((char *)(unaff_EDI + 0xde53e))" identifier (argument_list "((char *)(unaff_EDI + 0xde53e))" ( (cast_expression "(char *)(unaff_EDI + 0xde53e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xde53e)" ( (binary_expression "unaff_EDI + 0xde53e" identifier + number_literal) ))) ))) ;)) })) (expression_statement "__src = (void *)in_EAX[0xb];" (assignment_expression "__src = (void *)in_EAX[0xb]" identifier = (cast_expression "(void *)in_EAX[0xb]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "in_EAX[0xb]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((in_EAX[0xd] - (int)__src >> 2) * -0x33333333) < uVar17) {\n    pvVar6 = (void *)in_EAX[0xc];\n    __n = (int)pvVar6 - (int)__src;\n    if (uVar17 == 0) {\n      __dest = (void *)0x0;\n      pvVar15 = __src;\n    }\n    else {\n      __dest = operator_new(uVar17 * 0x14);\n      pvVar15 = (void *)in_EAX[0xb];\n    }\n    if (__src != pvVar6) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar15 != (void *)0x0) {\n      operator_delete(pvVar15);\n    }\n    in_EAX[0xb] = (int)__dest;\n    in_EAX[0xc] = __n + (int)__dest;\n    in_EAX[0xd] = (int)(uVar17 * 0x14 + (int)__dest);\n    iVar9 = in_EAX[10];\n    if (uVar17 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar17 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    local_70 = 0;\n    do {\n      puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8));\n      uVar17 = *puVar18;\n      uVar11 = puVar18[1];\n      if (uVar11 == 0x16) {\n        bVar2 = (byte)*local_74;\n        uVar11 = (uint)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      uVar10 = (int)local_74 - (int)puVar1;\n      iVar9 = uVar10 + in_EAX[2];\n      iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2]);\n      local_6c = CONCAT44(iVar14,iVar9);\n      attr_value.aux.shndx = 0;\n      attr_value.attr = uVar17;\n      attr_value.form = uVar11;\n      if (uVar11 == 0xe) {\n        piVar3 = *(int **)(*in_EAX + 8);\n        iVar5 = *piVar3;\n        pcVar4 = *(code **)(iVar5 + 0xc);\n        if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        attr_value.aux.shndx =\n             Dwarf_info_reader::lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);\n        attr_value.val.uintval._4_4_ = str_off._4_4_;\n        attr_value.val.stringval = (char *)str_off;\n        if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n        in_EAX[0x11] = attr_value.val.intval._4_4_;\n        in_EAX[0x10] = (int)attr_value.val.stringval;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;\n        (__position._M_current)->form = attr_value.form;\n        ((__position._M_current)->val).stringval = attr_value.val.stringval;\n        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;\n        (__position._M_current)->aux = attr_value.aux;\n        in_EAX[0xc] = (int)(__position._M_current + 1);\n      }\n      else {\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }\n      local_70 = local_70 + 8;\n      iVar9 = in_EAX[10];\n    } while (local_70 != iVar13);\n  }" if (parenthesized_expression "((uint)((in_EAX[0xd] - (int)__src >> 2) * -0x33333333) < uVar17)" ( (binary_expression "(uint)((in_EAX[0xd] - (int)__src >> 2) * -0x33333333) < uVar17" (call_expression "(uint)((in_EAX[0xd] - (int)__src >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((in_EAX[0xd] - (int)__src >> 2) * -0x33333333)" ( (binary_expression "(in_EAX[0xd] - (int)__src >> 2) * -0x33333333" (parenthesized_expression "(in_EAX[0xd] - (int)__src >> 2)" ( (binary_expression "in_EAX[0xd] - (int)__src >> 2" (binary_expression "in_EAX[0xd] - (int)__src" (subscript_expression "in_EAX[0xd]" identifier [ number_literal ]) - (cast_expression "(int)__src" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) ))) < identifier) )) (compound_statement "{\n    pvVar6 = (void *)in_EAX[0xc];\n    __n = (int)pvVar6 - (int)__src;\n    if (uVar17 == 0) {\n      __dest = (void *)0x0;\n      pvVar15 = __src;\n    }\n    else {\n      __dest = operator_new(uVar17 * 0x14);\n      pvVar15 = (void *)in_EAX[0xb];\n    }\n    if (__src != pvVar6) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar15 != (void *)0x0) {\n      operator_delete(pvVar15);\n    }\n    in_EAX[0xb] = (int)__dest;\n    in_EAX[0xc] = __n + (int)__dest;\n    in_EAX[0xd] = (int)(uVar17 * 0x14 + (int)__dest);\n    iVar9 = in_EAX[10];\n    if (uVar17 != 0) goto LAB_00174b7e;\n  }" { (expression_statement "pvVar6 = (void *)in_EAX[0xc];" (assignment_expression "pvVar6 = (void *)in_EAX[0xc]" identifier = (cast_expression "(void *)in_EAX[0xc]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "in_EAX[0xc]" identifier [ number_literal ]))) ;) (expression_statement "__n = (int)pvVar6 - (int)__src;" (assignment_expression "__n = (int)pvVar6 - (int)__src" identifier = (binary_expression "(int)pvVar6 - (int)__src" (cast_expression "(int)pvVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__src" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (uVar17 == 0) {\n      __dest = (void *)0x0;\n      pvVar15 = __src;\n    }\n    else {\n      __dest = operator_new(uVar17 * 0x14);\n      pvVar15 = (void *)in_EAX[0xb];\n    }" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (compound_statement "{\n      __dest = (void *)0x0;\n      pvVar15 = __src;\n    }" { (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pvVar15 = __src;" (assignment_expression "pvVar15 = __src" identifier = identifier) ;) }) (else_clause "else {\n      __dest = operator_new(uVar17 * 0x14);\n      pvVar15 = (void *)in_EAX[0xb];\n    }" else (compound_statement "{\n      __dest = operator_new(uVar17 * 0x14);\n      pvVar15 = (void *)in_EAX[0xb];\n    }" { (expression_statement "__dest = operator_new(uVar17 * 0x14);" (assignment_expression "__dest = operator_new(uVar17 * 0x14)" identifier = (call_expression "operator_new(uVar17 * 0x14)" identifier (argument_list "(uVar17 * 0x14)" ( (binary_expression "uVar17 * 0x14" identifier * number_literal) )))) ;) (expression_statement "pvVar15 = (void *)in_EAX[0xb];" (assignment_expression "pvVar15 = (void *)in_EAX[0xb]" identifier = (cast_expression "(void *)in_EAX[0xb]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "in_EAX[0xb]" identifier [ number_literal ]))) ;) }))) (if_statement "if (__src != pvVar6) {\n      memmove(__dest,__src,__n);\n    }" if (parenthesized_expression "(__src != pvVar6)" ( (binary_expression "__src != pvVar6" identifier != identifier) )) (compound_statement "{\n      memmove(__dest,__src,__n);\n    }" { (expression_statement "memmove(__dest,__src,__n);" (call_expression "memmove(__dest,__src,__n)" identifier (argument_list "(__dest,__src,__n)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (pvVar15 != (void *)0x0) {\n      operator_delete(pvVar15);\n    }" if (parenthesized_expression "(pvVar15 != (void *)0x0)" ( (binary_expression "pvVar15 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      operator_delete(pvVar15);\n    }" { (expression_statement "operator_delete(pvVar15);" (call_expression "operator_delete(pvVar15)" identifier (argument_list "(pvVar15)" ( identifier ))) ;) })) (expression_statement "in_EAX[0xb] = (int)__dest;" (assignment_expression "in_EAX[0xb] = (int)__dest" (subscript_expression "in_EAX[0xb]" identifier [ number_literal ]) = (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "in_EAX[0xc] = __n + (int)__dest;" (assignment_expression "in_EAX[0xc] = __n + (int)__dest" (subscript_expression "in_EAX[0xc]" identifier [ number_literal ]) = (binary_expression "__n + (int)__dest" identifier + (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "in_EAX[0xd] = (int)(uVar17 * 0x14 + (int)__dest);" (assignment_expression "in_EAX[0xd] = (int)(uVar17 * 0x14 + (int)__dest)" (subscript_expression "in_EAX[0xd]" identifier [ number_literal ]) = (cast_expression "(int)(uVar17 * 0x14 + (int)__dest)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar17 * 0x14 + (int)__dest)" ( (binary_expression "uVar17 * 0x14 + (int)__dest" (binary_expression "uVar17 * 0x14" identifier * number_literal) + (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar9 = in_EAX[10];" (assignment_expression "iVar9 = in_EAX[10]" identifier = (subscript_expression "in_EAX[10]" identifier [ number_literal ])) ;) (if_statement "if (uVar17 != 0) goto LAB_00174b7e;" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00174b7e;" goto statement_identifier ;)) }) (else_clause "else {\n    if (uVar17 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    local_70 = 0;\n    do {\n      puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8));\n      uVar17 = *puVar18;\n      uVar11 = puVar18[1];\n      if (uVar11 == 0x16) {\n        bVar2 = (byte)*local_74;\n        uVar11 = (uint)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      uVar10 = (int)local_74 - (int)puVar1;\n      iVar9 = uVar10 + in_EAX[2];\n      iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2]);\n      local_6c = CONCAT44(iVar14,iVar9);\n      attr_value.aux.shndx = 0;\n      attr_value.attr = uVar17;\n      attr_value.form = uVar11;\n      if (uVar11 == 0xe) {\n        piVar3 = *(int **)(*in_EAX + 8);\n        iVar5 = *piVar3;\n        pcVar4 = *(code **)(iVar5 + 0xc);\n        if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        attr_value.aux.shndx =\n             Dwarf_info_reader::lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);\n        attr_value.val.uintval._4_4_ = str_off._4_4_;\n        attr_value.val.stringval = (char *)str_off;\n        if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n        in_EAX[0x11] = attr_value.val.intval._4_4_;\n        in_EAX[0x10] = (int)attr_value.val.stringval;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;\n        (__position._M_current)->form = attr_value.form;\n        ((__position._M_current)->val).stringval = attr_value.val.stringval;\n        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;\n        (__position._M_current)->aux = attr_value.aux;\n        in_EAX[0xc] = (int)(__position._M_current + 1);\n      }\n      else {\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }\n      local_70 = local_70 + 8;\n      iVar9 = in_EAX[10];\n    } while (local_70 != iVar13);\n  }" else (compound_statement "{\n    if (uVar17 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    local_70 = 0;\n    do {\n      puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8));\n      uVar17 = *puVar18;\n      uVar11 = puVar18[1];\n      if (uVar11 == 0x16) {\n        bVar2 = (byte)*local_74;\n        uVar11 = (uint)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      uVar10 = (int)local_74 - (int)puVar1;\n      iVar9 = uVar10 + in_EAX[2];\n      iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2]);\n      local_6c = CONCAT44(iVar14,iVar9);\n      attr_value.aux.shndx = 0;\n      attr_value.attr = uVar17;\n      attr_value.form = uVar11;\n      if (uVar11 == 0xe) {\n        piVar3 = *(int **)(*in_EAX + 8);\n        iVar5 = *piVar3;\n        pcVar4 = *(code **)(iVar5 + 0xc);\n        if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        attr_value.aux.shndx =\n             Dwarf_info_reader::lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);\n        attr_value.val.uintval._4_4_ = str_off._4_4_;\n        attr_value.val.stringval = (char *)str_off;\n        if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n        in_EAX[0x11] = attr_value.val.intval._4_4_;\n        in_EAX[0x10] = (int)attr_value.val.stringval;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;\n        (__position._M_current)->form = attr_value.form;\n        ((__position._M_current)->val).stringval = attr_value.val.stringval;\n        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;\n        (__position._M_current)->aux = attr_value.aux;\n        in_EAX[0xc] = (int)(__position._M_current + 1);\n      }\n      else {\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }\n      local_70 = local_70 + 8;\n      iVar9 = in_EAX[10];\n    } while (local_70 != iVar13);\n  }" { (if_statement "if (uVar17 == 0) goto LAB_00174ef3;" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00174ef3;" goto statement_identifier ;)) (labeled_statement "LAB_00174b7e:\n    local_70 = 0;" statement_identifier : (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;)) (do_statement "do {\n      puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8));\n      uVar17 = *puVar18;\n      uVar11 = puVar18[1];\n      if (uVar11 == 0x16) {\n        bVar2 = (byte)*local_74;\n        uVar11 = (uint)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      uVar10 = (int)local_74 - (int)puVar1;\n      iVar9 = uVar10 + in_EAX[2];\n      iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2]);\n      local_6c = CONCAT44(iVar14,iVar9);\n      attr_value.aux.shndx = 0;\n      attr_value.attr = uVar17;\n      attr_value.form = uVar11;\n      if (uVar11 == 0xe) {\n        piVar3 = *(int **)(*in_EAX + 8);\n        iVar5 = *piVar3;\n        pcVar4 = *(code **)(iVar5 + 0xc);\n        if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        attr_value.aux.shndx =\n             Dwarf_info_reader::lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);\n        attr_value.val.uintval._4_4_ = str_off._4_4_;\n        attr_value.val.stringval = (char *)str_off;\n        if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n        in_EAX[0x11] = attr_value.val.intval._4_4_;\n        in_EAX[0x10] = (int)attr_value.val.stringval;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;\n        (__position._M_current)->form = attr_value.form;\n        ((__position._M_current)->val).stringval = attr_value.val.stringval;\n        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;\n        (__position._M_current)->aux = attr_value.aux;\n        in_EAX[0xc] = (int)(__position._M_current + 1);\n      }\n      else {\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }\n      local_70 = local_70 + 8;\n      iVar9 = in_EAX[10];\n    } while (local_70 != iVar13);" do (compound_statement "{\n      puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8));\n      uVar17 = *puVar18;\n      uVar11 = puVar18[1];\n      if (uVar11 == 0x16) {\n        bVar2 = (byte)*local_74;\n        uVar11 = (uint)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      uVar10 = (int)local_74 - (int)puVar1;\n      iVar9 = uVar10 + in_EAX[2];\n      iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2]);\n      local_6c = CONCAT44(iVar14,iVar9);\n      attr_value.aux.shndx = 0;\n      attr_value.attr = uVar17;\n      attr_value.form = uVar11;\n      if (uVar11 == 0xe) {\n        piVar3 = *(int **)(*in_EAX + 8);\n        iVar5 = *piVar3;\n        pcVar4 = *(code **)(iVar5 + 0xc);\n        if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        attr_value.aux.shndx =\n             Dwarf_info_reader::lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);\n        attr_value.val.uintval._4_4_ = str_off._4_4_;\n        attr_value.val.stringval = (char *)str_off;\n        if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n        in_EAX[0x11] = attr_value.val.intval._4_4_;\n        in_EAX[0x10] = (int)attr_value.val.stringval;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;\n        (__position._M_current)->form = attr_value.form;\n        ((__position._M_current)->val).stringval = attr_value.val.stringval;\n        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;\n        (__position._M_current)->aux = attr_value.aux;\n        in_EAX[0xc] = (int)(__position._M_current + 1);\n      }\n      else {\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }\n      local_70 = local_70 + 8;\n      iVar9 = in_EAX[10];\n    }" { (expression_statement "puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8));" (assignment_expression "puVar18 = (uint *)(local_70 + *(int *)(iVar9 + 8))" identifier = (cast_expression "(uint *)(local_70 + *(int *)(iVar9 + 8))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 + *(int *)(iVar9 + 8))" ( (binary_expression "local_70 + *(int *)(iVar9 + 8)" identifier + (pointer_expression "*(int *)(iVar9 + 8)" * (cast_expression "(int *)(iVar9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "uVar17 = *puVar18;" (assignment_expression "uVar17 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (expression_statement "uVar11 = puVar18[1];" (assignment_expression "uVar11 = puVar18[1]" identifier = (subscript_expression "puVar18[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar11 == 0x16) {\n        bVar2 = (byte)*local_74;\n        uVar11 = (uint)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }" if (parenthesized_expression "(uVar11 == 0x16)" ( (binary_expression "uVar11 == 0x16" identifier == number_literal) )) (compound_statement "{\n        bVar2 = (byte)*local_74;\n        uVar11 = (uint)bVar2;\n        if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }" { (expression_statement "bVar2 = (byte)*local_74;" (assignment_expression "bVar2 = (byte)*local_74" identifier = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;) (expression_statement "uVar11 = (uint)bVar2;" (assignment_expression "uVar11 = (uint)bVar2" identifier = (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar2 < '\0') {\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }\n        else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" if (parenthesized_expression "((char)bVar2 < '\0')" ( (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n          uVar11 = (uint)uVar19;\n          local_74 = (uint *)((int)local_74 + len);\n        }" { (expression_statement "uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);" (assignment_expression "uVar19 = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2)" identifier = (call_expression "read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2)" identifier (argument_list "((uchar *)((int)local_74 + 1),&len,bVar2)" ( (cast_expression "(uchar *)((int)local_74 + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (pointer_expression "&len" & identifier) , identifier )))) ;) (expression_statement "uVar11 = (uint)uVar19;" (assignment_expression "uVar11 = (uint)uVar19" identifier = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_74 = (uint *)((int)local_74 + len);" (assignment_expression "local_74 = (uint *)((int)local_74 + len)" identifier = (cast_expression "(uint *)((int)local_74 + len)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + len)" ( (binary_expression "(int)local_74 + len" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" else (compound_statement "{\n          len = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" { (expression_statement "len = 1;" (assignment_expression "len = 1" identifier = number_literal) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) })) (expression_statement "uVar10 = (int)local_74 - (int)puVar1;" (assignment_expression "uVar10 = (int)local_74 - (int)puVar1" identifier = (binary_expression "(int)local_74 - (int)puVar1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar9 = uVar10 + in_EAX[2];" (assignment_expression "iVar9 = uVar10 + in_EAX[2]" identifier = (binary_expression "uVar10 + in_EAX[2]" identifier + (subscript_expression "in_EAX[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2]);" (assignment_expression "iVar14 = ((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2])" identifier = (binary_expression "((int)uVar10 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar10,in_EAX[2])" (binary_expression "((int)uVar10 >> 0x1f) + in_EAX[3]" (parenthesized_expression "((int)uVar10 >> 0x1f)" ( (binary_expression "(int)uVar10 >> 0x1f" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (subscript_expression "in_EAX[3]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar10,in_EAX[2])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar10,in_EAX[2])" identifier (argument_list "(uVar10,in_EAX[2])" ( identifier , (subscript_expression "in_EAX[2]" identifier [ number_literal ]) )))))) ;) (expression_statement "local_6c = CONCAT44(iVar14,iVar9);" (assignment_expression "local_6c = CONCAT44(iVar14,iVar9)" identifier = (call_expression "CONCAT44(iVar14,iVar9)" identifier (argument_list "(iVar14,iVar9)" ( identifier , identifier )))) ;) (expression_statement "attr_value.aux.shndx = 0;" (assignment_expression "attr_value.aux.shndx = 0" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "attr_value.attr = uVar17;" (assignment_expression "attr_value.attr = uVar17" (field_expression "attr_value.attr" identifier . field_identifier) = identifier) ;) (expression_statement "attr_value.form = uVar11;" (assignment_expression "attr_value.form = uVar11" (field_expression "attr_value.form" identifier . field_identifier) = identifier) ;) (if_statement "if (uVar11 == 0xe) {\n        piVar3 = *(int **)(*in_EAX + 8);\n        iVar5 = *piVar3;\n        pcVar4 = *(code **)(iVar5 + 0xc);\n        if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        attr_value.aux.shndx =\n             Dwarf_info_reader::lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);\n        attr_value.val.uintval._4_4_ = str_off._4_4_;\n        attr_value.val.stringval = (char *)str_off;\n        if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n        in_EAX[0x11] = attr_value.val.intval._4_4_;\n        in_EAX[0x10] = (int)attr_value.val.stringval;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;\n        (__position._M_current)->form = attr_value.form;\n        ((__position._M_current)->val).stringval = attr_value.val.stringval;\n        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;\n        (__position._M_current)->aux = attr_value.aux;\n        in_EAX[0xc] = (int)(__position._M_current + 1);\n      }\n      else {\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }" if (parenthesized_expression "(uVar11 == 0xe)" ( (binary_expression "uVar11 == 0xe" identifier == number_literal) )) (compound_statement "{\n        piVar3 = *(int **)(*in_EAX + 8);\n        iVar5 = *piVar3;\n        pcVar4 = *(code **)(iVar5 + 0xc);\n        if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        attr_value.aux.shndx =\n             Dwarf_info_reader::lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);\n        attr_value.val.uintval._4_4_ = str_off._4_4_;\n        attr_value.val.stringval = (char *)str_off;\n        if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n        in_EAX[0x11] = attr_value.val.intval._4_4_;\n        in_EAX[0x10] = (int)attr_value.val.stringval;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;\n        (__position._M_current)->form = attr_value.form;\n        ((__position._M_current)->val).stringval = attr_value.val.stringval;\n        *(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;\n        (__position._M_current)->aux = attr_value.aux;\n        in_EAX[0xc] = (int)(__position._M_current + 1);\n      }" { (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "iVar5 = *piVar3;" (assignment_expression "iVar5 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "pcVar4 = *(code **)(iVar5 + 0xc);" (assignment_expression "pcVar4 = *(code **)(iVar5 + 0xc)" identifier = (pointer_expression "*(code **)(iVar5 + 0xc)" * (cast_expression "(code **)(iVar5 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*in_EAX + 0x44) == 4) {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" if (parenthesized_expression "(*(int *)(*in_EAX + 0x44) == 4)" ( (binary_expression "*(int *)(*in_EAX + 0x44) == 4" (pointer_expression "*(int *)(*in_EAX + 0x44)" * (cast_expression "(int *)(*in_EAX + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_EAX + 0x44)" ( (binary_expression "*in_EAX + 0x44" (pointer_expression "*in_EAX" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          str_off._4_4_ = 0;\n          if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }" { (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }" { (expression_statement "cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(iVar5 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(iVar5 + 0xe8))" ( (pointer_expression "**(code **)(iVar5 + 0xe8)" * (pointer_expression "*(code **)(iVar5 + 0xe8)" * (cast_expression "(code **)(iVar5 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0xe8)" ( (binary_expression "iVar5 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n            cVar8 = (*pcVar4)(piVar3);\n          }" else (compound_statement "{\n            cVar8 = (*pcVar4)(piVar3);\n          }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "str_off._0_4_ = (char *)*local_74;" (assignment_expression "str_off._0_4_ = (char *)*local_74" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "str_off._4_4_ = 0;" (assignment_expression "str_off._4_4_ = 0" (field_expression "str_off._4_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if (cVar8 != '\0') {\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n          }" { (expression_statement "str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);" (assignment_expression "str_off._0_4_ =\n                 (char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18)" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18)" ( (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                          ((uint)(char *)str_off & 0xff00) << 8" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8" (binary_expression "(uint)(char *)str_off >> 0x18" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(char *)str_off & 0xff0000) >> 8" (parenthesized_expression "((uint)(char *)str_off & 0xff0000)" ( (binary_expression "(uint)(char *)str_off & 0xff0000" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(char *)str_off & 0xff00) << 8" (parenthesized_expression "((uint)(char *)str_off & 0xff00)" ( (binary_expression "(uint)(char *)str_off & 0xff00" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(char *)str_off << 0x18" (cast_expression "(int)(char *)str_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" else (compound_statement "{\n          if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }\n          str_off._0_4_ = (char *)*local_74;\n          uVar11 = local_74[1];\n          str_off._4_4_ = uVar11;\n          if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" { (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }\n          else {\n            cVar8 = (*pcVar4)(piVar3);\n          }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n            cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);\n          }" { (expression_statement "cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(iVar5 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(iVar5 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(iVar5 + 0xe8))" ( (pointer_expression "**(code **)(iVar5 + 0xe8)" * (pointer_expression "*(code **)(iVar5 + 0xe8)" * (cast_expression "(code **)(iVar5 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0xe8)" ( (binary_expression "iVar5 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n            cVar8 = (*pcVar4)(piVar3);\n          }" else (compound_statement "{\n            cVar8 = (*pcVar4)(piVar3);\n          }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "str_off._0_4_ = (char *)*local_74;" (assignment_expression "str_off._0_4_ = (char *)*local_74" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "str_off._4_4_ = uVar11;" (assignment_expression "str_off._4_4_ = uVar11" (field_expression "str_off._4_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (cVar8 != '\0') {\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n            str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);\n          }" { (expression_statement "str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;" (assignment_expression "str_off._4_4_ =\n                 (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (field_expression "str_off._4_4_" identifier . field_identifier) = (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                 ((uint)(char *)str_off & 0xff00) << 8" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8" (binary_expression "(uint)(char *)str_off >> 0x18" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(char *)str_off & 0xff0000) >> 8" (parenthesized_expression "((uint)(char *)str_off & 0xff0000)" ( (binary_expression "(uint)(char *)str_off & 0xff0000" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(char *)str_off & 0xff00) << 8" (parenthesized_expression "((uint)(char *)str_off & 0xff00)" ( (binary_expression "(uint)(char *)str_off & 0xff00" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(char *)str_off << 0x18" (cast_expression "(int)(char *)str_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal))) ;) (expression_statement "str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18);" (assignment_expression "str_off._0_4_ =\n                 (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18)" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                         uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (ERROR "attr_value.aux.shndx =\n             Dwarf_info_reader::" (assignment_expression "attr_value.aux.shndx =\n             Dwarf_info_reader" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) = identifier) : :) (expression_statement "lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off);" (call_expression "lookup_reloc\n                       ((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off)" identifier (argument_list "((Dwarf_info_reader *)*in_EAX,CONCAT44(iVar14,iVar9),&str_off)" ( (cast_expression "(Dwarf_info_reader *)*in_EAX" ( (type_descriptor "Dwarf_info_reader *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*in_EAX" * identifier)) , (call_expression "CONCAT44(iVar14,iVar9)" identifier (argument_list "(iVar14,iVar9)" ( identifier , identifier ))) , (pointer_expression "&str_off" & identifier) ))) ;) (expression_statement "attr_value.val.uintval._4_4_ = str_off._4_4_;" (assignment_expression "attr_value.val.uintval._4_4_ = str_off._4_4_" (field_expression "attr_value.val.uintval._4_4_" (field_expression "attr_value.val.uintval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (field_expression "str_off._4_4_" identifier . field_identifier)) ;) (expression_statement "attr_value.val.stringval = (char *)str_off;" (assignment_expression "attr_value.val.stringval = (char *)str_off" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar17 != 3) {\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }" if (parenthesized_expression "(uVar17 != 3)" ( (binary_expression "uVar17 != 3" identifier != number_literal) )) (compound_statement "{\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;\n          in_EAX[0x13] = (int)uVar12;\n          in_EAX[0x14] = uVar16;\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          goto LAB_00174ea0;\n        }" { (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (if_statement "if ((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))) goto LAB_00174ea0;" if (parenthesized_expression "((uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007))))" ( (binary_expression "(uVar17 < 4) ||\n             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))" (parenthesized_expression "(uVar17 < 4)" ( (binary_expression "uVar17 < 4" identifier < number_literal) )) || (parenthesized_expression "((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)))" ( (parenthesized_expression "(uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007))" ( (comma_expression "uVar12 = (char *)str_off, uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)" (assignment_expression "uVar12 = (char *)str_off" identifier = (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (comma_expression "uVar16 = str_off._4_4_, uVar17 != 0x6e &&\n              (uVar17 != 0x2007)" (assignment_expression "uVar16 = str_off._4_4_" identifier = (field_expression "str_off._4_4_" identifier . field_identifier)) , (binary_expression "uVar17 != 0x6e &&\n              (uVar17 != 0x2007)" (binary_expression "uVar17 != 0x6e" identifier != number_literal) && (parenthesized_expression "(uVar17 != 0x2007)" ( (binary_expression "uVar17 != 0x2007" identifier != number_literal) ))))) )) ))) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (labeled_statement "LAB_00175373:\n          *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;" statement_identifier : (expression_statement "*(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;" (assignment_expression "*(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux" (pointer_expression "*(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15)" * (cast_expression "(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15)" ( (type_descriptor "anon_union_4_3_97895b06_for_aux *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_EAX + 0x15)" ( (binary_expression "in_EAX + 0x15" identifier + number_literal) )))) = (field_expression "attr_value.aux" identifier . field_identifier)) ;)) (expression_statement "in_EAX[0x13] = (int)uVar12;" (assignment_expression "in_EAX[0x13] = (int)uVar12" (subscript_expression "in_EAX[0x13]" identifier [ number_literal ]) = (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "in_EAX[0x14] = uVar16;" (assignment_expression "in_EAX[0x14] = uVar16" (subscript_expression "in_EAX[0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;) })) (labeled_statement "LAB_00174c9a:\n        *(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;" statement_identifier : (expression_statement "*(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux;" (assignment_expression "*(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15) = attr_value.aux" (pointer_expression "*(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15)" * (cast_expression "(anon_union_4_3_97895b06_for_aux *)(in_EAX + 0x15)" ( (type_descriptor "anon_union_4_3_97895b06_for_aux *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_EAX + 0x15)" ( (binary_expression "in_EAX + 0x15" identifier + number_literal) )))) = (field_expression "attr_value.aux" identifier . field_identifier)) ;)) (expression_statement "in_EAX[0x11] = attr_value.val.intval._4_4_;" (assignment_expression "in_EAX[0x11] = attr_value.val.intval._4_4_" (subscript_expression "in_EAX[0x11]" identifier [ number_literal ]) = (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "in_EAX[0x10] = (int)attr_value.val.stringval;" (assignment_expression "in_EAX[0x10] = (int)attr_value.val.stringval" (subscript_expression "in_EAX[0x10]" identifier [ number_literal ]) = (cast_expression "(int)attr_value.val.stringval" ( (type_descriptor "int" primitive_type) ) (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier))) ;) (expression_statement "__position._M_current = (Attribute_value *)in_EAX[0xc];" (assignment_expression "__position._M_current = (Attribute_value *)in_EAX[0xc]" (field_expression "__position._M_current" identifier . field_identifier) = (cast_expression "(Attribute_value *)in_EAX[0xc]" ( (type_descriptor "Attribute_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "in_EAX[0xc]" identifier [ number_literal ]))) ;) (if_statement "if (__position._M_current == (Attribute_value *)in_EAX[0xd]) goto LAB_00174cc0;" if (parenthesized_expression "(__position._M_current == (Attribute_value *)in_EAX[0xd])" ( (binary_expression "__position._M_current == (Attribute_value *)in_EAX[0xd]" (field_expression "__position._M_current" identifier . field_identifier) == (cast_expression "(Attribute_value *)in_EAX[0xd]" ( (type_descriptor "Attribute_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "in_EAX[0xd]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_00174cc0;" goto statement_identifier ;)) (labeled_statement "LAB_00174eac:\n        (__position._M_current)->attr = attr_value.attr;" statement_identifier : (expression_statement "(__position._M_current)->attr = attr_value.attr;" (assignment_expression "(__position._M_current)->attr = attr_value.attr" (field_expression "(__position._M_current)->attr" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "attr_value.attr" identifier . field_identifier)) ;)) (expression_statement "(__position._M_current)->form = attr_value.form;" (assignment_expression "(__position._M_current)->form = attr_value.form" (field_expression "(__position._M_current)->form" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "attr_value.form" identifier . field_identifier)) ;) (expression_statement "((__position._M_current)->val).stringval = attr_value.val.stringval;" (assignment_expression "((__position._M_current)->val).stringval = attr_value.val.stringval" (field_expression "((__position._M_current)->val).stringval" (parenthesized_expression "((__position._M_current)->val)" ( (field_expression "(__position._M_current)->val" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;" (assignment_expression "*(undefined4 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_" (pointer_expression "*(undefined4 *)((int)&(__position._M_current)->val + 4)" * (cast_expression "(undefined4 *)((int)&(__position._M_current)->val + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(__position._M_current)->val + 4)" ( (binary_expression "(int)&(__position._M_current)->val + 4" (cast_expression "(int)&(__position._M_current)->val" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(__position._M_current)->val" & (field_expression "(__position._M_current)->val" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier))) + number_literal) )))) = (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(__position._M_current)->aux = attr_value.aux;" (assignment_expression "(__position._M_current)->aux = attr_value.aux" (field_expression "(__position._M_current)->aux" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = (field_expression "attr_value.aux" identifier . field_identifier)) ;) (expression_statement "in_EAX[0xc] = (int)(__position._M_current + 1);" (assignment_expression "in_EAX[0xc] = (int)(__position._M_current + 1)" (subscript_expression "in_EAX[0xc]" identifier [ number_literal ]) = (cast_expression "(int)(__position._M_current + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(__position._M_current + 1)" ( (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal) )))) ;) }) (else_clause "else {\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }" else (compound_statement "{\n        if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        attr_value.val = aVar20;\n        local_74 = puVar18;\n        __position._M_current = (Attribute_value *)in_EAX[0xc];\n        if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);\n      }" { (if_statement "if (uVar11 < 0xf) {\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }\n        else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }" if (parenthesized_expression "(uVar11 < 0xf)" ( (binary_expression "uVar11 < 0xf" identifier < number_literal) )) (compound_statement "{\n          if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n        }" { (if_statement "if (uVar11 == 7) {\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }\n          else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }" if (parenthesized_expression "(uVar11 == 7)" ( (binary_expression "uVar11 == 7" identifier == number_literal) )) (compound_statement "{\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            str_off._0_4_ = (char *)*local_74;\n            uVar10 = local_74[1];\n            str_off._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n            attr_value.val.intval._4_4_ = str_off._4_4_;\n            attr_value.val.stringval = (char *)str_off;\njoined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }\n          }" { (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xc);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xc)" * (cast_expression "(code **)(*piVar3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xc)" ( (binary_expression "*piVar3 + 0xc" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }" { (expression_statement "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(*piVar3 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(*piVar3 + 0xe8))" ( (pointer_expression "**(code **)(*piVar3 + 0xe8)" * (pointer_expression "*(code **)(*piVar3 + 0xe8)" * (cast_expression "(code **)(*piVar3 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xe8)" ( (binary_expression "*piVar3 + 0xe8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n              cVar8 = (*pcVar4)(piVar3);\n            }" else (compound_statement "{\n              cVar8 = (*pcVar4)(piVar3);\n            }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "str_off._0_4_ = (char *)*local_74;" (assignment_expression "str_off._0_4_ = (char *)*local_74" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar10 = local_74[1];" (assignment_expression "uVar10 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "str_off._4_4_ = uVar10;" (assignment_expression "str_off._4_4_ = uVar10" (field_expression "str_off._4_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (cVar8 != '\0') {\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n              str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }" { (expression_statement "str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;" (assignment_expression "str_off._4_4_ =\n                   (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (field_expression "str_off._4_4_" identifier . field_identifier) = (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                   ((uint)(char *)str_off & 0xff00) << 8" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8" (binary_expression "(uint)(char *)str_off >> 0x18" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(char *)str_off & 0xff0000) >> 8" (parenthesized_expression "((uint)(char *)str_off & 0xff0000)" ( (binary_expression "(uint)(char *)str_off & 0xff0000" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(char *)str_off & 0xff00) << 8" (parenthesized_expression "((uint)(char *)str_off & 0xff00)" ( (binary_expression "(uint)(char *)str_off & 0xff00" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(char *)str_off << 0x18" (cast_expression "(int)(char *)str_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal))) ;) (expression_statement "str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);" (assignment_expression "str_off._0_4_ =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18)" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18)" ( (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_0017561e:\n            attr_value.aux.shndx =\n                 Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);" statement_identifier : (ERROR "attr_value.aux.shndx =\n                 Dwarf_info_reader::" (assignment_expression "attr_value.aux.shndx =\n                 Dwarf_info_reader" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) = identifier) : :) (expression_statement "lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);" (call_expression "lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)" identifier (argument_list "((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)" ( (cast_expression "(Dwarf_info_reader *)*in_EAX" ( (type_descriptor "Dwarf_info_reader *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*in_EAX" * identifier)) , identifier , (pointer_expression "&str_off" & identifier) ))) ;)) (expression_statement "attr_value.val.intval._4_4_ = str_off._4_4_;" (assignment_expression "attr_value.val.intval._4_4_ = str_off._4_4_" (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (field_expression "str_off._4_4_" identifier . field_identifier)) ;) (expression_statement "attr_value.val.stringval = (char *)str_off;" (assignment_expression "attr_value.val.stringval = (char *)str_off" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "joined_r0x001751d3:\n            if (uVar17 == 3) goto LAB_00174c88;" statement_identifier : (if_statement "if (uVar17 == 3) goto LAB_00174c88;" if (parenthesized_expression "(uVar17 == 3)" ( (binary_expression "uVar17 == 3" identifier == number_literal) )) (goto_statement "goto LAB_00174c88;" goto statement_identifier ;))) (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (if_statement "if ((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))) {\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }" if (parenthesized_expression "((3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007))))" ( (binary_expression "(3 < uVar17) && ((uVar17 == 0x6e || (uVar17 == 0x2007)))" (parenthesized_expression "(3 < uVar17)" ( (binary_expression "3 < uVar17" number_literal < identifier) )) && (parenthesized_expression "((uVar17 == 0x6e || (uVar17 == 0x2007)))" ( (parenthesized_expression "(uVar17 == 0x6e || (uVar17 == 0x2007))" ( (binary_expression "uVar17 == 0x6e || (uVar17 == 0x2007)" (binary_expression "uVar17 == 0x6e" identifier == number_literal) || (parenthesized_expression "(uVar17 == 0x2007)" ( (binary_expression "uVar17 == 0x2007" identifier == number_literal) ))) )) ))) )) (compound_statement "{\nLAB_001751f0:\n              uVar12 = attr_value.val.stringval;\n              puVar18 = local_74;\n              if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }\n            }" { (labeled_statement "LAB_001751f0:\n              uVar12 = attr_value.val.stringval;" statement_identifier : (expression_statement "uVar12 = attr_value.val.stringval;" (assignment_expression "uVar12 = attr_value.val.stringval" identifier = (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier)) ;)) (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;) (if_statement "if (uVar11 == 8) {\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }\n              else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }" if (parenthesized_expression "(uVar11 == 8)" ( (binary_expression "uVar11 == 8" identifier == number_literal) )) (compound_statement "{\nLAB_00175220:\n                local_74 = puVar18;\n                in_EAX[0x12] = (int)uVar12;\n                puVar18 = local_74;\n                aVar20 = attr_value.val;\n              }" { (labeled_statement "LAB_00175220:\n                local_74 = puVar18;" statement_identifier : (expression_statement "local_74 = puVar18;" (assignment_expression "local_74 = puVar18" identifier = identifier) ;)) (expression_statement "in_EAX[0x12] = (int)uVar12;" (assignment_expression "in_EAX[0x12] = (int)uVar12" (subscript_expression "in_EAX[0x12]" identifier [ number_literal ]) = (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) }) (else_clause "else {\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }" else (compound_statement "{\n                aVar20 = attr_value.val;\n                if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }\n              }" { (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (if_statement "if (uVar11 == 0xe) {\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }" if (parenthesized_expression "(uVar11 == 0xe)" ( (binary_expression "uVar11 == 0xe" identifier == number_literal) )) (compound_statement "{\n                  uVar16 = attr_value.val.intval._4_4_;\n                  goto LAB_00175373;\n                }" { (expression_statement "uVar16 = attr_value.val.intval._4_4_;" (assignment_expression "uVar16 = attr_value.val.intval._4_4_" identifier = (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (goto_statement "goto LAB_00175373;" goto statement_identifier ;) })) }))) })) }) (else_clause "else {\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }" else (compound_statement "{\n            if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }\n            attr_value.val.stringval = (char *)local_74;\n            len = strlen((char *)local_74);\n            puVar18 = (uint *)((int)local_74 + len + 1);\n            if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar18;\n            in_EAX[0xf] = (int)attr_value.val.stringval;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }" { (if_statement "if (uVar11 < 8) {\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(uVar11 < 8)" ( (binary_expression "uVar11 < 8" identifier < number_literal) )) (compound_statement "{\n              if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }" { (if_statement "if (uVar11 == 4) {\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }\n              else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" if (parenthesized_expression "(uVar11 == 4)" ( (binary_expression "uVar11 == 4" identifier == number_literal) )) (compound_statement "{\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.aux.shndx = *local_74;\n                attr_value.val.stringval = (char *)(local_74 + 1);\n                if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);\n              }" { (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xc);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xc)" * (cast_expression "(code **)(*piVar3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xc)" ( (binary_expression "*piVar3 + 0xc" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }" { (expression_statement "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(*piVar3 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(*piVar3 + 0xe8))" ( (pointer_expression "**(code **)(*piVar3 + 0xe8)" * (pointer_expression "*(code **)(*piVar3 + 0xe8)" * (cast_expression "(code **)(*piVar3 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xe8)" ( (binary_expression "*piVar3 + 0xe8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" else (compound_statement "{\n                  cVar8 = (*pcVar4)(piVar3);\n                }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "attr_value.aux.shndx = *local_74;" (assignment_expression "attr_value.aux.shndx = *local_74" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) = (pointer_expression "*local_74" * identifier)) ;) (expression_statement "attr_value.val.stringval = (char *)(local_74 + 1);" (assignment_expression "attr_value.val.stringval = (char *)(local_74 + 1)" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)(local_74 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_74 + 1)" ( (binary_expression "local_74 + 1" identifier + number_literal) )))) ;) (if_statement "if (cVar8 != '\0') {\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;\n                }" { (expression_statement "attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;" (assignment_expression "attr_value.aux.shndx =\n                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) = (binary_expression "attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18" (binary_expression "attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |\n                       (attr_value.aux.shndx & 0xff00) << 8" (binary_expression "attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8" (binary_expression "attr_value.aux.shndx >> 0x18" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) >> number_literal) | (binary_expression "(attr_value.aux.shndx & 0xff0000) >> 8" (parenthesized_expression "(attr_value.aux.shndx & 0xff0000)" ( (binary_expression "attr_value.aux.shndx & 0xff0000" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) & number_literal) )) >> number_literal)) | (binary_expression "(attr_value.aux.shndx & 0xff00) << 8" (parenthesized_expression "(attr_value.aux.shndx & 0xff00)" ( (binary_expression "attr_value.aux.shndx & 0xff00" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) & number_literal) )) << number_literal)) | (binary_expression "attr_value.aux.shndx << 0x18" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) << number_literal))) ;) })) (expression_statement "local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx);" (assignment_expression "local_74 = (uint *)((int)(local_74 + 1) + attr_value.aux.shndx)" identifier = (cast_expression "(uint *)((int)(local_74 + 1) + attr_value.aux.shndx)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(local_74 + 1) + attr_value.aux.shndx)" ( (binary_expression "(int)(local_74 + 1) + attr_value.aux.shndx" (cast_expression "(int)(local_74 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_74 + 1)" ( (binary_expression "local_74 + 1" identifier + number_literal) ))) + (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier)) )))) ;) }) (else_clause "else if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" else (if_statement "if (uVar11 < 5) {\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }\n              else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" if (parenthesized_expression "(uVar11 < 5)" ( (binary_expression "uVar11 < 5" identifier < number_literal) )) (compound_statement "{\n                if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }\n                if (uVar11 != 3) {\n                  return false;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                uVar7 = (ushort)*local_74;\n                if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.aux.shndx._2_2_ = 0;\n                attr_value.aux.shndx._0_2_ = uVar7;\n                attr_value.val.stringval = (char *)((int)local_74 + 2);\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);\n              }" { (if_statement "if (uVar11 == 1) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }" if (parenthesized_expression "(uVar11 == 1)" ( (binary_expression "uVar11 == 1" identifier == number_literal) )) (compound_statement "{\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  iVar9 = *piVar3;\n                  pcVar4 = *(code **)(iVar9 + 0xc);\n                  if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  attr_value.aux.shndx =\n                       Dwarf_info_reader::lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n                  attr_value.val.uintval._4_4_ = str_off._4_4_;\n                  attr_value.val.stringval = (char *)str_off;\n                  uVar12 = (char *)str_off;\n                  uVar16 = str_off._4_4_;\n                  if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }\n                  goto LAB_00174e48;\n                }" { (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "iVar9 = *piVar3;" (assignment_expression "iVar9 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "pcVar4 = *(code **)(iVar9 + 0xc);" (assignment_expression "pcVar4 = *(code **)(iVar9 + 0xc)" identifier = (pointer_expression "*(code **)(iVar9 + 0xc)" * (cast_expression "(code **)(iVar9 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*in_EAX + 0x48) == 4) {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" if (parenthesized_expression "(*(int *)(*in_EAX + 0x48) == 4)" ( (binary_expression "*(int *)(*in_EAX + 0x48) == 4" (pointer_expression "*(int *)(*in_EAX + 0x48)" * (cast_expression "(int *)(*in_EAX + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_EAX + 0x48)" ( (binary_expression "*in_EAX + 0x48" (pointer_expression "*in_EAX" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    str_off._4_4_ = 0;\n                    if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }" { (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }" { (expression_statement "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(iVar9 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(iVar9 + 0xe8))" ( (pointer_expression "**(code **)(iVar9 + 0xe8)" * (pointer_expression "*(code **)(iVar9 + 0xe8)" * (cast_expression "(code **)(iVar9 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xe8)" ( (binary_expression "iVar9 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }" else (compound_statement "{\n                      cVar8 = (*pcVar4)(piVar3);\n                    }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "str_off._0_4_ = (char *)*local_74;" (assignment_expression "str_off._0_4_ = (char *)*local_74" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "str_off._4_4_ = 0;" (assignment_expression "str_off._4_4_ = 0" (field_expression "str_off._4_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if (cVar8 != '\0') {\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);\n                    }" { (expression_statement "str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18);" (assignment_expression "str_off._0_4_ =\n                           (char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18)" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18)" ( (binary_expression "(uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8 |\n                                   (int)(char *)str_off << 0x18" (binary_expression "(uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                    ((uint)(char *)str_off & 0xff00) << 8" (binary_expression "(uint)(char *)str_off >> 0x18 |\n                                    ((uint)(char *)str_off & 0xff0000) >> 8" (binary_expression "(uint)(char *)str_off >> 0x18" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(char *)str_off & 0xff0000) >> 8" (parenthesized_expression "((uint)(char *)str_off & 0xff0000)" ( (binary_expression "(uint)(char *)str_off & 0xff0000" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(char *)str_off & 0xff00) << 8" (parenthesized_expression "((uint)(char *)str_off & 0xff00)" ( (binary_expression "(uint)(char *)str_off & 0xff00" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(char *)str_off << 0x18" (cast_expression "(int)(char *)str_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" else (compound_statement "{\n                    if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }\n                    str_off._0_4_ = (char *)*local_74;\n                    uVar11 = local_74[1];\n                    str_off._4_4_ = uVar11;\n                    if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" { (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }\n                    else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                      cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                    }" { (expression_statement "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(iVar9 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(iVar9 + 0xe8))" ( (pointer_expression "**(code **)(iVar9 + 0xe8)" * (pointer_expression "*(code **)(iVar9 + 0xe8)" * (cast_expression "(code **)(iVar9 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xe8)" ( (binary_expression "iVar9 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                      cVar8 = (*pcVar4)(piVar3);\n                    }" else (compound_statement "{\n                      cVar8 = (*pcVar4)(piVar3);\n                    }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "str_off._0_4_ = (char *)*local_74;" (assignment_expression "str_off._0_4_ = (char *)*local_74" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "str_off._4_4_ = uVar11;" (assignment_expression "str_off._4_4_ = uVar11" (field_expression "str_off._4_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (cVar8 != '\0') {\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                      str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                    }" { (expression_statement "str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;" (assignment_expression "str_off._4_4_ =\n                           (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (field_expression "str_off._4_4_" identifier . field_identifier) = (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                           ((uint)(char *)str_off & 0xff00) << 8" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8" (binary_expression "(uint)(char *)str_off >> 0x18" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(char *)str_off & 0xff0000) >> 8" (parenthesized_expression "((uint)(char *)str_off & 0xff0000)" ( (binary_expression "(uint)(char *)str_off & 0xff0000" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(char *)str_off & 0xff00) << 8" (parenthesized_expression "((uint)(char *)str_off & 0xff00)" ( (binary_expression "(uint)(char *)str_off & 0xff00" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(char *)str_off << 0x18" (cast_expression "(int)(char *)str_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal))) ;) (expression_statement "str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18);" (assignment_expression "str_off._0_4_ =\n                           (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                    (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (ERROR "attr_value.aux.shndx =\n                       Dwarf_info_reader::" (assignment_expression "attr_value.aux.shndx =\n                       Dwarf_info_reader" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) = identifier) : :) (expression_statement "lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);" (call_expression "lookup_reloc\n                                 ((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)" identifier (argument_list "((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)" ( (cast_expression "(Dwarf_info_reader *)*in_EAX" ( (type_descriptor "Dwarf_info_reader *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*in_EAX" * identifier)) , identifier , (pointer_expression "&str_off" & identifier) ))) ;) (expression_statement "attr_value.val.uintval._4_4_ = str_off._4_4_;" (assignment_expression "attr_value.val.uintval._4_4_ = str_off._4_4_" (field_expression "attr_value.val.uintval._4_4_" (field_expression "attr_value.val.uintval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (field_expression "str_off._4_4_" identifier . field_identifier)) ;) (expression_statement "attr_value.val.stringval = (char *)str_off;" (assignment_expression "attr_value.val.stringval = (char *)str_off" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar12 = (char *)str_off;" (assignment_expression "uVar12 = (char *)str_off" identifier = (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar16 = str_off._4_4_;" (assignment_expression "uVar16 = str_off._4_4_" identifier = (field_expression "str_off._4_4_" identifier . field_identifier)) ;) (if_statement "if (uVar17 != 0x31) {\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }" if (parenthesized_expression "(uVar17 != 0x31)" ( (binary_expression "uVar17 != 0x31" identifier != number_literal) )) (compound_statement "{\nLAB_00175028:\n                    uVar16 = str_off._4_4_;\n                    uVar12 = (char *)str_off;\n                    if (0x31 < uVar17) goto joined_r0x001752af;\n                    puVar18 = local_74;\n                    aVar20 = attr_value.val;\n                    if (uVar17 != 1) goto LAB_00174ea0;\n                    goto LAB_0017548f;\n                  }" { (labeled_statement "LAB_00175028:\n                    uVar16 = str_off._4_4_;" statement_identifier : (expression_statement "uVar16 = str_off._4_4_;" (assignment_expression "uVar16 = str_off._4_4_" identifier = (field_expression "str_off._4_4_" identifier . field_identifier)) ;)) (expression_statement "uVar12 = (char *)str_off;" (assignment_expression "uVar12 = (char *)str_off" identifier = (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0x31 < uVar17) goto joined_r0x001752af;" if (parenthesized_expression "(0x31 < uVar17)" ( (binary_expression "0x31 < uVar17" number_literal < identifier) )) (goto_statement "goto joined_r0x001752af;" goto statement_identifier ;)) (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (if_statement "if (uVar17 != 1) goto LAB_00174ea0;" if (parenthesized_expression "(uVar17 != 1)" ( (binary_expression "uVar17 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (goto_statement "goto LAB_0017548f;" goto statement_identifier ;) })) (goto_statement "goto LAB_00174e48;" goto statement_identifier ;) })) (if_statement "if (uVar11 != 3) {\n                  return false;\n                }" if (parenthesized_expression "(uVar11 != 3)" ( (binary_expression "uVar11 != 3" identifier != number_literal) )) (compound_statement "{\n                  return false;\n                }" { (return_statement "return false;" return false ;) })) (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xc);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xc)" * (cast_expression "(code **)(*piVar3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xc)" ( (binary_expression "*piVar3 + 0xc" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }" { (expression_statement "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(*piVar3 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(*piVar3 + 0xe8))" ( (pointer_expression "**(code **)(*piVar3 + 0xe8)" * (pointer_expression "*(code **)(*piVar3 + 0xe8)" * (cast_expression "(code **)(*piVar3 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xe8)" ( (binary_expression "*piVar3 + 0xe8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" else (compound_statement "{\n                  cVar8 = (*pcVar4)(piVar3);\n                }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "uVar7 = (ushort)*local_74;" (assignment_expression "uVar7 = (ushort)*local_74" identifier = (binary_expression "(ushort)*local_74" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (if_statement "if (cVar8 != '\0') {\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" { (expression_statement "uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "uVar7 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier = (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" ( (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier) , (pointer_expression "*(byte *)((int)local_74 + 1)" * (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) })) (expression_statement "attr_value.aux.shndx._2_2_ = 0;" (assignment_expression "attr_value.aux.shndx._2_2_ = 0" (field_expression "attr_value.aux.shndx._2_2_" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "attr_value.aux.shndx._0_2_ = uVar7;" (assignment_expression "attr_value.aux.shndx._0_2_ = uVar7" (field_expression "attr_value.aux.shndx._0_2_" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "attr_value.val.stringval = (char *)((int)local_74 + 2);" (assignment_expression "attr_value.val.stringval = (char *)((int)local_74 + 2)" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)((int)local_74 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx);" (assignment_expression "local_74 = (uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx)" identifier = (cast_expression "(uint *)((byte *)((int)local_74 + 2) + attr_value.aux.shndx)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)((int)local_74 + 2) + attr_value.aux.shndx)" ( (binary_expression "(byte *)((int)local_74 + 2) + attr_value.aux.shndx" (cast_expression "(byte *)((int)local_74 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier)) )))) ;) }) (else_clause "else {\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" else (compound_statement "{\n                if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                attr_value.val.intval._2_6_ = 0;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" { (if_statement "if (uVar11 != 5) {\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }" if (parenthesized_expression "(uVar11 != 5)" ( (binary_expression "uVar11 != 5" identifier != number_literal) )) (compound_statement "{\n                  if (uVar11 != 6) {\n                    return false;\n                  }\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  str_off._0_4_ = (char *)*local_74;\n                  str_off._4_4_ = 0;\n                  if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }" { (if_statement "if (uVar11 != 6) {\n                    return false;\n                  }" if (parenthesized_expression "(uVar11 != 6)" ( (binary_expression "uVar11 != 6" identifier != number_literal) )) (compound_statement "{\n                    return false;\n                  }" { (return_statement "return false;" return false ;) })) (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xc);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xc)" * (cast_expression "(code **)(*piVar3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xc)" ( (binary_expression "*piVar3 + 0xc" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }" { (expression_statement "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(*piVar3 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(*piVar3 + 0xe8))" ( (pointer_expression "**(code **)(*piVar3 + 0xe8)" * (pointer_expression "*(code **)(*piVar3 + 0xe8)" * (cast_expression "(code **)(*piVar3 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xe8)" ( (binary_expression "*piVar3 + 0xe8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }" else (compound_statement "{\n                    cVar8 = (*pcVar4)(piVar3);\n                  }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "str_off._0_4_ = (char *)*local_74;" (assignment_expression "str_off._0_4_ = (char *)*local_74" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "str_off._4_4_ = 0;" (assignment_expression "str_off._4_4_ = 0" (field_expression "str_off._4_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if (cVar8 != '\0') {\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);\n                  }" { (expression_statement "str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18);" (assignment_expression "str_off._0_4_ =\n                         (char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18)" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18)" ( (binary_expression "(uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8 |\n                                 (int)(char *)str_off << 0x18" (binary_expression "(uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                  ((uint)(char *)str_off & 0xff00) << 8" (binary_expression "(uint)(char *)str_off >> 0x18 |\n                                  ((uint)(char *)str_off & 0xff0000) >> 8" (binary_expression "(uint)(char *)str_off >> 0x18" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(char *)str_off & 0xff0000) >> 8" (parenthesized_expression "((uint)(char *)str_off & 0xff0000)" ( (binary_expression "(uint)(char *)str_off & 0xff0000" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(char *)str_off & 0xff00) << 8" (parenthesized_expression "((uint)(char *)str_off & 0xff00)" ( (binary_expression "(uint)(char *)str_off & 0xff00" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(char *)str_off << 0x18" (cast_expression "(int)(char *)str_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0017561e;" goto statement_identifier ;) })) (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xc);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xc)" * (cast_expression "(code **)(*piVar3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xc)" ( (binary_expression "*piVar3 + 0xc" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }" { (expression_statement "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(*piVar3 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(*piVar3 + 0xe8))" ( (pointer_expression "**(code **)(*piVar3 + 0xe8)" * (pointer_expression "*(code **)(*piVar3 + 0xe8)" * (cast_expression "(code **)(*piVar3 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xe8)" ( (binary_expression "*piVar3 + 0xe8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" else (compound_statement "{\n                  cVar8 = (*pcVar4)(piVar3);\n                }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "attr_value.val.intval._0_2_ = (undefined2)*local_74;" (assignment_expression "attr_value.val.intval._0_2_ = (undefined2)*local_74" (field_expression "attr_value.val.intval._0_2_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(undefined2)*local_74" (parenthesized_expression "(undefined2)" ( identifier )) * identifier)) ;) (if_statement "if (cVar8 != '\0') {\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" { (expression_statement "attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "attr_value.val.intval._0_2_ =\n                       CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" (field_expression "attr_value.val.intval._0_2_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" ( (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier) , (pointer_expression "*(byte *)((int)local_74 + 1)" * (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) })) (expression_statement "attr_value.val.intval._2_6_ = 0;" (assignment_expression "attr_value.val.intval._2_6_ = 0" (field_expression "attr_value.val.intval._2_6_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 2);" (assignment_expression "local_74 = (uint *)((int)local_74 + 2)" identifier = (cast_expression "(uint *)((int)local_74 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))))) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (uVar11 == 10) {\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(uVar11 == 10)" ( (binary_expression "uVar11 == 10" identifier == number_literal) )) (compound_statement "{\n              attr_value.aux.shndx._1_3_ = 0;\n              attr_value.aux.shndx._0_1_ = (byte)*local_74;\n              attr_value.val.stringval = (char *)((int)local_74 + 1);\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);\n              goto joined_r0x001751d3;\n            }" { (expression_statement "attr_value.aux.shndx._1_3_ = 0;" (assignment_expression "attr_value.aux.shndx._1_3_ = 0" (field_expression "attr_value.aux.shndx._1_3_" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "attr_value.aux.shndx._0_1_ = (byte)*local_74;" (assignment_expression "attr_value.aux.shndx._0_1_ = (byte)*local_74" (field_expression "attr_value.aux.shndx._0_1_" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;) (expression_statement "attr_value.val.stringval = (char *)((int)local_74 + 1);" (assignment_expression "attr_value.val.stringval = (char *)((int)local_74 + 1)" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)((int)local_74 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx);" (assignment_expression "local_74 = (uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx)" identifier = (cast_expression "(uint *)((byte *)((int)local_74 + 1) + attr_value.aux.shndx)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)((int)local_74 + 1) + attr_value.aux.shndx)" ( (binary_expression "(byte *)((int)local_74 + 1) + attr_value.aux.shndx" (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier)) )))) ;) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (10 < uVar11) {\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(10 < uVar11)" ( (binary_expression "10 < uVar11" number_literal < identifier) )) (compound_statement "{\n              if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }" { (if_statement "if (uVar11 < 0xd) {\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }" if (parenthesized_expression "(uVar11 < 0xd)" ( (binary_expression "uVar11 < 0xd" identifier < number_literal) )) (compound_statement "{\n                attr_value.val.intval._1_7_ = 0;\n                attr_value.val.intval._0_1_ = (byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }" { (expression_statement "attr_value.val.intval._1_7_ = 0;" (assignment_expression "attr_value.val.intval._1_7_ = 0" (field_expression "attr_value.val.intval._1_7_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "attr_value.val.intval._0_1_ = (byte)*local_74;" (assignment_expression "attr_value.val.intval._0_1_ = (byte)*local_74" (field_expression "attr_value.val.intval._0_1_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }" else (compound_statement "{\n                bVar2 = (byte)*local_74;\n                puVar18 = (uint *)((int)local_74 + 1);\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }\n              }" { (expression_statement "bVar2 = (byte)*local_74;" (assignment_expression "bVar2 = (byte)*local_74" identifier = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;) (expression_statement "puVar18 = (uint *)((int)local_74 + 1);" (assignment_expression "puVar18 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((char)bVar2 < '\0') {\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }" if (parenthesized_expression "((char)bVar2 < '\0')" ( (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }" { (expression_statement "attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2);" (assignment_expression "attr_value.val.intval = read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2)" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (call_expression "read_signed_LEB_128_x((uchar *)puVar18,&len,bVar2)" identifier (argument_list "((uchar *)puVar18,&len,bVar2)" ( (cast_expression "(uchar *)puVar18" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&len" & identifier) , identifier )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + len);" (assignment_expression "local_74 = (uint *)((int)local_74 + len)" identifier = (cast_expression "(uint *)((int)local_74 + len)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + len)" ( (binary_expression "(int)local_74 + len" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }" else (compound_statement "{\n                  attr_value.val.intval._4_4_ = 0;\n                  attr_value.val.stringval = (char *)CONCAT31(0,bVar2);\n                  len = 1;\n                  local_74 = puVar18;\n                  if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }\n                }" { (expression_statement "attr_value.val.intval._4_4_ = 0;" (assignment_expression "attr_value.val.intval._4_4_ = 0" (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "attr_value.val.stringval = (char *)CONCAT31(0,bVar2);" (assignment_expression "attr_value.val.stringval = (char *)CONCAT31(0,bVar2)" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)CONCAT31(0,bVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(0,bVar2)" identifier (argument_list "(0,bVar2)" ( number_literal , identifier ))))) ;) (expression_statement "len = 1;" (assignment_expression "len = 1" identifier = number_literal) ;) (expression_statement "local_74 = puVar18;" (assignment_expression "local_74 = puVar18" identifier = identifier) ;) (if_statement "if ((bVar2 & 0x40) != 0) {\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }" if (parenthesized_expression "((bVar2 & 0x40) != 0)" ( (binary_expression "(bVar2 & 0x40) != 0" (parenthesized_expression "(bVar2 & 0x40)" ( (binary_expression "bVar2 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    attr_value.val.intval._4_4_ = 0xffffffff;\n                    attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);\n                  }" { (expression_statement "attr_value.val.intval._4_4_ = 0xffffffff;" (assignment_expression "attr_value.val.intval._4_4_ = 0xffffffff" (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80);" (assignment_expression "attr_value.val.stringval = (char *)(CONCAT31(0,bVar2) | 0xffffff80)" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)(CONCAT31(0,bVar2) | 0xffffff80)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CONCAT31(0,bVar2) | 0xffffff80)" ( (binary_expression "CONCAT31(0,bVar2) | 0xffffff80" (call_expression "CONCAT31(0,bVar2)" identifier (argument_list "(0,bVar2)" ( number_literal , identifier ))) | number_literal) )))) ;) })) }))) }))) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (uVar11 != 8) {\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(uVar11 != 8)" ( (binary_expression "uVar11 != 8" identifier != number_literal) )) (compound_statement "{\n              if (uVar11 != 9) {\n                return false;\n              }\nLAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);\n              local_6c._0_1_ = (undefined1)*local_74;\n              if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }\n              attr_value.val.blockval = buffer;\n              local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);\n              attr_value.aux = local_6c._0_4_;\n              goto joined_r0x001751d3;\n            }" { (if_statement "if (uVar11 != 9) {\n                return false;\n              }" if (parenthesized_expression "(uVar11 != 9)" ( (binary_expression "uVar11 != 9" identifier != number_literal) )) (compound_statement "{\n                return false;\n              }" { (return_statement "return false;" return false ;) })) (labeled_statement "LAB_00174f39:\n              buffer = (byte *)((int)local_74 + 1);" statement_identifier : (expression_statement "buffer = (byte *)((int)local_74 + 1);" (assignment_expression "buffer = (byte *)((int)local_74 + 1)" identifier = (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "local_6c._0_1_ = (undefined1)*local_74;" (assignment_expression "local_6c._0_1_ = (undefined1)*local_74" (field_expression "local_6c._0_1_" identifier . field_identifier) = (binary_expression "(undefined1)*local_74" (parenthesized_expression "(undefined1)" ( identifier )) * identifier)) ;) (if_statement "if ((char)(undefined1)local_6c < '\0') {\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }\n              else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }" if (parenthesized_expression "((char)(undefined1)local_6c < '\0')" ( (binary_expression "(char)(undefined1)local_6c < '\0'" (cast_expression "(char)(undefined1)local_6c" ( (type_descriptor "char" primitive_type) ) (cast_expression "(undefined1)local_6c" ( (type_descriptor "undefined1" type_identifier) ) identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);\n                local_6c._0_4_ = (uint)uVar19;\n                buffer = (byte *)((int)local_74 + len);\n              }" { (expression_statement "uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c);" (assignment_expression "uVar19 = read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c)" identifier = (call_expression "read_unsigned_LEB_128_x(buffer,&len,(undefined1)local_6c)" identifier (argument_list "(buffer,&len,(undefined1)local_6c)" ( identifier , (pointer_expression "&len" & identifier) , (cast_expression "(undefined1)local_6c" ( (type_descriptor "undefined1" type_identifier) ) identifier) )))) ;) (expression_statement "local_6c._0_4_ = (uint)uVar19;" (assignment_expression "local_6c._0_4_ = (uint)uVar19" (field_expression "local_6c._0_4_" identifier . field_identifier) = (cast_expression "(uint)uVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "buffer = (byte *)((int)local_74 + len);" (assignment_expression "buffer = (byte *)((int)local_74 + len)" identifier = (cast_expression "(byte *)((int)local_74 + len)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + len)" ( (binary_expression "(int)local_74 + len" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                len = 1;\n                local_6c._1_3_ = 0;\n              }" else (compound_statement "{\n                len = 1;\n                local_6c._1_3_ = 0;\n              }" { (expression_statement "len = 1;" (assignment_expression "len = 1" identifier = number_literal) ;) (expression_statement "local_6c._1_3_ = 0;" (assignment_expression "local_6c._1_3_ = 0" (field_expression "local_6c._1_3_" identifier . field_identifier) = number_literal) ;) }))) (expression_statement "attr_value.val.blockval = buffer;" (assignment_expression "attr_value.val.blockval = buffer" (field_expression "attr_value.val.blockval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_74 = (uint *)((int)local_74 + len + local_6c._0_4_);" (assignment_expression "local_74 = (uint *)((int)local_74 + len + local_6c._0_4_)" identifier = (cast_expression "(uint *)((int)local_74 + len + local_6c._0_4_)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + len + local_6c._0_4_)" ( (binary_expression "(int)local_74 + len + local_6c._0_4_" (binary_expression "(int)local_74 + len" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (field_expression "local_6c._0_4_" identifier . field_identifier)) )))) ;) (expression_statement "attr_value.aux = local_6c._0_4_;" (assignment_expression "attr_value.aux = local_6c._0_4_" (field_expression "attr_value.aux" identifier . field_identifier) = (field_expression "local_6c._0_4_" identifier . field_identifier)) ;) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (expression_statement "attr_value.val.stringval = (char *)local_74;" (assignment_expression "attr_value.val.stringval = (char *)local_74" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "len = strlen((char *)local_74);" (assignment_expression "len = strlen((char *)local_74)" identifier = (call_expression "strlen((char *)local_74)" identifier (argument_list "((char *)local_74)" ( (cast_expression "(char *)local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar18 = (uint *)((int)local_74 + len + 1);" (assignment_expression "puVar18 = (uint *)((int)local_74 + len + 1)" identifier = (cast_expression "(uint *)((int)local_74 + len + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + len + 1)" ( (binary_expression "(int)local_74 + len + 1" (binary_expression "(int)local_74 + len" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (uVar17 != 3) {\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }" if (parenthesized_expression "(uVar17 != 3)" ( (binary_expression "uVar17 != 3" identifier != number_literal) )) (compound_statement "{\n              aVar20 = attr_value.val;\n              if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;\n              goto LAB_00175220;\n            }" { (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (if_statement "if ((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))\n              goto LAB_00174ea0;" if (parenthesized_expression "((uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))))" ( (binary_expression "(uVar17 < 4) || ((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007)))" (parenthesized_expression "(uVar17 < 4)" ( (binary_expression "uVar17 < 4" identifier < number_literal) )) || (parenthesized_expression "((uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007)))" ( (parenthesized_expression "(uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007))" ( (comma_expression "uVar12 = local_74, uVar17 != 0x6e && (uVar17 != 0x2007)" (assignment_expression "uVar12 = local_74" identifier = identifier) , (binary_expression "uVar17 != 0x6e && (uVar17 != 0x2007)" (binary_expression "uVar17 != 0x6e" identifier != number_literal) && (parenthesized_expression "(uVar17 != 0x2007)" ( (binary_expression "uVar17 != 0x2007" identifier != number_literal) )))) )) ))) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (goto_statement "goto LAB_00175220;" goto statement_identifier ;) })) (labeled_statement "LAB_00175230:\n            local_74 = puVar18;" statement_identifier : (expression_statement "local_74 = puVar18;" (assignment_expression "local_74 = puVar18" identifier = identifier) ;)) (expression_statement "in_EAX[0xf] = (int)attr_value.val.stringval;" (assignment_expression "in_EAX[0xf] = (int)attr_value.val.stringval" (subscript_expression "in_EAX[0xf]" identifier [ number_literal ]) = (cast_expression "(int)attr_value.val.stringval" ( (type_descriptor "int" primitive_type) ) (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier))) ;) (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) }))) }) (else_clause "else if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }" else (if_statement "if (uVar11 == 0x15) {\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }\n        else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }" if (parenthesized_expression "(uVar11 == 0x15)" ( (binary_expression "uVar11 == 0x15" identifier == number_literal) )) (compound_statement "{\n          bVar2 = (byte)*local_74;\n          if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          attr_value.val = aVar20;\n          if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }\n        }" { (expression_statement "bVar2 = (byte)*local_74;" (assignment_expression "bVar2 = (byte)*local_74" identifier = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;) (if_statement "if ((char)bVar2 < '\0') {\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }\n          else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" if (parenthesized_expression "((char)bVar2 < '\0')" ( (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n            local_74 = (uint *)((int)local_74 + len);\n          }" { (expression_statement "aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);" (assignment_expression "aVar20.uintval = read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2)" (field_expression "aVar20.uintval" identifier . field_identifier) = (call_expression "read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2)" identifier (argument_list "((uchar *)((int)local_74 + 1),&len,bVar2)" ( (cast_expression "(uchar *)((int)local_74 + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (pointer_expression "&len" & identifier) , identifier )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + len);" (assignment_expression "local_74 = (uint *)((int)local_74 + len)" identifier = (cast_expression "(uint *)((int)local_74 + len)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + len)" ( (binary_expression "(int)local_74 + len" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" else (compound_statement "{\n            len = 1;\n            aVar20.intval._1_7_ = 0;\n            aVar20.intval._0_1_ = bVar2;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" { (expression_statement "len = 1;" (assignment_expression "len = 1" identifier = number_literal) ;) (expression_statement "aVar20.intval._1_7_ = 0;" (assignment_expression "aVar20.intval._1_7_ = 0" (field_expression "aVar20.intval._1_7_" (field_expression "aVar20.intval" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "aVar20.intval._0_1_ = bVar2;" (assignment_expression "aVar20.intval._0_1_ = bVar2" (field_expression "aVar20.intval._0_1_" (field_expression "aVar20.intval" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (labeled_statement "joined_r0x0017547a:\n          attr_value.val = aVar20;" statement_identifier : (expression_statement "attr_value.val = aVar20;" (assignment_expression "attr_value.val = aVar20" (field_expression "attr_value.val" identifier . field_identifier) = identifier) ;)) (if_statement "if (uVar17 == 0x31) {\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }\n          else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }" if (parenthesized_expression "(uVar17 == 0x31)" ( (binary_expression "uVar17 == 0x31" identifier == number_literal) )) (compound_statement "{\nLAB_00174e40:\n            uVar12 = attr_value.val.stringval;\n            uVar16 = attr_value.val.intval._4_4_;\nLAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;\n            in_EAX[0x19] = uVar16;\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n          }" { (labeled_statement "LAB_00174e40:\n            uVar12 = attr_value.val.stringval;" statement_identifier : (expression_statement "uVar12 = attr_value.val.stringval;" (assignment_expression "uVar12 = attr_value.val.stringval" identifier = (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier)) ;)) (expression_statement "uVar16 = attr_value.val.intval._4_4_;" (assignment_expression "uVar16 = attr_value.val.intval._4_4_" identifier = (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (labeled_statement "LAB_00174e48:\n            in_EAX[0x18] = (int)uVar12;" statement_identifier : (expression_statement "in_EAX[0x18] = (int)uVar12;" (assignment_expression "in_EAX[0x18] = (int)uVar12" (subscript_expression "in_EAX[0x18]" identifier [ number_literal ]) = (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (expression_statement "in_EAX[0x19] = uVar16;" (assignment_expression "in_EAX[0x19] = uVar16" (subscript_expression "in_EAX[0x19]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) }) (else_clause "else if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }" else (if_statement "if (uVar17 < 0x32) {\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }\n          else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }" if (parenthesized_expression "(uVar17 < 0x32)" ( (binary_expression "uVar17 < 0x32" identifier < number_literal) )) (compound_statement "{\n            if (uVar17 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar18 = local_74;\n            aVar20 = attr_value.val;\n            if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }\n          }" { (if_statement "if (uVar17 != 1) goto LAB_001754d5;" if (parenthesized_expression "(uVar17 != 1)" ( (binary_expression "uVar17 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001754d5;" goto statement_identifier ;)) (labeled_statement "LAB_0017548f:\n            puVar18 = local_74;" statement_identifier : (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;)) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (if_statement "if (attr_value.aux.shndx == 0) {\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }" if (parenthesized_expression "(attr_value.aux.shndx == 0)" ( (binary_expression "attr_value.aux.shndx == 0" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n              in_EAX[8] = (int)attr_value.val.stringval;\n              in_EAX[9] = attr_value.val.intval._4_4_;\n            }" { (expression_statement "in_EAX[8] = (int)attr_value.val.stringval;" (assignment_expression "in_EAX[8] = (int)attr_value.val.stringval" (subscript_expression "in_EAX[8]" identifier [ number_literal ]) = (cast_expression "(int)attr_value.val.stringval" ( (type_descriptor "int" primitive_type) ) (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier))) ;) (expression_statement "in_EAX[9] = attr_value.val.intval._4_4_;" (assignment_expression "in_EAX[9] = attr_value.val.intval._4_4_" (subscript_expression "in_EAX[9]" identifier [ number_literal ]) = (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier)) ;) })) }) (else_clause "else {\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }" else (compound_statement "{\n            if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\n            puVar18 = local_74;\n            if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }\n          }" { (if_statement "if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;" if (parenthesized_expression "((uVar17 == 0x6e) || (uVar17 == 0x2007))" ( (binary_expression "(uVar17 == 0x6e) || (uVar17 == 0x2007)" (parenthesized_expression "(uVar17 == 0x6e)" ( (binary_expression "uVar17 == 0x6e" identifier == number_literal) )) || (parenthesized_expression "(uVar17 == 0x2007)" ( (binary_expression "uVar17 == 0x2007" identifier == number_literal) ))) )) (goto_statement "goto LAB_001751f0;" goto statement_identifier ;)) (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;) (if_statement "if (uVar17 == 0x47) {\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }" if (parenthesized_expression "(uVar17 == 0x47)" ( (binary_expression "uVar17 == 0x47" identifier == number_literal) )) (compound_statement "{\n              attr_value.val.stringval = aVar20.stringval;\n              attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);\n              uVar12 = attr_value.val.stringval;\n              uVar16 = attr_value.val.intval._4_4_;\nLAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;\n              in_EAX[0x17] = uVar16;\n              puVar18 = local_74;\n              aVar20 = attr_value.val;\n            }" { (expression_statement "attr_value.val.stringval = aVar20.stringval;" (assignment_expression "attr_value.val.stringval = aVar20.stringval" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (field_expression "aVar20.stringval" identifier . field_identifier)) ;) (expression_statement "attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20);" (assignment_expression "attr_value.val.intval._4_4_ = (undefined4)((ulonglong)aVar20 >> 0x20)" (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (call_expression "(undefined4)((ulonglong)aVar20 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)aVar20 >> 0x20)" ( (binary_expression "(ulonglong)aVar20 >> 0x20" (cast_expression "(ulonglong)aVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar12 = attr_value.val.stringval;" (assignment_expression "uVar12 = attr_value.val.stringval" identifier = (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uVar16 = attr_value.val.intval._4_4_;" (assignment_expression "uVar16 = attr_value.val.intval._4_4_" identifier = (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier)) ;) (labeled_statement "LAB_0017504c:\n              in_EAX[0x16] = (int)uVar12;" statement_identifier : (expression_statement "in_EAX[0x16] = (int)uVar12;" (assignment_expression "in_EAX[0x16] = (int)uVar12" (subscript_expression "in_EAX[0x16]" identifier [ number_literal ]) = (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (expression_statement "in_EAX[0x17] = uVar16;" (assignment_expression "in_EAX[0x17] = uVar16" (subscript_expression "in_EAX[0x17]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) })) }))))) }) (else_clause "else {\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }" else (compound_statement "{\n          if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }\n          if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;\nLAB_001754d5:\n          puVar18 = local_74;\n          aVar20 = attr_value.val;\n          if (uVar17 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar18 = local_74;\n          if (uVar11 == 8) goto LAB_00175230;\n          aVar20 = attr_value.val;\n          if (uVar11 == 0xe) goto LAB_00174c9a;\n        }" { (if_statement "if (uVar11 < 0x16) {\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }" if (parenthesized_expression "(uVar11 < 0x16)" ( (binary_expression "uVar11 < 0x16" identifier < number_literal) )) (compound_statement "{\n            if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e40;\n          }" { (if_statement "if (uVar11 == 0x11) {\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }" if (parenthesized_expression "(uVar11 == 0x11)" ( (binary_expression "uVar11 == 0x11" identifier == number_literal) )) (compound_statement "{\n              puVar18 = (uint *)((int)local_74 + 1);\n              attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);\n              attr_value.val.intval._4_4_ = 0;\n              local_74 = puVar18;\n              if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }\n            }" { (expression_statement "puVar18 = (uint *)((int)local_74 + 1);" (assignment_expression "puVar18 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74);" (assignment_expression "attr_value.val.stringval = (char *)CONCAT31(0,(byte)*local_74)" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)CONCAT31(0,(byte)*local_74)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(0,(byte)*local_74)" identifier (argument_list "(0,(byte)*local_74)" ( number_literal , (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier) ))))) ;) (expression_statement "attr_value.val.intval._4_4_ = 0;" (assignment_expression "attr_value.val.intval._4_4_ = 0" (field_expression "attr_value.val.intval._4_4_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_74 = puVar18;" (assignment_expression "local_74 = puVar18" identifier = identifier) ;) (if_statement "if (uVar17 != 0x31) {\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }" if (parenthesized_expression "(uVar17 != 0x31)" ( (binary_expression "uVar17 != 0x31" identifier != number_literal) )) (compound_statement "{\n                uVar16 = 0;\n                uVar12 = attr_value.val.stringval;\n                if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }\n                goto LAB_00174ea0;\n              }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = attr_value.val.stringval;" (assignment_expression "uVar12 = attr_value.val.stringval" identifier = (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (uVar17 < 0x32) {\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }" if (parenthesized_expression "(uVar17 < 0x32)" ( (binary_expression "uVar17 < 0x32" identifier < number_literal) )) (compound_statement "{\n                  aVar20 = attr_value.val;\n                  if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }\n                }" { (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (if_statement "if (uVar17 == 1) {\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }" if (parenthesized_expression "(uVar17 == 1)" ( (binary_expression "uVar17 == 1" identifier == number_literal) )) (compound_statement "{\n                    in_EAX[8] = (int)attr_value.val.stringval;\n                    in_EAX[9] = 0;\n                  }" { (expression_statement "in_EAX[8] = (int)attr_value.val.stringval;" (assignment_expression "in_EAX[8] = (int)attr_value.val.stringval" (subscript_expression "in_EAX[8]" identifier [ number_literal ]) = (cast_expression "(int)attr_value.val.stringval" ( (type_descriptor "int" primitive_type) ) (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier))) ;) (expression_statement "in_EAX[9] = 0;" (assignment_expression "in_EAX[9] = 0" (subscript_expression "in_EAX[9]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else {\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }" else (compound_statement "{\njoined_r0x001752af:\n                  puVar18 = local_74;\n                  aVar20 = attr_value.val;\n                  if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;\n                }" { (labeled_statement "joined_r0x001752af:\n                  puVar18 = local_74;" statement_identifier : (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;)) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (if_statement "if (((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))\n                  goto LAB_0017504c;" if (parenthesized_expression "(((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47))" ( (binary_expression "((uVar17 != 0x6e) && (uVar17 != 0x2007)) && (uVar17 == 0x47)" (parenthesized_expression "((uVar17 != 0x6e) && (uVar17 != 0x2007))" ( (binary_expression "(uVar17 != 0x6e) && (uVar17 != 0x2007)" (parenthesized_expression "(uVar17 != 0x6e)" ( (binary_expression "uVar17 != 0x6e" identifier != number_literal) )) && (parenthesized_expression "(uVar17 != 0x2007)" ( (binary_expression "uVar17 != 0x2007" identifier != number_literal) ))) )) && (parenthesized_expression "(uVar17 == 0x47)" ( (binary_expression "uVar17 == 0x47" identifier == number_literal) ))) )) (goto_statement "goto LAB_0017504c;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;) })) }) (else_clause "else {\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }" else (compound_statement "{\n              if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }\n              if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar11 != 0x10) {\n                return false;\n              }\n              iVar9 = *in_EAX;\n              iVar14 = *(int *)(iVar9 + 0x48);\n              if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }\n              piVar3 = *(int **)(iVar9 + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              attr_value.aux.shndx =\n                   Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);\n              attr_value.val.uintval._4_4_ = str_off._4_4_;\n              attr_value.val.stringval = (char *)str_off;\n              if (uVar17 != 0x31) goto LAB_00175028;\n            }" { (if_statement "if (0x11 < uVar11) {\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }" if (parenthesized_expression "(0x11 < uVar11)" ( (binary_expression "0x11 < uVar11" number_literal < identifier) )) (compound_statement "{\n                if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }\n                piVar3 = *(int **)(*in_EAX + 8);\n                pcVar4 = *(code **)(*piVar3 + 0xc);\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\nLAB_001753da:\n                str_off._0_4_ = (char *)*local_74;\n                uVar10 = local_74[1];\n                str_off._4_4_ = uVar10;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;\n                attr_value.val.uintval._4_4_ = str_off._4_4_;\n                attr_value.val.stringval = (char *)str_off;\n                aVar20 = attr_value.val;\n                goto joined_r0x0017547a;\n              }" { (if_statement "if (uVar11 == 0x13) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }" if (parenthesized_expression "(uVar11 == 0x13)" ( (binary_expression "uVar11 == 0x13" identifier == number_literal) )) (compound_statement "{\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  goto LAB_0017542a;\n                }" { (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xc);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xc)" * (cast_expression "(code **)(*piVar3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xc)" ( (binary_expression "*piVar3 + 0xc" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }" { (expression_statement "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(*piVar3 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(*piVar3 + 0xe8))" ( (pointer_expression "**(code **)(*piVar3 + 0xe8)" * (pointer_expression "*(code **)(*piVar3 + 0xe8)" * (cast_expression "(code **)(*piVar3 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xe8)" ( (binary_expression "*piVar3 + 0xe8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }" else (compound_statement "{\n                    cVar8 = (*pcVar4)(piVar3);\n                  }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (goto_statement "goto LAB_0017542a;" goto statement_identifier ;) })) (if_statement "if (uVar11 < 0x14) {\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }" if (parenthesized_expression "(uVar11 < 0x14)" ( (binary_expression "uVar11 < 0x14" identifier < number_literal) )) (compound_statement "{\n                  piVar3 = *(int **)(*in_EAX + 8);\n                  pcVar4 = *(code **)(*piVar3 + 0xc);\n                  if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }\n                  attr_value.val.intval._0_2_ = (undefined2)*local_74;\n                  if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  attr_value.val.intval._2_6_ = 0;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  aVar20 = attr_value.val;\n                  goto joined_r0x0017547a;\n                }" { (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xc);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xc)" * (cast_expression "(code **)(*piVar3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xc)" ( (binary_expression "*piVar3 + 0xc" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }\n                  else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                    cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                  }" { (expression_statement "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(*piVar3 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(*piVar3 + 0xe8))" ( (pointer_expression "**(code **)(*piVar3 + 0xe8)" * (pointer_expression "*(code **)(*piVar3 + 0xe8)" * (cast_expression "(code **)(*piVar3 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xe8)" ( (binary_expression "*piVar3 + 0xe8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                    cVar8 = (*pcVar4)(piVar3);\n                  }" else (compound_statement "{\n                    cVar8 = (*pcVar4)(piVar3);\n                  }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "attr_value.val.intval._0_2_ = (undefined2)*local_74;" (assignment_expression "attr_value.val.intval._0_2_ = (undefined2)*local_74" (field_expression "attr_value.val.intval._0_2_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(undefined2)*local_74" (parenthesized_expression "(undefined2)" ( identifier )) * identifier)) ;) (if_statement "if (cVar8 != '\0') {\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }" { (expression_statement "attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "attr_value.val.intval._0_2_ =\n                         CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" (field_expression "attr_value.val.intval._0_2_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" ( (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier) , (pointer_expression "*(byte *)((int)local_74 + 1)" * (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) })) (expression_statement "attr_value.val.intval._2_6_ = 0;" (assignment_expression "attr_value.val.intval._2_6_ = 0" (field_expression "attr_value.val.intval._2_6_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 2);" (assignment_expression "local_74 = (uint *)((int)local_74 + 2)" identifier = (cast_expression "(uint *)((int)local_74 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (goto_statement "goto joined_r0x0017547a;" goto statement_identifier ;) })) (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xc);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xc)" * (cast_expression "(code **)(*piVar3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xc)" ( (binary_expression "*piVar3 + 0xc" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n                }" { (expression_statement "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(*piVar3 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(*piVar3 + 0xe8))" ( (pointer_expression "**(code **)(*piVar3 + 0xe8)" * (pointer_expression "*(code **)(*piVar3 + 0xe8)" * (cast_expression "(code **)(*piVar3 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xe8)" ( (binary_expression "*piVar3 + 0xe8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" else (compound_statement "{\n                  cVar8 = (*pcVar4)(piVar3);\n                }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (labeled_statement "LAB_001753da:\n                str_off._0_4_ = (char *)*local_74;" statement_identifier : (expression_statement "str_off._0_4_ = (char *)*local_74;" (assignment_expression "str_off._0_4_ = (char *)*local_74" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;)) (expression_statement "uVar10 = local_74[1];" (assignment_expression "uVar10 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "str_off._4_4_ = uVar10;" (assignment_expression "str_off._4_4_ = uVar10" (field_expression "str_off._4_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);\n                }" { (expression_statement "str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;" (assignment_expression "str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (field_expression "str_off._4_4_" identifier . field_identifier) = (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8" (binary_expression "(uint)(char *)str_off >> 0x18" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(char *)str_off & 0xff0000) >> 8" (parenthesized_expression "((uint)(char *)str_off & 0xff0000)" ( (binary_expression "(uint)(char *)str_off & 0xff0000" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(char *)str_off & 0xff00) << 8" (parenthesized_expression "((uint)(char *)str_off & 0xff00)" ( (binary_expression "(uint)(char *)str_off & 0xff00" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(char *)str_off << 0x18" (cast_expression "(int)(char *)str_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal))) ;) (expression_statement "str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18);" (assignment_expression "str_off._0_4_ =\n                       (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18)" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18)" ( (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                               uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_0017544c:\n                attr_value.aux.shndx =\n                     Dwarf_info_reader::lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;" statement_identifier : (ERROR "attr_value.aux.shndx =\n                     Dwarf_info_reader::" (assignment_expression "attr_value.aux.shndx =\n                     Dwarf_info_reader" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) = identifier) : :) (expression_statement "lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)\n                ;" (call_expression "lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)" identifier (argument_list "((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)" ( (cast_expression "(Dwarf_info_reader *)*in_EAX" ( (type_descriptor "Dwarf_info_reader *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*in_EAX" * identifier)) , identifier , (pointer_expression "&str_off" & identifier) ))) ;)) (expression_statement "attr_value.val.uintval._4_4_ = str_off._4_4_;" (assignment_expression "attr_value.val.uintval._4_4_ = str_off._4_4_" (field_expression "attr_value.val.uintval._4_4_" (field_expression "attr_value.val.uintval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (field_expression "str_off._4_4_" identifier . field_identifier)) ;) (expression_statement "attr_value.val.stringval = (char *)str_off;" (assignment_expression "attr_value.val.stringval = (char *)str_off" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (goto_statement "goto joined_r0x0017547a;" goto statement_identifier ;) })) (if_statement "if (uVar11 == 0xf) {\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }" if (parenthesized_expression "(uVar11 == 0xf)" ( (binary_expression "uVar11 == 0xf" identifier == number_literal) )) (compound_statement "{\nLAB_00175135:\n                bVar2 = (byte)*local_74;\n                if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }" { (labeled_statement "LAB_00175135:\n                bVar2 = (byte)*local_74;" statement_identifier : (expression_statement "bVar2 = (byte)*local_74;" (assignment_expression "bVar2 = (byte)*local_74" identifier = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;)) (if_statement "if ((char)bVar2 < '\0') {\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }\n                else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" if (parenthesized_expression "((char)bVar2 < '\0')" ( (binary_expression "(char)bVar2 < '\0'" (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);\n                  local_74 = (uint *)((int)local_74 + len);\n                }" { (expression_statement "attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2);" (assignment_expression "attr_value.val.uintval =\n                       read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2)" (field_expression "attr_value.val.uintval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (call_expression "read_unsigned_LEB_128_x((uchar *)((int)local_74 + 1),&len,bVar2)" identifier (argument_list "((uchar *)((int)local_74 + 1),&len,bVar2)" ( (cast_expression "(uchar *)((int)local_74 + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (pointer_expression "&len" & identifier) , identifier )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + len);" (assignment_expression "local_74 = (uint *)((int)local_74 + len)" identifier = (cast_expression "(uint *)((int)local_74 + len)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + len)" ( (binary_expression "(int)local_74 + len" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" else (compound_statement "{\n                  len = 1;\n                  attr_value.val.intval._1_7_ = 0;\n                  attr_value.val.intval._0_1_ = bVar2;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" { (expression_statement "len = 1;" (assignment_expression "len = 1" identifier = number_literal) ;) (expression_statement "attr_value.val.intval._1_7_ = 0;" (assignment_expression "attr_value.val.intval._1_7_ = 0" (field_expression "attr_value.val.intval._1_7_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "attr_value.val.intval._0_1_ = bVar2;" (assignment_expression "attr_value.val.intval._0_1_ = bVar2" (field_expression "attr_value.val.intval._0_1_" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (uVar11 != 0x10) {\n                return false;\n              }" if (parenthesized_expression "(uVar11 != 0x10)" ( (binary_expression "uVar11 != 0x10" identifier != number_literal) )) (compound_statement "{\n                return false;\n              }" { (return_statement "return false;" return false ;) })) (expression_statement "iVar9 = *in_EAX;" (assignment_expression "iVar9 = *in_EAX" identifier = (pointer_expression "*in_EAX" * identifier)) ;) (expression_statement "iVar14 = *(int *)(iVar9 + 0x48);" (assignment_expression "iVar14 = *(int *)(iVar9 + 0x48)" identifier = (pointer_expression "*(int *)(iVar9 + 0x48)" * (cast_expression "(int *)(iVar9 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x48)" ( (binary_expression "iVar9 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (2 < *(uint *)(iVar9 + 0x4c)) {\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }" if (parenthesized_expression "(2 < *(uint *)(iVar9 + 0x4c))" ( (binary_expression "2 < *(uint *)(iVar9 + 0x4c)" number_literal < (pointer_expression "*(uint *)(iVar9 + 0x4c)" * (cast_expression "(uint *)(iVar9 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x4c)" ( (binary_expression "iVar9 + 0x4c" identifier + number_literal) ))))) )) (compound_statement "{\n                iVar14 = *(int *)(iVar9 + 0x44);\n              }" { (expression_statement "iVar14 = *(int *)(iVar9 + 0x44);" (assignment_expression "iVar14 = *(int *)(iVar9 + 0x44)" identifier = (pointer_expression "*(int *)(iVar9 + 0x44)" * (cast_expression "(int *)(iVar9 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x44)" ( (binary_expression "iVar9 + 0x44" identifier + number_literal) ))))) ;) })) (expression_statement "piVar3 = *(int **)(iVar9 + 8);" (assignment_expression "piVar3 = *(int **)(iVar9 + 8)" identifier = (pointer_expression "*(int **)(iVar9 + 8)" * (cast_expression "(int **)(iVar9 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *piVar3;" (assignment_expression "iVar9 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "pcVar4 = *(code **)(iVar9 + 0xc);" (assignment_expression "pcVar4 = *(code **)(iVar9 + 0xc)" identifier = (pointer_expression "*(code **)(iVar9 + 0xc)" * (cast_expression "(code **)(iVar9 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar14 == 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" if (parenthesized_expression "(iVar14 == 4)" ( (binary_expression "iVar14 == 4" identifier == number_literal) )) (compound_statement "{\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                str_off._4_4_ = 0;\n                if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }\n                local_74 = local_74 + 1;\n              }" { (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }" { (expression_statement "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(iVar9 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(iVar9 + 0xe8))" ( (pointer_expression "**(code **)(iVar9 + 0xe8)" * (pointer_expression "*(code **)(iVar9 + 0xe8)" * (cast_expression "(code **)(iVar9 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xe8)" ( (binary_expression "iVar9 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" else (compound_statement "{\n                  cVar8 = (*pcVar4)(piVar3);\n                }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "str_off._0_4_ = (char *)*local_74;" (assignment_expression "str_off._0_4_ = (char *)*local_74" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "str_off._4_4_ = 0;" (assignment_expression "str_off._4_4_ = 0" (field_expression "str_off._4_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if (cVar8 != '\0') {\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );\n                }" { (expression_statement "str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               );" (assignment_expression "str_off._0_4_ =\n                       (char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               )" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18\n                               )" ( (binary_expression "(uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (binary_expression "(uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8 |\n                                ((uint)(char *)str_off & 0xff00) << 8" (binary_expression "(uint)(char *)str_off >> 0x18 |\n                                ((uint)(char *)str_off & 0xff0000) >> 8" (binary_expression "(uint)(char *)str_off >> 0x18" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(char *)str_off & 0xff0000) >> 8" (parenthesized_expression "((uint)(char *)str_off & 0xff0000)" ( (binary_expression "(uint)(char *)str_off & 0xff0000" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(char *)str_off & 0xff00) << 8" (parenthesized_expression "((uint)(char *)str_off & 0xff00)" ( (binary_expression "(uint)(char *)str_off & 0xff00" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(char *)str_off << 0x18" (cast_expression "(int)(char *)str_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" else (compound_statement "{\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                str_off._0_4_ = (char *)*local_74;\n                uVar11 = local_74[1];\n                str_off._4_4_ = uVar11;\n                if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" { (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }" { (expression_statement "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(iVar9 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(iVar9 + 0xe8))" ( (pointer_expression "**(code **)(iVar9 + 0xe8)" * (pointer_expression "*(code **)(iVar9 + 0xe8)" * (cast_expression "(code **)(iVar9 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xe8)" ( (binary_expression "iVar9 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" else (compound_statement "{\n                  cVar8 = (*pcVar4)(piVar3);\n                }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "str_off._0_4_ = (char *)*local_74;" (assignment_expression "str_off._0_4_ = (char *)*local_74" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "str_off._4_4_ = uVar11;" (assignment_expression "str_off._4_4_ = uVar11" (field_expression "str_off._4_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (cVar8 != '\0') {\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;\n                  str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);\n                }" { (expression_statement "str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;" (assignment_expression "str_off._4_4_ =\n                       (uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (field_expression "str_off._4_4_" identifier . field_identifier) = (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8 |\n                       ((uint)(char *)str_off & 0xff00) << 8" (binary_expression "(uint)(char *)str_off >> 0x18 | ((uint)(char *)str_off & 0xff0000) >> 8" (binary_expression "(uint)(char *)str_off >> 0x18" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(char *)str_off & 0xff0000) >> 8" (parenthesized_expression "((uint)(char *)str_off & 0xff0000)" ( (binary_expression "(uint)(char *)str_off & 0xff0000" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(char *)str_off & 0xff00) << 8" (parenthesized_expression "((uint)(char *)str_off & 0xff00)" ( (binary_expression "(uint)(char *)str_off & 0xff00" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(char *)str_off << 0x18" (cast_expression "(int)(char *)str_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal))) ;) (expression_statement "str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18);" (assignment_expression "str_off._0_4_ =\n                       (char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18)" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                               uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (ERROR "attr_value.aux.shndx =\n                   Dwarf_info_reader::" (assignment_expression "attr_value.aux.shndx =\n                   Dwarf_info_reader" (field_expression "attr_value.aux.shndx" (field_expression "attr_value.aux" identifier . field_identifier) . field_identifier) = identifier) : :) (expression_statement "lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off);" (call_expression "lookup_reloc((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)" identifier (argument_list "((Dwarf_info_reader *)*in_EAX,local_6c,&str_off)" ( (cast_expression "(Dwarf_info_reader *)*in_EAX" ( (type_descriptor "Dwarf_info_reader *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*in_EAX" * identifier)) , identifier , (pointer_expression "&str_off" & identifier) ))) ;) (expression_statement "attr_value.val.uintval._4_4_ = str_off._4_4_;" (assignment_expression "attr_value.val.uintval._4_4_ = str_off._4_4_" (field_expression "attr_value.val.uintval._4_4_" (field_expression "attr_value.val.uintval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (field_expression "str_off._4_4_" identifier . field_identifier)) ;) (expression_statement "attr_value.val.stringval = (char *)str_off;" (assignment_expression "attr_value.val.stringval = (char *)str_off" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar17 != 0x31) goto LAB_00175028;" if (parenthesized_expression "(uVar17 != 0x31)" ( (binary_expression "uVar17 != 0x31" identifier != number_literal) )) (goto_statement "goto LAB_00175028;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_00174e40;" goto statement_identifier ;) })) (if_statement "if (uVar11 == 0x19) {\n            attr_value.val.intval = 1;\n          }\n          else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" if (parenthesized_expression "(uVar11 == 0x19)" ( (binary_expression "uVar11 == 0x19" identifier == number_literal) )) (compound_statement "{\n            attr_value.val.intval = 1;\n          }" { (expression_statement "attr_value.val.intval = 1;" (assignment_expression "attr_value.val.intval = 1" (field_expression "attr_value.val.intval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = number_literal) ;) }) (else_clause "else {\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" else (compound_statement "{\n            if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }\n            piVar3 = *(int **)(*in_EAX + 8);\n            pcVar4 = *(code **)(*piVar3 + 0xc);\n            if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }\n            attr_value.val.stringval = (char *)*local_74;\n            uVar10 = local_74[1];\n            attr_value.val.uintval._4_4_ = uVar10;\n            if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" { (if_statement "if (uVar11 < 0x1a) {\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }" if (parenthesized_expression "(uVar11 < 0x1a)" ( (binary_expression "uVar11 < 0x1a" identifier < number_literal) )) (compound_statement "{\n              if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }\n              piVar3 = *(int **)(*in_EAX + 8);\n              iVar9 = *piVar3;\n              pcVar4 = *(code **)(iVar9 + 0xc);\n              if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }\nLAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;\n              str_off._4_4_ = 0;\n              if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }" { (if_statement "if (uVar11 != 0x17) {\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }" if (parenthesized_expression "(uVar11 != 0x17)" ( (binary_expression "uVar11 != 0x17" identifier != number_literal) )) (compound_statement "{\n                if (uVar11 != 0x18) {\n                  return false;\n                }\n                goto LAB_00174f39;\n              }" { (if_statement "if (uVar11 != 0x18) {\n                  return false;\n                }" if (parenthesized_expression "(uVar11 != 0x18)" ( (binary_expression "uVar11 != 0x18" identifier != number_literal) )) (compound_statement "{\n                  return false;\n                }" { (return_statement "return false;" return false ;) })) (goto_statement "goto LAB_00174f39;" goto statement_identifier ;) })) (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "iVar9 = *piVar3;" (assignment_expression "iVar9 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "pcVar4 = *(code **)(iVar9 + 0xc);" (assignment_expression "pcVar4 = *(code **)(iVar9 + 0xc)" identifier = (pointer_expression "*(code **)(iVar9 + 0xc)" * (cast_expression "(code **)(iVar9 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*in_EAX + 0x44) != 4) {\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }" if (parenthesized_expression "(*(int *)(*in_EAX + 0x44) != 4)" ( (binary_expression "*(int *)(*in_EAX + 0x44) != 4" (pointer_expression "*(int *)(*in_EAX + 0x44)" * (cast_expression "(int *)(*in_EAX + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_EAX + 0x44)" ( (binary_expression "*in_EAX + 0x44" (pointer_expression "*in_EAX" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n                if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }\n                goto LAB_001753da;\n              }" { (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }\n                else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n                }" { (expression_statement "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(iVar9 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(iVar9 + 0xe8))" ( (pointer_expression "**(code **)(iVar9 + 0xe8)" * (pointer_expression "*(code **)(iVar9 + 0xe8)" * (cast_expression "(code **)(iVar9 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xe8)" ( (binary_expression "iVar9 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar8 = (*pcVar4)(piVar3);\n                }" else (compound_statement "{\n                  cVar8 = (*pcVar4)(piVar3);\n                }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (goto_statement "goto LAB_001753da;" goto statement_identifier ;) })) (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }\n              else {\n                cVar8 = (*pcVar4)(piVar3);\n              }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);\n              }" { (expression_statement "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(iVar9 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(iVar9 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(iVar9 + 0xe8))" ( (pointer_expression "**(code **)(iVar9 + 0xe8)" * (pointer_expression "*(code **)(iVar9 + 0xe8)" * (cast_expression "(code **)(iVar9 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xe8)" ( (binary_expression "iVar9 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n                cVar8 = (*pcVar4)(piVar3);\n              }" else (compound_statement "{\n                cVar8 = (*pcVar4)(piVar3);\n              }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (labeled_statement "LAB_0017542a:\n              str_off._0_4_ = (char *)*local_74;" statement_identifier : (expression_statement "str_off._0_4_ = (char *)*local_74;" (assignment_expression "str_off._0_4_ = (char *)*local_74" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;)) (expression_statement "str_off._4_4_ = 0;" (assignment_expression "str_off._4_4_ = 0" (field_expression "str_off._4_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if (cVar8 != '\0') {\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);\n              }" { (expression_statement "str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);" (assignment_expression "str_off._0_4_ =\n                     (char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18)" (field_expression "str_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18)" ( (binary_expression "(uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18" (binary_expression "(uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8 |\n                              ((uint)(char *)str_off & 0xff00) << 8" (binary_expression "(uint)(char *)str_off >> 0x18 |\n                              ((uint)(char *)str_off & 0xff0000) >> 8" (binary_expression "(uint)(char *)str_off >> 0x18" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(char *)str_off & 0xff0000) >> 8" (parenthesized_expression "((uint)(char *)str_off & 0xff0000)" ( (binary_expression "(uint)(char *)str_off & 0xff0000" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(char *)str_off & 0xff00) << 8" (parenthesized_expression "((uint)(char *)str_off & 0xff00)" ( (binary_expression "(uint)(char *)str_off & 0xff00" (cast_expression "(uint)(char *)str_off" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(char *)str_off << 0x18" (cast_expression "(int)(char *)str_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)str_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0017544c;" goto statement_identifier ;) })) (if_statement "if (uVar11 != 0x20) {\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }" if (parenthesized_expression "(uVar11 != 0x20)" ( (binary_expression "uVar11 != 0x20" identifier != number_literal) )) (compound_statement "{\n              if (uVar11 < 0x20) {\n                return false;\n              }\n              if (1 < uVar11 - 0x1f01) {\n                return false;\n              }\n              goto LAB_00175135;\n            }" { (if_statement "if (uVar11 < 0x20) {\n                return false;\n              }" if (parenthesized_expression "(uVar11 < 0x20)" ( (binary_expression "uVar11 < 0x20" identifier < number_literal) )) (compound_statement "{\n                return false;\n              }" { (return_statement "return false;" return false ;) })) (if_statement "if (1 < uVar11 - 0x1f01) {\n                return false;\n              }" if (parenthesized_expression "(1 < uVar11 - 0x1f01)" ( (binary_expression "1 < uVar11 - 0x1f01" number_literal < (binary_expression "uVar11 - 0x1f01" identifier - number_literal)) )) (compound_statement "{\n                return false;\n              }" { (return_statement "return false;" return false ;) })) (goto_statement "goto LAB_00175135;" goto statement_identifier ;) })) (expression_statement "piVar3 = *(int **)(*in_EAX + 8);" (assignment_expression "piVar3 = *(int **)(*in_EAX + 8)" identifier = (pointer_expression "*(int **)(*in_EAX + 8)" * (cast_expression "(int **)(*in_EAX + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_EAX + 8)" ( (binary_expression "*in_EAX + 8" (pointer_expression "*in_EAX" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(*piVar3 + 0xc);" (assignment_expression "pcVar4 = *(code **)(*piVar3 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar3 + 0xc)" * (cast_expression "(code **)(*piVar3 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xc)" ( (binary_expression "*piVar3 + 0xc" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar4 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }\n            else {\n              cVar8 = (*pcVar4)(piVar3);\n            }" if (parenthesized_expression "(pcVar4 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar4 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n              cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);\n            }" { (expression_statement "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3);" (assignment_expression "cVar8 = (**(code **)(*piVar3 + 0xe8))(piVar3)" identifier = (call_expression "(**(code **)(*piVar3 + 0xe8))(piVar3)" (parenthesized_expression "(**(code **)(*piVar3 + 0xe8))" ( (pointer_expression "**(code **)(*piVar3 + 0xe8)" * (pointer_expression "*(code **)(*piVar3 + 0xe8)" * (cast_expression "(code **)(*piVar3 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 0xe8)" ( (binary_expression "*piVar3 + 0xe8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "(piVar3)" ( identifier )))) ;) }) (else_clause "else {\n              cVar8 = (*pcVar4)(piVar3);\n            }" else (compound_statement "{\n              cVar8 = (*pcVar4)(piVar3);\n            }" { (expression_statement "cVar8 = (*pcVar4)(piVar3);" (assignment_expression "cVar8 = (*pcVar4)(piVar3)" identifier = (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier )))) ;) }))) (expression_statement "attr_value.val.stringval = (char *)*local_74;" (assignment_expression "attr_value.val.stringval = (char *)*local_74" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)*local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar10 = local_74[1];" (assignment_expression "uVar10 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "attr_value.val.uintval._4_4_ = uVar10;" (assignment_expression "attr_value.val.uintval._4_4_ = uVar10" (field_expression "attr_value.val.uintval._4_4_" (field_expression "attr_value.val.uintval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (cVar8 != '\0') {\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;\n              attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);\n            }" { (expression_statement "attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18;" (assignment_expression "attr_value.val.uintval._4_4_ =\n                   (uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18" (field_expression "attr_value.val.uintval._4_4_" (field_expression "attr_value.val.uintval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8 |\n                   (int)attr_value.val.stringval << 0x18" (binary_expression "(uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8 |\n                   ((uint)attr_value.val.stringval & 0xff00) << 8" (binary_expression "(uint)attr_value.val.stringval >> 0x18 |\n                   ((uint)attr_value.val.stringval & 0xff0000) >> 8" (binary_expression "(uint)attr_value.val.stringval >> 0x18" (cast_expression "(uint)attr_value.val.stringval" ( (type_descriptor "uint" type_identifier) ) (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier)) >> number_literal) | (binary_expression "((uint)attr_value.val.stringval & 0xff0000) >> 8" (parenthesized_expression "((uint)attr_value.val.stringval & 0xff0000)" ( (binary_expression "(uint)attr_value.val.stringval & 0xff0000" (cast_expression "(uint)attr_value.val.stringval" ( (type_descriptor "uint" type_identifier) ) (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)attr_value.val.stringval & 0xff00) << 8" (parenthesized_expression "((uint)attr_value.val.stringval & 0xff00)" ( (binary_expression "(uint)attr_value.val.stringval & 0xff00" (cast_expression "(uint)attr_value.val.stringval" ( (type_descriptor "uint" type_identifier) ) (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)attr_value.val.stringval << 0x18" (cast_expression "(int)attr_value.val.stringval" ( (type_descriptor "int" primitive_type) ) (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier)) << number_literal))) ;) (expression_statement "attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18);" (assignment_expression "attr_value.val.stringval =\n                   (char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18)" (field_expression "attr_value.val.stringval" (field_expression "attr_value.val" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18)" ( (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                           uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (if_statement "if ((uVar17 == 0x6e) || (uVar17 == 0x2007)) goto LAB_001751f0;" if (parenthesized_expression "((uVar17 == 0x6e) || (uVar17 == 0x2007))" ( (binary_expression "(uVar17 == 0x6e) || (uVar17 == 0x2007)" (parenthesized_expression "(uVar17 == 0x6e)" ( (binary_expression "uVar17 == 0x6e" identifier == number_literal) )) || (parenthesized_expression "(uVar17 == 0x2007)" ( (binary_expression "uVar17 == 0x2007" identifier == number_literal) ))) )) (goto_statement "goto LAB_001751f0;" goto statement_identifier ;)) (labeled_statement "LAB_001754d5:\n          puVar18 = local_74;" statement_identifier : (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;)) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (if_statement "if (uVar17 != 3) goto LAB_00174ea0;" if (parenthesized_expression "(uVar17 != 3)" ( (binary_expression "uVar17 != 3" identifier != number_literal) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (labeled_statement "LAB_00174c88:\n          puVar18 = local_74;" statement_identifier : (expression_statement "puVar18 = local_74;" (assignment_expression "puVar18 = local_74" identifier = identifier) ;)) (if_statement "if (uVar11 == 8) goto LAB_00175230;" if (parenthesized_expression "(uVar11 == 8)" ( (binary_expression "uVar11 == 8" identifier == number_literal) )) (goto_statement "goto LAB_00175230;" goto statement_identifier ;)) (expression_statement "aVar20 = attr_value.val;" (assignment_expression "aVar20 = attr_value.val" identifier = (field_expression "attr_value.val" identifier . field_identifier)) ;) (if_statement "if (uVar11 == 0xe) goto LAB_00174c9a;" if (parenthesized_expression "(uVar11 == 0xe)" ( (binary_expression "uVar11 == 0xe" identifier == number_literal) )) (goto_statement "goto LAB_00174c9a;" goto statement_identifier ;)) }))))) (labeled_statement "LAB_00174ea0:\n        attr_value.val = aVar20;" statement_identifier : (expression_statement "attr_value.val = aVar20;" (assignment_expression "attr_value.val = aVar20" (field_expression "attr_value.val" identifier . field_identifier) = identifier) ;)) (expression_statement "local_74 = puVar18;" (assignment_expression "local_74 = puVar18" identifier = identifier) ;) (expression_statement "__position._M_current = (Attribute_value *)in_EAX[0xc];" (assignment_expression "__position._M_current = (Attribute_value *)in_EAX[0xc]" (field_expression "__position._M_current" identifier . field_identifier) = (cast_expression "(Attribute_value *)in_EAX[0xc]" ( (type_descriptor "Attribute_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "in_EAX[0xc]" identifier [ number_literal ]))) ;) (if_statement "if (__position._M_current != (Attribute_value *)in_EAX[0xd]) goto LAB_00174eac;" if (parenthesized_expression "(__position._M_current != (Attribute_value *)in_EAX[0xd])" ( (binary_expression "__position._M_current != (Attribute_value *)in_EAX[0xd]" (field_expression "__position._M_current" identifier . field_identifier) != (cast_expression "(Attribute_value *)in_EAX[0xd]" ( (type_descriptor "Attribute_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "in_EAX[0xd]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_00174eac;" goto statement_identifier ;)) (labeled_statement "LAB_00174cc0:\n        std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);" statement_identifier : (labeled_statement "std::\n        vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);" statement_identifier (ERROR "::\n        vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);" statement_identifier (ERROR "::Attribute_value,_std::allocator<gold:" : : (comma_expression "Attribute_value,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwarf_die::Attribute_value>_>\n        ::_M_realloc_insert<const_gold::Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);" statement_identifier (ERROR "::Attribute_value>_>\n        ::_M_realloc_insert<const_gold:" : : (binary_expression "Attribute_value>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<const_gold" identifier < identifier) :) : (labeled_statement "Dwarf_die::Attribute_value&>\n                  ((vector<gold::Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);" statement_identifier (ERROR "::Attribute_value&>\n                  ((vector<gold:" : : identifier (ERROR "&" &) > ( ( (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Dwarf_die::Attribute_value,_std::allocator<gold::Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);" statement_identifier (ERROR "::Attribute_value,_std::allocator<gold:" : : (comma_expression "Attribute_value,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwarf_die::Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);" statement_identifier : (ERROR ":" :) (expression_statement "Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value);" (comma_expression "Attribute_value>_>\n                    *)(in_EAX + 0xb),__position,&attr_value" (binary_expression "Attribute_value>_>\n                    *)(in_EAX + 0xb" (binary_expression "Attribute_value>_" identifier > identifier) > (binary_expression "*)(in_EAX + 0xb" (pointer_expression "*)(in_EAX" * (ERROR ")(" ) () identifier) + number_literal)) (ERROR ")" )) , (comma_expression "__position,&attr_value" identifier , (pointer_expression "&attr_value" & identifier))) (ERROR ")" )) ;)))))))) }))) (expression_statement "local_70 = local_70 + 8;" (assignment_expression "local_70 = local_70 + 8" identifier = (binary_expression "local_70 + 8" identifier + number_literal)) ;) (expression_statement "iVar9 = in_EAX[10];" (assignment_expression "iVar9 = in_EAX[10]" identifier = (subscript_expression "in_EAX[10]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "(local_70 != iVar13)" ( (binary_expression "local_70 != iVar13" identifier != identifier) )) ;) }))) (if_statement "if (iVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable((char *)(unaff_EDI + 0xf2cea),0x206,(char *)(unaff_EDI + 0xf2ef3));\n  }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable((char *)(unaff_EDI + 0xf2cea),0x206,(char *)(unaff_EDI + 0xf2ef3));\n  }" { comment (expression_statement "do_gold_unreachable((char *)(unaff_EDI + 0xf2cea),0x206,(char *)(unaff_EDI + 0xf2ef3));" (call_expression "do_gold_unreachable((char *)(unaff_EDI + 0xf2cea),0x206,(char *)(unaff_EDI + 0xf2ef3))" identifier (argument_list "((char *)(unaff_EDI + 0xf2cea),0x206,(char *)(unaff_EDI + 0xf2ef3))" ( (cast_expression "(char *)(unaff_EDI + 0xf2cea)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xf2cea)" ( (binary_expression "unaff_EDI + 0xf2cea" identifier + number_literal) ))) , number_literal , (cast_expression "(char *)(unaff_EDI + 0xf2ef3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0xf2ef3)" ( (binary_expression "unaff_EDI + 0xf2ef3" identifier + number_literal) ))) ))) ;) })) (labeled_statement "LAB_00174ef3:\n  uVar17 = (int)local_74 - (int)puVar1;" statement_identifier : (expression_statement "uVar17 = (int)local_74 - (int)puVar1;" (assignment_expression "uVar17 = (int)local_74 - (int)puVar1" identifier = (binary_expression "(int)local_74 - (int)puVar1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "iVar13 = uVar17 + in_EAX[2];" (assignment_expression "iVar13 = uVar17 + in_EAX[2]" identifier = (binary_expression "uVar17 + in_EAX[2]" identifier + (subscript_expression "in_EAX[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar14 = ((int)uVar17 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar17,in_EAX[2]);" (assignment_expression "iVar14 = ((int)uVar17 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar17,in_EAX[2])" identifier = (binary_expression "((int)uVar17 >> 0x1f) + in_EAX[3] + (uint)CARRY4(uVar17,in_EAX[2])" (binary_expression "((int)uVar17 >> 0x1f) + in_EAX[3]" (parenthesized_expression "((int)uVar17 >> 0x1f)" ( (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (subscript_expression "in_EAX[3]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar17,in_EAX[2])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar17,in_EAX[2])" identifier (argument_list "(uVar17,in_EAX[2])" ( identifier , (subscript_expression "in_EAX[2]" identifier [ number_literal ]) )))))) ;) (if_statement "if ((*(byte *)(iVar9 + 4) & 1) == 0) {\n    in_EAX[8] = iVar13;\n    in_EAX[9] = iVar14;\n  }\n  else {\n    in_EAX[6] = iVar13;\n    in_EAX[7] = iVar14;\n  }" if (parenthesized_expression "((*(byte *)(iVar9 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar9 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar9 + 4) & 1)" ( (binary_expression "*(byte *)(iVar9 + 4) & 1" (pointer_expression "*(byte *)(iVar9 + 4)" * (cast_expression "(byte *)(iVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    in_EAX[8] = iVar13;\n    in_EAX[9] = iVar14;\n  }" { (expression_statement "in_EAX[8] = iVar13;" (assignment_expression "in_EAX[8] = iVar13" (subscript_expression "in_EAX[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "in_EAX[9] = iVar14;" (assignment_expression "in_EAX[9] = iVar14" (subscript_expression "in_EAX[9]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    in_EAX[6] = iVar13;\n    in_EAX[7] = iVar14;\n  }" else (compound_statement "{\n    in_EAX[6] = iVar13;\n    in_EAX[7] = iVar14;\n  }" { (expression_statement "in_EAX[6] = iVar13;" (assignment_expression "in_EAX[6] = iVar13" (subscript_expression "in_EAX[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "in_EAX[7] = iVar14;" (assignment_expression "in_EAX[7] = iVar14" (subscript_expression "in_EAX[7]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "*(undefined1 *)(in_EAX + 0xe) = 1;" (assignment_expression "*(undefined1 *)(in_EAX + 0xe) = 1" (pointer_expression "*(undefined1 *)(in_EAX + 0xe)" * (cast_expression "(undefined1 *)(in_EAX + 0xe)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_EAX + 0xe)" ( (binary_expression "in_EAX + 0xe" identifier + number_literal) )))) = number_literal) ;) (return_statement "return true;" return true ;) })))
(translation_unit "undefined4 __regparm3 FUN_00174ae0(int *param_1)\n\n{\n  byte bVar1;\n  void *__src;\n  int *piVar2;\n  code *pcVar3;\n  int iVar4;\n  void *pvVar5;\n  ushort uVar6;\n  ulonglong uVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  char cVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  byte *pbVar15;\n  uint uVar16;\n  int iVar17;\n  int iVar18;\n  void *pvVar19;\n  uint uVar20;\n  int unaff_EDI;\n  uint *puVar21;\n  undefined8 uVar22;\n  ulonglong uVar23;\n  uint *local_74;\n  int local_70;\n  uint local_6c;\n  size_t local_40;\n  uint *local_3c;\n  uint local_38;\n  uint local_30;\n  uint local_2c;\n  undefined8 local_28;\n  uint local_20;\n  \n  uVar22 = FUN_00058c4a();\n  iVar12 = *(int *)((int)uVar22 + 0x28);\n  if (iVar12 == 0) {\n                    \n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }\n  iVar17 = *param_1;\n  iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);\n  if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }\n  if (iVar14 == 0) {\n    return 0;\n  }\n  iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);\n  local_74 = (uint *)(iVar14 + param_1[4]);\n  uVar20 = iVar17 >> 3;\n  if (0xccccccc < uVar20) {\n                    \n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }\n  __src = (void *)param_1[0xb];\n  if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }\n  if (iVar12 == 0) {\n    local_28 = uVar7;\n                    \n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }\nLAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;\n  iVar14 = uVar20 + param_1[2];\n  iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);\n  if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }\n  *(undefined1 *)(param_1 + 0xe) = 1;\n  return 1;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_00174ae0(int *param_1)\n\n{\n  byte bVar1;\n  void *__src;\n  int *piVar2;\n  code *pcVar3;\n  int iVar4;\n  void *pvVar5;\n  ushort uVar6;\n  ulonglong uVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  char cVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  byte *pbVar15;\n  uint uVar16;\n  int iVar17;\n  int iVar18;\n  void *pvVar19;\n  uint uVar20;\n  int unaff_EDI;\n  uint *puVar21;\n  undefined8 uVar22;\n  ulonglong uVar23;\n  uint *local_74;\n  int local_70;\n  uint local_6c;\n  size_t local_40;\n  uint *local_3c;\n  uint local_38;\n  uint local_30;\n  uint local_2c;\n  undefined8 local_28;\n  uint local_20;\n  \n  uVar22 = FUN_00058c4a();\n  iVar12 = *(int *)((int)uVar22 + 0x28);\n  if (iVar12 == 0) {\n                    \n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }\n  iVar17 = *param_1;\n  iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);\n  if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }\n  if (iVar14 == 0) {\n    return 0;\n  }\n  iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);\n  local_74 = (uint *)(iVar14 + param_1[4]);\n  uVar20 = iVar17 >> 3;\n  if (0xccccccc < uVar20) {\n                    \n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }\n  __src = (void *)param_1[0xb];\n  if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }\n  if (iVar12 == 0) {\n    local_28 = uVar7;\n                    \n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }\nLAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;\n  iVar14 = uVar20 + param_1[2];\n  iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);\n  if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }\n  *(undefined1 *)(param_1 + 0xe) = 1;\n  return 1;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00174ae0(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  void *__src;\n  int *piVar2;\n  code *pcVar3;\n  int iVar4;\n  void *pvVar5;\n  ushort uVar6;\n  ulonglong uVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  char cVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  byte *pbVar15;\n  uint uVar16;\n  int iVar17;\n  int iVar18;\n  void *pvVar19;\n  uint uVar20;\n  int unaff_EDI;\n  uint *puVar21;\n  undefined8 uVar22;\n  ulonglong uVar23;\n  uint *local_74;\n  int local_70;\n  uint local_6c;\n  size_t local_40;\n  uint *local_3c;\n  uint local_38;\n  uint local_30;\n  uint local_2c;\n  undefined8 local_28;\n  uint local_20;\n  \n  uVar22 = FUN_00058c4a();\n  iVar12 = *(int *)((int)uVar22 + 0x28);\n  if (iVar12 == 0) {\n                    \n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }\n  iVar17 = *param_1;\n  iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);\n  if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }\n  if (iVar14 == 0) {\n    return 0;\n  }\n  iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);\n  local_74 = (uint *)(iVar14 + param_1[4]);\n  uVar20 = iVar17 >> 3;\n  if (0xccccccc < uVar20) {\n                    \n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }\n  __src = (void *)param_1[0xb];\n  if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }\n  if (iVar12 == 0) {\n    local_28 = uVar7;\n                    \n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }\nLAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;\n  iVar14 = uVar20 + param_1[2];\n  iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);\n  if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }\n  *(undefined1 *)(param_1 + 0xe) = 1;\n  return 1;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "void *__src;" primitive_type (pointer_declarator "*__src" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "void *pvVar5;" primitive_type (pointer_declarator "*pvVar5" * identifier) ;) (declaration "ushort uVar6;" type_identifier identifier ;) (declaration "ulonglong uVar7;" type_identifier identifier ;) (declaration "ulonglong uVar8;" type_identifier identifier ;) (declaration "ulonglong uVar9;" type_identifier identifier ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "void *pvVar19;" primitive_type (pointer_declarator "*pvVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "uint *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "ulonglong uVar23;" type_identifier identifier ;) (declaration "uint *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "size_t local_40;" primitive_type identifier ;) (declaration "uint *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "undefined8 local_28;" type_identifier identifier ;) (declaration "uint local_20;" type_identifier identifier ;) (expression_statement "uVar22 = FUN_00058c4a();" (assignment_expression "uVar22 = FUN_00058c4a()" identifier = (call_expression "FUN_00058c4a()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = *(int *)((int)uVar22 + 0x28);" (assignment_expression "iVar12 = *(int *)((int)uVar22 + 0x28)" identifier = (pointer_expression "*(int *)((int)uVar22 + 0x28)" * (cast_expression "(int *)((int)uVar22 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar22 + 0x28)" ( (binary_expression "(int)uVar22 + 0x28" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar12 == 0) {\n                    \n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }" { (expression_statement "FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));" (call_expression "FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20))" identifier (argument_list "(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20))" ( (binary_expression "unaff_EDI + 0xf2c7a" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0xf2f03" identifier + number_literal) , (cast_expression "(int)((ulonglong)uVar22 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar22 >> 0x20)" ( (binary_expression "(ulonglong)uVar22 >> 0x20" (cast_expression "(ulonglong)uVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) })) (expression_statement "iVar17 = *param_1;" (assignment_expression "iVar17 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);" (assignment_expression "iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34)" identifier = (binary_expression "*(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34)" (binary_expression "*(int *)(iVar17 + 0x2c) + param_1[2]" (pointer_expression "*(int *)(iVar17 + 0x2c)" * (cast_expression "(int *)(iVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x2c)" ( (binary_expression "iVar17 + 0x2c" identifier + number_literal) )))) + (subscript_expression "param_1[2]" identifier [ number_literal ])) + (pointer_expression "*(int *)(iVar17 + 0x34)" * (cast_expression "(int *)(iVar17 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x34)" ( (binary_expression "iVar17 + 0x34" identifier + number_literal) )))))) ;) (if_statement "if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }" if (parenthesized_expression "((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U)" ( (binary_expression "(uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U" (call_expression "(uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c))" ( (binary_expression "*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)" (binary_expression "*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c)" (pointer_expression "*(int *)(iVar17 + 0x34)" * (cast_expression "(int *)(iVar17 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x34)" ( (binary_expression "iVar17 + 0x34" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar17 + 0x3c)" * (cast_expression "(int *)(iVar17 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x3c)" ( (binary_expression "iVar17 + 0x3c" identifier + number_literal) ))))) + (pointer_expression "*(int *)(iVar17 + 0x2c)" * (cast_expression "(int *)(iVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x2c)" ( (binary_expression "iVar17 + 0x2c" identifier + number_literal) ))))) ))) < (binary_expression "iVar14 + 1U" identifier + number_literal)) )) (compound_statement "{\n    FUN_001742f0(iVar17);\n    return 0;\n  }" { (expression_statement "FUN_001742f0(iVar17);" (call_expression "FUN_001742f0(iVar17)" identifier (argument_list "(iVar17)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (iVar14 == 0) {\n    return 0;\n  }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);" (assignment_expression "iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8)" identifier = (binary_expression "*(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8)" (pointer_expression "*(int *)(iVar12 + 0xc)" * (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))))) ;) (expression_statement "local_74 = (uint *)(iVar14 + param_1[4]);" (assignment_expression "local_74 = (uint *)(iVar14 + param_1[4])" identifier = (cast_expression "(uint *)(iVar14 + param_1[4])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + param_1[4])" ( (binary_expression "iVar14 + param_1[4]" identifier + (subscript_expression "param_1[4]" identifier [ number_literal ])) )))) ;) (expression_statement "uVar20 = iVar17 >> 3;" (assignment_expression "uVar20 = iVar17 >> 3" identifier = (binary_expression "iVar17 >> 3" identifier >> number_literal)) ;) (if_statement "if (0xccccccc < uVar20) {\n                    \n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }" if (parenthesized_expression "(0xccccccc < uVar20)" ( (binary_expression "0xccccccc < uVar20" number_literal < identifier) )) (compound_statement "{\n                    \n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }" { (expression_statement "FUN_001f1e60(unaff_EDI + 0xde53e);" (call_expression "FUN_001f1e60(unaff_EDI + 0xde53e)" identifier (argument_list "(unaff_EDI + 0xde53e)" ( (binary_expression "unaff_EDI + 0xde53e" identifier + number_literal) ))) ;) })) (expression_statement "__src = (void *)param_1[0xb];" (assignment_expression "__src = (void *)param_1[0xb]" identifier = (cast_expression "(void *)param_1[0xb]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) ;) (if_statement "if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }" if (parenthesized_expression "((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20)" ( (binary_expression "(uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20" (call_expression "(uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((param_1[0xd] - (int)__src >> 2) * -0x33333333)" ( (binary_expression "(param_1[0xd] - (int)__src >> 2) * -0x33333333" (parenthesized_expression "(param_1[0xd] - (int)__src >> 2)" ( (binary_expression "param_1[0xd] - (int)__src >> 2" (binary_expression "param_1[0xd] - (int)__src" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) - (cast_expression "(int)__src" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )) * number_literal) ))) < identifier) )) (compound_statement "{\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }" { (expression_statement "pvVar5 = (void *)param_1[0xc];" (assignment_expression "pvVar5 = (void *)param_1[0xc]" identifier = (cast_expression "(void *)param_1[0xc]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ]))) ;) (expression_statement "__n = (int)pvVar5 - (int)__src;" (assignment_expression "__n = (int)pvVar5 - (int)__src" identifier = (binary_expression "(int)pvVar5 - (int)__src" (cast_expression "(int)pvVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__src" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }" if (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) (compound_statement "{\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }" { (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pvVar19 = __src;" (assignment_expression "pvVar19 = __src" identifier = identifier) ;) }) (else_clause "else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }" else (compound_statement "{\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }" { (expression_statement "__dest = (void *)FUN_001aa8c0(uVar20 * 0x14);" (assignment_expression "__dest = (void *)FUN_001aa8c0(uVar20 * 0x14)" identifier = (cast_expression "(void *)FUN_001aa8c0(uVar20 * 0x14)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(uVar20 * 0x14)" identifier (argument_list "(uVar20 * 0x14)" ( (binary_expression "uVar20 * 0x14" identifier * number_literal) ))))) ;) (expression_statement "pvVar19 = (void *)param_1[0xb];" (assignment_expression "pvVar19 = (void *)param_1[0xb]" identifier = (cast_expression "(void *)param_1[0xb]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) ;) }))) (if_statement "if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }" if (parenthesized_expression "(__src != pvVar5)" ( (binary_expression "__src != pvVar5" identifier != identifier) )) (compound_statement "{\n      memmove(__dest,__src,__n);\n    }" { (expression_statement "memmove(__dest,__src,__n);" (call_expression "memmove(__dest,__src,__n)" identifier (argument_list "(__dest,__src,__n)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }" if (parenthesized_expression "(pvVar19 != (void *)0x0)" ( (binary_expression "pvVar19 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_001ac470(pvVar19);\n    }" { (expression_statement "FUN_001ac470(pvVar19);" (call_expression "FUN_001ac470(pvVar19)" identifier (argument_list "(pvVar19)" ( identifier ))) ;) })) (expression_statement "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "param_1[0xb] = (int)__dest;" (assignment_expression "param_1[0xb] = (int)__dest" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0xc] = __n + (int)__dest;" (assignment_expression "param_1[0xc] = __n + (int)__dest" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = (binary_expression "__n + (int)__dest" identifier + (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);" (assignment_expression "param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest)" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = (cast_expression "(int)(uVar20 * 0x14 + (int)__dest)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar20 * 0x14 + (int)__dest)" ( (binary_expression "uVar20 * 0x14 + (int)__dest" (binary_expression "uVar20 * 0x14" identifier * number_literal) + (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar12 = param_1[10];" (assignment_expression "iVar12 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (if_statement "if (uVar20 != 0) goto LAB_00174b7e;" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00174b7e;" goto statement_identifier ;)) }) (else_clause "else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }" else (compound_statement "{\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }" { (if_statement "if (uVar20 == 0) goto LAB_00174ef3;" if (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00174ef3;" goto statement_identifier ;)) (labeled_statement "LAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" statement_identifier : (expression_statement "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (do_statement "do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);" do (compound_statement "{\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    }" { (expression_statement "puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));" (assignment_expression "puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8))" identifier = (cast_expression "(uint *)(local_70 + *(int *)(iVar12 + 8))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_70 + *(int *)(iVar12 + 8))" ( (binary_expression "local_70 + *(int *)(iVar12 + 8)" identifier + (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "uVar20 = *puVar21;" (assignment_expression "uVar20 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (expression_statement "uVar16 = puVar21[1];" (assignment_expression "uVar16 = puVar21[1]" identifier = (subscript_expression "puVar21[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }" if (parenthesized_expression "(uVar16 == 0x16)" ( (binary_expression "uVar16 == 0x16" identifier == number_literal) )) (compound_statement "{\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }" { (expression_statement "uVar16 = (uint)(byte)*local_74;" (assignment_expression "uVar16 = (uint)(byte)*local_74" identifier = (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" if (parenthesized_expression "((char)(byte)*local_74 < '\0')" ( (binary_expression "(char)(byte)*local_74 < '\0'" (binary_expression "(char)(byte)*local_74" (cast_expression "(char)(byte)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(byte)" ( identifier ))) * identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }" { (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" identifier = identifier) ;) (expression_statement "uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);" (assignment_expression "uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16)" identifier = (call_expression "FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16)" identifier (argument_list "((uint *)((int)local_74 + 1),&local_40,uVar16)" ( (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (pointer_expression "&local_40" & identifier) , identifier )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" identifier = (cast_expression "(uint *)((int)local_74 + local_40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40)" ( (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "uVar7 = local_28;" (assignment_expression "uVar7 = local_28" identifier = identifier) ;) }) (else_clause "else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" else (compound_statement "{\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" { (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) })) (expression_statement "local_28._4_4_ = (uint)(uVar7 >> 0x20);" (assignment_expression "local_28._4_4_ = (uint)(uVar7 >> 0x20)" (field_expression "local_28._4_4_" identifier . field_identifier) = (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 >> 0x20)" ( (binary_expression "uVar7 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar11 = (int)local_74 - iVar14;" (assignment_expression "uVar11 = (int)local_74 - iVar14" identifier = (binary_expression "(int)local_74 - iVar14" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (expression_statement "iVar12 = uVar11 + param_1[2];" (assignment_expression "iVar12 = uVar11 + param_1[2]" identifier = (binary_expression "uVar11 + param_1[2]" identifier + (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);" (assignment_expression "iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2])" identifier = (binary_expression "((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2])" (binary_expression "((int)uVar11 >> 0x1f) + param_1[3]" (parenthesized_expression "((int)uVar11 >> 0x1f)" ( (binary_expression "(int)uVar11 >> 0x1f" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (subscript_expression "param_1[3]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar11,param_1[2])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,param_1[2])" identifier (argument_list "(uVar11,param_1[2])" ( identifier , (subscript_expression "param_1[2]" identifier [ number_literal ]) )))))) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_30 = uVar20;" (assignment_expression "local_30 = uVar20" identifier = identifier) ;) (expression_statement "local_2c = uVar16;" (assignment_expression "local_2c = uVar16" identifier = identifier) ;) (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" identifier = identifier) ;) (if_statement "if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }" if (parenthesized_expression "(uVar16 == 0xe)" ( (binary_expression "uVar16 == 0xe" identifier == number_literal) )) (compound_statement "{\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" identifier = (pointer_expression "*(code **)(iVar4 + 0xc)" * (cast_expression "(code **)(iVar4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" if (parenthesized_expression "(*(int *)(*param_1 + 0x44) == 4)" ( (binary_expression "*(int *)(*param_1 + 0x44) == 4" (pointer_expression "*(int *)(*param_1 + 0x44)" * (cast_expression "(int *)(*param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x44)" ( (binary_expression "*param_1 + 0x44" (pointer_expression "*param_1" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" else (compound_statement "{\n            cVar10 = (*pcVar3)(piVar2);\n          }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }" { (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" identifier = (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" else (compound_statement "{\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" else (compound_statement "{\n            cVar10 = (*pcVar3)(piVar2);\n          }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar16 = local_74[1];" (assignment_expression "uVar16 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar16;" (assignment_expression "local_38 = uVar16" identifier = identifier) ;) (if_statement "if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }" { (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" identifier = (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18)" identifier = (cast_expression "(uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18)" ( (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier = (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier (argument_list "(*param_1,iVar12,iVar18,&local_3c)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "uVar7 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (if_statement "if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }" if (parenthesized_expression "(uVar20 != 3)" ( (binary_expression "uVar20 != 3" identifier != number_literal) )) (compound_statement "{\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }" { (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (if_statement "if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;" if (parenthesized_expression "((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007))))" ( (binary_expression "(uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))" (parenthesized_expression "(uVar20 < 4)" ( (binary_expression "uVar20 < 4" identifier < number_literal) )) || (parenthesized_expression "((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))" ( (parenthesized_expression "(uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007))" ( (comma_expression "uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) , (binary_expression "uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)" (binary_expression "uVar20 != 0x6e" identifier != number_literal) && (parenthesized_expression "(uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)" ( (comma_expression "uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) , (comma_expression "uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) , (binary_expression "uVar20 != 0x2007" identifier != number_literal))) )))) )) ))) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (labeled_statement "LAB_00175373:\n          param_1[0x15] = local_20;" statement_identifier : (expression_statement "param_1[0x15] = local_20;" (assignment_expression "param_1[0x15] = local_20" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "*(ulonglong *)(param_1 + 0x13) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 0x13) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 0x13)" * (cast_expression "(ulonglong *)(param_1 + 0x13)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x13)" ( (binary_expression "param_1 + 0x13" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;) })) (labeled_statement "LAB_00174c9a:\n        param_1[0x15] = local_20;" statement_identifier : (expression_statement "param_1[0x15] = local_20;" (assignment_expression "param_1[0x15] = local_20" (subscript_expression "param_1[0x15]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "*(ulonglong *)(param_1 + 0x10) = uVar7;" (assignment_expression "*(ulonglong *)(param_1 + 0x10) = uVar7" (pointer_expression "*(ulonglong *)(param_1 + 0x10)" * (cast_expression "(ulonglong *)(param_1 + 0x10)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar21 = (uint *)param_1[0xc];" (assignment_expression "puVar21 = (uint *)param_1[0xc]" identifier = (cast_expression "(uint *)param_1[0xc]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ]))) ;) (if_statement "if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;" if (parenthesized_expression "(puVar21 != (uint *)param_1[0xd])" ( (binary_expression "puVar21 != (uint *)param_1[0xd]" identifier != (cast_expression "(uint *)param_1[0xd]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xd]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_00174eac;" goto statement_identifier ;)) (labeled_statement "LAB_00174cc0:\n        local_28 = uVar7;" statement_identifier : (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" identifier = identifier) ;)) (expression_statement "FUN_001780e0(param_1 + 0xb,puVar21,&local_30);" (call_expression "FUN_001780e0(param_1 + 0xb,puVar21,&local_30)" identifier (argument_list "(param_1 + 0xb,puVar21,&local_30)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) , identifier , (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "uVar7 = local_28;" (assignment_expression "uVar7 = local_28" identifier = identifier) ;) }) (else_clause "else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }" else (compound_statement "{\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }" { (if_statement "if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" if (parenthesized_expression "(uVar16 < 0xf)" ( (binary_expression "uVar16 < 0xf" identifier < number_literal) )) (compound_statement "{\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }" { (if_statement "if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" if (parenthesized_expression "(uVar16 == 7)" ( (binary_expression "uVar16 == 7" identifier == number_literal) )) (compound_statement "{\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" else (compound_statement "{\n              cVar10 = (*pcVar3)(piVar2);\n            }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar11;" (assignment_expression "local_38 = uVar11" identifier = identifier) ;) (if_statement "if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }" { (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" identifier = (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18)" identifier = (cast_expression "(uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" statement_identifier : (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier = (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier (argument_list "(*param_1,iVar12,iVar18,&local_3c)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;)) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (labeled_statement "joined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;" statement_identifier : (if_statement "if (uVar20 == 3) goto LAB_00174c88;" if (parenthesized_expression "(uVar20 == 3)" ( (binary_expression "uVar20 == 3" identifier == number_literal) )) (goto_statement "goto LAB_00174c88;" goto statement_identifier ;))) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }" if (parenthesized_expression "((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007))))" ( (binary_expression "(3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))" (parenthesized_expression "(3 < uVar20)" ( (binary_expression "3 < uVar20" number_literal < identifier) )) && (parenthesized_expression "((uVar20 == 0x6e || (uVar20 == 0x2007)))" ( (parenthesized_expression "(uVar20 == 0x6e || (uVar20 == 0x2007))" ( (binary_expression "uVar20 == 0x6e || (uVar20 == 0x2007)" (binary_expression "uVar20 == 0x6e" identifier == number_literal) || (parenthesized_expression "(uVar20 == 0x2007)" ( (binary_expression "uVar20 == 0x2007" identifier == number_literal) ))) )) ))) )) (compound_statement "{\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }" { (labeled_statement "LAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;" statement_identifier : (expression_statement "local_28._0_4_ = (uint *)uVar23;" (assignment_expression "local_28._0_4_ = (uint *)uVar23" (field_expression "local_28._0_4_" identifier . field_identifier) = (cast_expression "(uint *)uVar23" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (if_statement "if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }" if (parenthesized_expression "(uVar16 == 8)" ( (binary_expression "uVar16 == 8" identifier == number_literal) )) (compound_statement "{\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }" { (labeled_statement "LAB_00175220:\n                local_74 = puVar21;" statement_identifier : (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" identifier = identifier) ;)) (expression_statement "param_1[0x12] = (int)(uint *)local_28;" (assignment_expression "param_1[0x12] = (int)(uint *)local_28" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = (cast_expression "(int)(uint *)local_28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) }) (else_clause "else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }" else (compound_statement "{\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }" { (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (uVar16 == 0xe) goto LAB_00175373;" if (parenthesized_expression "(uVar16 == 0xe)" ( (binary_expression "uVar16 == 0xe" identifier == number_literal) )) (goto_statement "goto LAB_00175373;" goto statement_identifier ;)) }))) })) }) (else_clause "else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" else (compound_statement "{\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" { (if_statement "if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(uVar16 < 8)" ( (binary_expression "uVar16 < 8" identifier < number_literal) )) (compound_statement "{\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }" { (if_statement "if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" if (parenthesized_expression "(uVar16 == 4)" ( (binary_expression "uVar16 == 4" identifier == number_literal) )) (compound_statement "{\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_20 = *local_74;" (assignment_expression "local_20 = *local_74" identifier = (pointer_expression "*local_74" * identifier)) ;) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,local_74 + 1)" identifier = (call_expression "CONCAT44(local_28._4_4_,local_74 + 1)" identifier (argument_list "(local_28._4_4_,local_74 + 1)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (binary_expression "local_74 + 1" identifier + number_literal) )))) ;) (if_statement "if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }" { (expression_statement "local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;" (assignment_expression "local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18" identifier = (binary_expression "local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18" (binary_expression "local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8" (binary_expression "local_20 >> 0x18 | (local_20 & 0xff0000) >> 8" (binary_expression "local_20 >> 0x18" identifier >> number_literal) | (binary_expression "(local_20 & 0xff0000) >> 8" (parenthesized_expression "(local_20 & 0xff0000)" ( (binary_expression "local_20 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_20 & 0xff00) << 8" (parenthesized_expression "(local_20 & 0xff00)" ( (binary_expression "local_20 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_20 << 0x18" identifier << number_literal))) ;) })) (expression_statement "local_74 = (uint *)((int)(local_74 + 1) + local_20);" (assignment_expression "local_74 = (uint *)((int)(local_74 + 1) + local_20)" identifier = (cast_expression "(uint *)((int)(local_74 + 1) + local_20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(local_74 + 1) + local_20)" ( (binary_expression "(int)(local_74 + 1) + local_20" (cast_expression "(int)(local_74 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_74 + 1)" ( (binary_expression "local_74 + 1" identifier + number_literal) ))) + identifier) )))) ;) }) (else_clause "else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" else (if_statement "if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" if (parenthesized_expression "(uVar16 < 5)" ( (binary_expression "uVar16 < 5" identifier < number_literal) )) (compound_statement "{\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }" { (if_statement "if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }" if (parenthesized_expression "(uVar16 == 1)" ( (binary_expression "uVar16 == 1" identifier == number_literal) )) (compound_statement "{\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" identifier = (pointer_expression "*(code **)(iVar4 + 0xc)" * (cast_expression "(code **)(iVar4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" if (parenthesized_expression "(*(int *)(*param_1 + 0x48) == 4)" ( (binary_expression "*(int *)(*param_1 + 0x48) == 4" (pointer_expression "*(int *)(*param_1 + 0x48)" * (cast_expression "(int *)(*param_1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x48)" ( (binary_expression "*param_1 + 0x48" (pointer_expression "*param_1" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" else (compound_statement "{\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }" { (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" identifier = (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" else (compound_statement "{\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" else (compound_statement "{\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar16 = local_74[1];" (assignment_expression "uVar16 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar16;" (assignment_expression "local_38 = uVar16" identifier = identifier) ;) (if_statement "if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }" { (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" identifier = (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" identifier = (cast_expression "(uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" ( (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier = (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier (argument_list "(*param_1,iVar12,iVar18,&local_3c)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (if_statement "if (uVar20 == 0x31) goto LAB_00174e48;" if (parenthesized_expression "(uVar20 == 0x31)" ( (binary_expression "uVar20 == 0x31" identifier == number_literal) )) (goto_statement "goto LAB_00174e48;" goto statement_identifier ;)) (labeled_statement "LAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);" statement_identifier : (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;)) (expression_statement "uVar8 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar8 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (expression_statement "uVar7 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (expression_statement "uVar9 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar9 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (if_statement "if (0x31 < uVar20) goto joined_r0x001752af;" if (parenthesized_expression "(0x31 < uVar20)" ( (binary_expression "0x31 < uVar20" number_literal < identifier) )) (goto_statement "goto joined_r0x001752af;" goto statement_identifier ;)) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (uVar20 != 1) goto LAB_00174ea0;" if (parenthesized_expression "(uVar20 != 1)" ( (binary_expression "uVar20 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (goto_statement "goto LAB_0017548f;" goto statement_identifier ;) })) (if_statement "if (uVar16 != 3) {\n                  return 0;\n                }" if (parenthesized_expression "(uVar16 != 3)" ( (binary_expression "uVar16 != 3" identifier != number_literal) )) (compound_statement "{\n                  return 0;\n                }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "uVar6 = (ushort)*local_74;" (assignment_expression "uVar6 = (ushort)*local_74" identifier = (binary_expression "(ushort)*local_74" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (if_statement "if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" { (expression_statement "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier = (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" ( (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier) , (pointer_expression "*(byte *)((int)local_74 + 1)" * (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) })) (expression_statement "local_20 = (uint)uVar6;" (assignment_expression "local_20 = (uint)uVar6" identifier = (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2))" identifier = (call_expression "CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2))" identifier (argument_list "(local_28._4_4_,(byte *)((int)local_74 + 2))" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(byte *)((int)local_74 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (expression_statement "local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);" (assignment_expression "local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20)" identifier = (cast_expression "(uint *)((byte *)((int)local_74 + 2) + local_20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)((int)local_74 + 2) + local_20)" ( (binary_expression "(byte *)((int)local_74 + 2) + local_20" (cast_expression "(byte *)((int)local_74 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + identifier) )))) ;) }) (else_clause "else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" else (compound_statement "{\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" { (if_statement "if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }" if (parenthesized_expression "(uVar16 != 5)" ( (binary_expression "uVar16 != 5" identifier != number_literal) )) (compound_statement "{\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }" { (if_statement "if (uVar16 != 6) {\n                    return 0;\n                  }" if (parenthesized_expression "(uVar16 != 6)" ( (binary_expression "uVar16 != 6" identifier != number_literal) )) (compound_statement "{\n                    return 0;\n                  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" else (compound_statement "{\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }" { (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" identifier = (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0017561e;" goto statement_identifier ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "uVar6 = (ushort)*local_74;" (assignment_expression "uVar6 = (ushort)*local_74" identifier = (binary_expression "(ushort)*local_74" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (if_statement "if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" { (expression_statement "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier = (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" ( (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier) , (pointer_expression "*(byte *)((int)local_74 + 1)" * (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) })) (expression_statement "uVar23 = (ulonglong)uVar6;" (assignment_expression "uVar23 = (ulonglong)uVar6" identifier = (cast_expression "(ulonglong)uVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 2);" (assignment_expression "local_74 = (uint *)((int)local_74 + 2)" identifier = (cast_expression "(uint *)((int)local_74 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))))) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(uVar16 == 10)" ( (binary_expression "uVar16 == 10" identifier == number_literal) )) (compound_statement "{\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }" { (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1))" identifier = (call_expression "CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1))" identifier (argument_list "(local_28._4_4_,(byte *)((int)local_74 + 1))" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (expression_statement "local_20 = (uint)(byte)*local_74;" (assignment_expression "local_20 = (uint)(byte)*local_74" identifier = (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);" (assignment_expression "local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20)" identifier = (cast_expression "(uint *)((byte *)((int)local_74 + 1) + local_20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)((int)local_74 + 1) + local_20)" ( (binary_expression "(byte *)((int)local_74 + 1) + local_20" (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + identifier) )))) ;) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(10 < uVar16)" ( (binary_expression "10 < uVar16" number_literal < identifier) )) (compound_statement "{\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }" { (if_statement "if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }" if (parenthesized_expression "(uVar16 < 0xd)" ( (binary_expression "uVar16 < 0xd" identifier < number_literal) )) (compound_statement "{\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }" { (expression_statement "uVar23 = (ulonglong)(byte)*local_74;" (assignment_expression "uVar23 = (ulonglong)(byte)*local_74" identifier = (binary_expression "(ulonglong)(byte)*local_74" (call_expression "(ulonglong)(byte)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }" else (compound_statement "{\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }" { (expression_statement "bVar1 = (byte)*local_74;" (assignment_expression "bVar1 = (byte)*local_74" identifier = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;) (expression_statement "uVar11 = (uint)bVar1;" (assignment_expression "uVar11 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar21 = (uint *)((int)local_74 + 1);" (assignment_expression "puVar21 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }" { (expression_statement "uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);" (assignment_expression "uVar23 = FUN_00189d30(puVar21,&local_40,uVar11)" identifier = (call_expression "FUN_00189d30(puVar21,&local_40,uVar11)" identifier (argument_list "(puVar21,&local_40,uVar11)" ( identifier , (pointer_expression "&local_40" & identifier) , identifier )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" identifier = (cast_expression "(uint *)((int)local_74 + local_40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40)" ( (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }" else (compound_statement "{\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }" { (expression_statement "uVar23 = (ulonglong)uVar11;" (assignment_expression "uVar23 = (ulonglong)uVar11" identifier = (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" identifier = identifier) ;) (if_statement "if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }" if (parenthesized_expression "((bVar1 & 0x40) != 0)" ( (binary_expression "(bVar1 & 0x40) != 0" (parenthesized_expression "(bVar1 & 0x40)" ( (binary_expression "bVar1 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }" { (expression_statement "uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);" (assignment_expression "uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80)" identifier = (call_expression "CONCAT44(0xffffffff,uVar11 | 0xffffff80)" identifier (argument_list "(0xffffffff,uVar11 | 0xffffff80)" ( number_literal , (binary_expression "uVar11 | 0xffffff80" identifier | number_literal) )))) ;) })) }))) }))) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }" if (parenthesized_expression "(uVar16 != 8)" ( (binary_expression "uVar16 != 8" identifier != number_literal) )) (compound_statement "{\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }" { (if_statement "if (uVar16 != 9) {\n                return 0;\n              }" if (parenthesized_expression "(uVar16 != 9)" ( (binary_expression "uVar16 != 9" identifier != number_literal) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (labeled_statement "LAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);" statement_identifier : (expression_statement "pbVar15 = (byte *)((int)local_74 + 1);" (assignment_expression "pbVar15 = (byte *)((int)local_74 + 1)" identifier = (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "local_6c = (uint)(byte)*local_74;" (assignment_expression "local_6c = (uint)(byte)*local_74" identifier = (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }" if (parenthesized_expression "((char)(byte)*local_74 < '\0')" ( (binary_expression "(char)(byte)*local_74 < '\0'" (binary_expression "(char)(byte)*local_74" (cast_expression "(char)(byte)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(byte)" ( identifier ))) * identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }" { (expression_statement "local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);" (assignment_expression "local_6c = FUN_00189c70(pbVar15,&local_40,local_6c)" identifier = (call_expression "FUN_00189c70(pbVar15,&local_40,local_6c)" identifier (argument_list "(pbVar15,&local_40,local_6c)" ( identifier , (pointer_expression "&local_40" & identifier) , identifier )))) ;) (expression_statement "pbVar15 = (byte *)((int)local_74 + local_40);" (assignment_expression "pbVar15 = (byte *)((int)local_74 + local_40)" identifier = (cast_expression "(byte *)((int)local_74 + local_40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40)" ( (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                local_40 = 1;\n              }" else (compound_statement "{\n                local_40 = 1;\n              }" { (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) }))) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,pbVar15);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,pbVar15)" identifier = (call_expression "CONCAT44(local_28._4_4_,pbVar15)" identifier (argument_list "(local_28._4_4_,pbVar15)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + local_40 + local_6c);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40 + local_6c)" identifier = (cast_expression "(uint *)((int)local_74 + local_40 + local_6c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40 + local_6c)" ( (binary_expression "(int)local_74 + local_40 + local_6c" (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) ;) (expression_statement "local_20 = local_6c;" (assignment_expression "local_20 = local_6c" identifier = identifier) ;) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (expression_statement "local_28._0_4_ = local_74;" (assignment_expression "local_28._0_4_ = local_74" (field_expression "local_28._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_40 = strlen((char *)local_74);" (assignment_expression "local_40 = strlen((char *)local_74)" identifier = (call_expression "strlen((char *)local_74)" identifier (argument_list "((char *)local_74)" ( (cast_expression "(char *)local_74" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar21 = (uint *)((int)local_74 + local_40 + 1);" (assignment_expression "puVar21 = (uint *)((int)local_74 + local_40 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + local_40 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40 + 1)" ( (binary_expression "(int)local_74 + local_40 + 1" (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }" if (parenthesized_expression "(uVar20 != 3)" ( (binary_expression "uVar20 != 3" identifier != number_literal) )) (compound_statement "{\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }" { (expression_statement "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;" if (parenthesized_expression "((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 )" ( (binary_expression "(uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))" (parenthesized_expression "(uVar20 < 4)" ( (binary_expression "uVar20 < 4" identifier < number_literal) )) || (parenthesized_expression "((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))" ( (parenthesized_expression "(local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007))" ( (comma_expression "local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)" (assignment_expression "local_28._0_4_ = local_74" (field_expression "local_28._0_4_" identifier . field_identifier) = identifier) , (binary_expression "uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)" (binary_expression "uVar20 != 0x6e" identifier != number_literal) && (parenthesized_expression "(uVar7 = uVar23, uVar20 != 0x2007)" ( (comma_expression "uVar7 = uVar23, uVar20 != 0x2007" (assignment_expression "uVar7 = uVar23" identifier = identifier) , (binary_expression "uVar20 != 0x2007" identifier != number_literal)) )))) )) ))) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (goto_statement "goto LAB_00175220;" goto statement_identifier ;) })) (labeled_statement "LAB_00175230:\n            local_74 = puVar21;" statement_identifier : (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" identifier = identifier) ;)) (expression_statement "local_28._0_4_ = (uint *)uVar23;" (assignment_expression "local_28._0_4_ = (uint *)uVar23" (field_expression "local_28._0_4_" identifier . field_identifier) = (cast_expression "(uint *)uVar23" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "param_1[0xf] = (int)(uint *)local_28;" (assignment_expression "param_1[0xf] = (int)(uint *)local_28" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = (cast_expression "(int)(uint *)local_28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) }))) }) (else_clause "else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" else (if_statement "if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" if (parenthesized_expression "(uVar16 == 0x15)" ( (binary_expression "uVar16 == 0x15" identifier == number_literal) )) (compound_statement "{\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }" { (expression_statement "bVar1 = (byte)*local_74;" (assignment_expression "bVar1 = (byte)*local_74" identifier = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }" { (expression_statement "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);" (assignment_expression "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" identifier = (call_expression "FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" identifier (argument_list "((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" ( (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (pointer_expression "&local_40" & identifier) , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" identifier = (cast_expression "(uint *)((int)local_74 + local_40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40)" ( (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" else (compound_statement "{\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" { (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "uVar23 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar23 = (ulonglong)(uint)bVar1" identifier = (cast_expression "(ulonglong)(uint)bVar1" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (labeled_statement "joined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" statement_identifier : (if_statement "if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" if (parenthesized_expression "(uVar20 == 0x31)" ( (binary_expression "uVar20 == 0x31" identifier == number_literal) )) (compound_statement "{\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" { (labeled_statement "LAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;" statement_identifier : (expression_statement "*(ulonglong *)(param_1 + 0x18) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 0x18) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 0x18)" * (cast_expression "(ulonglong *)(param_1 + 0x18)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) = identifier) ;)) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) }) (else_clause "else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" else (if_statement "if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" if (parenthesized_expression "(uVar20 < 0x32)" ( (binary_expression "uVar20 < 0x32" identifier < number_literal) )) (compound_statement "{\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }" { (if_statement "if (uVar20 != 1) goto LAB_001754d5;" if (parenthesized_expression "(uVar20 != 1)" ( (binary_expression "uVar20 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001754d5;" goto statement_identifier ;)) (labeled_statement "LAB_0017548f:\n            puVar21 = local_74;" statement_identifier : (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;)) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }" if (parenthesized_expression "(local_20 == 0)" ( (binary_expression "local_20 == 0" identifier == number_literal) )) (compound_statement "{\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }" { (expression_statement "*(ulonglong *)(param_1 + 8) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 8) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 8)" * (cast_expression "(ulonglong *)(param_1 + 8)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" else (compound_statement "{\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" { (if_statement "if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;" if (parenthesized_expression "((uVar20 == 0x6e) || (uVar20 == 0x2007))" ( (binary_expression "(uVar20 == 0x6e) || (uVar20 == 0x2007)" (parenthesized_expression "(uVar20 == 0x6e)" ( (binary_expression "uVar20 == 0x6e" identifier == number_literal) )) || (parenthesized_expression "(uVar20 == 0x2007)" ( (binary_expression "uVar20 == 0x2007" identifier == number_literal) ))) )) (goto_statement "goto LAB_001751f0;" goto statement_identifier ;)) (labeled_statement "joined_r0x00175920:\n            puVar21 = local_74;" statement_identifier : (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;)) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }" if (parenthesized_expression "(uVar20 == 0x47)" ( (binary_expression "uVar20 == 0x47" identifier == number_literal) )) (compound_statement "{\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }" { (expression_statement "*(ulonglong *)(param_1 + 0x16) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 0x16) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 0x16)" * (cast_expression "(ulonglong *)(param_1 + 0x16)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16)" ( (binary_expression "param_1 + 0x16" identifier + number_literal) )))) = identifier) ;) })) })))))) }) (else_clause "else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" else (compound_statement "{\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" { (if_statement "if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }" if (parenthesized_expression "(uVar16 < 0x16)" ( (binary_expression "uVar16 < 0x16" identifier < number_literal) )) (compound_statement "{\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }" { (if_statement "if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }" if (parenthesized_expression "(uVar16 == 0x11)" ( (binary_expression "uVar16 == 0x11" identifier == number_literal) )) (compound_statement "{\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }" { (expression_statement "puVar21 = (uint *)((int)local_74 + 1);" (assignment_expression "puVar21 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar16 = (uint)(byte)*local_74;" (assignment_expression "uVar16 = (uint)(byte)*local_74" identifier = (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "uVar23 = (ulonglong)uVar16;" (assignment_expression "uVar23 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "uVar8 = (ulonglong)uVar16;" (assignment_expression "uVar8 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "uVar7 = (ulonglong)uVar16;" (assignment_expression "uVar7 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" identifier = identifier) ;) (if_statement "if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }" if (parenthesized_expression "(uVar20 != 0x31)" ( (binary_expression "uVar20 != 0x31" identifier != number_literal) )) (compound_statement "{\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }" { (expression_statement "uVar9 = (ulonglong)uVar16;" (assignment_expression "uVar9 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (if_statement "if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }" if (parenthesized_expression "(uVar20 < 0x32)" ( (binary_expression "uVar20 < 0x32" identifier < number_literal) )) (compound_statement "{\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }" { (expression_statement "uVar7 = (ulonglong)uVar16;" (assignment_expression "uVar7 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (if_statement "if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }" if (parenthesized_expression "(uVar20 == 1)" ( (binary_expression "uVar20 == 1" identifier == number_literal) )) (compound_statement "{\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }" { (expression_statement "param_1[8] = uVar16;" (assignment_expression "param_1[8] = uVar16" (subscript_expression "param_1[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = (ulonglong)uVar16;" (assignment_expression "uVar7 = (ulonglong)uVar16" identifier = (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) })) }) (else_clause "else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }" else (compound_statement "{\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }" { (labeled_statement "joined_r0x001752af:\n                  uVar23 = uVar9;" statement_identifier : (expression_statement "uVar23 = uVar9;" (assignment_expression "uVar23 = uVar9" identifier = identifier) ;)) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;) (if_statement "if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;" if (parenthesized_expression "((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))" ( (binary_expression "(uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007)" (parenthesized_expression "(uVar20 != 0x6e)" ( (binary_expression "uVar20 != 0x6e" identifier != number_literal) )) && (parenthesized_expression "(uVar7 = uVar8, uVar20 != 0x2007)" ( (comma_expression "uVar7 = uVar8, uVar20 != 0x2007" (assignment_expression "uVar7 = uVar8" identifier = identifier) , (binary_expression "uVar20 != 0x2007" identifier != number_literal)) ))) )) (goto_statement "goto joined_r0x00175920;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;) })) }) (else_clause "else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }" else (compound_statement "{\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }" { (if_statement "if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }" if (parenthesized_expression "(0x11 < uVar16)" ( (binary_expression "0x11 < uVar16" number_literal < identifier) )) (compound_statement "{\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }" { (if_statement "if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }" if (parenthesized_expression "(uVar16 == 0x13)" ( (binary_expression "uVar16 == 0x13" identifier == number_literal) )) (compound_statement "{\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" else (compound_statement "{\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (goto_statement "goto LAB_0017542a;" goto statement_identifier ;) })) (if_statement "if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }" if (parenthesized_expression "(uVar16 < 0x14)" ( (binary_expression "uVar16 < 0x14" identifier < number_literal) )) (compound_statement "{\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }" { (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" else (compound_statement "{\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "uVar6 = (ushort)*local_74;" (assignment_expression "uVar6 = (ushort)*local_74" identifier = (binary_expression "(ushort)*local_74" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (if_statement "if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }" { (expression_statement "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier = (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" identifier (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" ( (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier) , (pointer_expression "*(byte *)((int)local_74 + 1)" * (cast_expression "(byte *)((int)local_74 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) })) (expression_statement "uVar23 = (ulonglong)uVar6;" (assignment_expression "uVar23 = (ulonglong)uVar6" identifier = (cast_expression "(ulonglong)uVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 2);" (assignment_expression "local_74 = (uint *)((int)local_74 + 2)" identifier = (cast_expression "(uint *)((int)local_74 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 2)" ( (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto joined_r0x0017547a;" goto statement_identifier ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (labeled_statement "LAB_001753da:\n                local_3c = (uint *)*local_74;" statement_identifier : (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;)) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar11;" (assignment_expression "local_38 = uVar11" identifier = identifier) ;) (if_statement "if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }" { (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" identifier = (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" identifier = (cast_expression "(uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" statement_identifier : (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier = (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier (argument_list "(*param_1,iVar12,iVar18,&local_3c)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;)) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (goto_statement "goto joined_r0x0017547a;" goto statement_identifier ;) })) (if_statement "if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }" if (parenthesized_expression "(uVar16 == 0xf)" ( (binary_expression "uVar16 == 0xf" identifier == number_literal) )) (compound_statement "{\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }" { (labeled_statement "LAB_00175135:\n                bVar1 = (byte)*local_74;" statement_identifier : (expression_statement "bVar1 = (byte)*local_74;" (assignment_expression "bVar1 = (byte)*local_74" identifier = (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" ( identifier )) * identifier)) ;)) (if_statement "if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }" { (expression_statement "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);" (assignment_expression "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" identifier = (call_expression "FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" identifier (argument_list "((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" ( (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (pointer_expression "&local_40" & identifier) , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" identifier = (cast_expression "(uint *)((int)local_74 + local_40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + local_40)" ( (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" else (compound_statement "{\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" { (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" identifier = number_literal) ;) (expression_statement "uVar23 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar23 = (ulonglong)(uint)bVar1" identifier = (cast_expression "(ulonglong)(uint)bVar1" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" identifier = (cast_expression "(uint *)((int)local_74 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_74 + 1)" ( (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (goto_statement "goto joined_r0x001751d3;" goto statement_identifier ;) })) (if_statement "if (uVar16 != 0x10) {\n                return 0;\n              }" if (parenthesized_expression "(uVar16 != 0x10)" ( (binary_expression "uVar16 != 0x10" identifier != number_literal) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar4 = *param_1;" (assignment_expression "iVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar13 = *(int *)(iVar4 + 0x48);" (assignment_expression "iVar13 = *(int *)(iVar4 + 0x48)" identifier = (pointer_expression "*(int *)(iVar4 + 0x48)" * (cast_expression "(int *)(iVar4 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x48)" ( (binary_expression "iVar4 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }" if (parenthesized_expression "(2 < *(uint *)(iVar4 + 0x4c))" ( (binary_expression "2 < *(uint *)(iVar4 + 0x4c)" number_literal < (pointer_expression "*(uint *)(iVar4 + 0x4c)" * (cast_expression "(uint *)(iVar4 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x4c)" ( (binary_expression "iVar4 + 0x4c" identifier + number_literal) ))))) )) (compound_statement "{\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }" { (expression_statement "iVar13 = *(int *)(iVar4 + 0x44);" (assignment_expression "iVar13 = *(int *)(iVar4 + 0x44)" identifier = (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) ))))) ;) })) (expression_statement "piVar2 = *(int **)(iVar4 + 8);" (assignment_expression "piVar2 = *(int **)(iVar4 + 8)" identifier = (pointer_expression "*(int **)(iVar4 + 8)" * (cast_expression "(int **)(iVar4 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" identifier = (pointer_expression "*(code **)(iVar4 + 0xc)" * (cast_expression "(code **)(iVar4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" if (parenthesized_expression "(iVar13 == 4)" ( (binary_expression "iVar13 == 4" identifier == number_literal) )) (compound_statement "{\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }" { (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" identifier = (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" else (compound_statement "{\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar16 = local_74[1];" (assignment_expression "uVar16 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar16;" (assignment_expression "local_38 = uVar16" identifier = identifier) ;) (if_statement "if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }" { (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" identifier = (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" identifier = (cast_expression "(uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" ( (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier = (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" identifier (argument_list "(*param_1,iVar12,iVar18,&local_3c)" ( (pointer_expression "*param_1" * identifier) , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" identifier = (call_expression "CONCAT44(local_38,local_3c)" identifier (argument_list "(local_38,local_3c)" ( identifier , identifier )))) ;) (if_statement "if (uVar20 != 0x31) goto LAB_00175028;" if (parenthesized_expression "(uVar20 != 0x31)" ( (binary_expression "uVar20 != 0x31" identifier != number_literal) )) (goto_statement "goto LAB_00175028;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_00174e48;" goto statement_identifier ;) })) (if_statement "if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" if (parenthesized_expression "(uVar16 == 0x19)" ( (binary_expression "uVar16 == 0x19" identifier == number_literal) )) (compound_statement "{\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }" { (expression_statement "local_28._0_4_ = (uint *)0x1;" (assignment_expression "local_28._0_4_ = (uint *)0x1" (field_expression "local_28._0_4_" identifier . field_identifier) = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_28._4_4_ = 0;" (assignment_expression "local_28._4_4_ = 0" (field_expression "local_28._4_4_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" else (compound_statement "{\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" { (if_statement "if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }" if (parenthesized_expression "(uVar16 < 0x1a)" ( (binary_expression "uVar16 < 0x1a" identifier < number_literal) )) (compound_statement "{\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }" { (if_statement "if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }" if (parenthesized_expression "(uVar16 != 0x17)" ( (binary_expression "uVar16 != 0x17" identifier != number_literal) )) (compound_statement "{\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }" { (if_statement "if (uVar16 != 0x18) {\n                  return 0;\n                }" if (parenthesized_expression "(uVar16 != 0x18)" ( (binary_expression "uVar16 != 0x18" identifier != number_literal) )) (compound_statement "{\n                  return 0;\n                }" { (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00174f39;" goto statement_identifier ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" identifier = (pointer_expression "*(code **)(iVar4 + 0xc)" * (cast_expression "(code **)(iVar4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }" if (parenthesized_expression "(*(int *)(*param_1 + 0x44) != 4)" ( (binary_expression "*(int *)(*param_1 + 0x44) != 4" (pointer_expression "*(int *)(*param_1 + 0x44)" * (cast_expression "(int *)(*param_1 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x44)" ( (binary_expression "*param_1 + 0x44" (pointer_expression "*param_1" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }" { (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" else (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (goto_statement "goto LAB_001753da;" goto statement_identifier ;) })) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }" { (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" ( (pointer_expression "**(code **)(iVar4 + 0xe8)" * (pointer_expression "*(code **)(iVar4 + 0xe8)" * (cast_expression "(code **)(iVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xe8)" ( (binary_expression "iVar4 + 0xe8" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n                cVar10 = (*pcVar3)(piVar2);\n              }" else (compound_statement "{\n                cVar10 = (*pcVar3)(piVar2);\n              }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (labeled_statement "LAB_0017542a:\n              local_3c = (uint *)*local_74;" statement_identifier : (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" identifier = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;)) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }" { (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" identifier = (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" ( (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" ( (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" ( (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0017544c;" goto statement_identifier ;) })) (if_statement "if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }" if (parenthesized_expression "(uVar16 != 0x20)" ( (binary_expression "uVar16 != 0x20" identifier != number_literal) )) (compound_statement "{\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }" { (if_statement "if (uVar16 < 0x20) {\n                return 0;\n              }" if (parenthesized_expression "(uVar16 < 0x20)" ( (binary_expression "uVar16 < 0x20" identifier < number_literal) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }" if (parenthesized_expression "(1 < uVar16 - 0x1f01)" ( (binary_expression "1 < uVar16 - 0x1f01" number_literal < (binary_expression "uVar16 - 0x1f01" identifier - number_literal)) )) (compound_statement "{\n                return 0;\n              }" { (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00175135;" goto statement_identifier ;) })) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" identifier = (pointer_expression "*(int **)(*param_1 + 8)" * (cast_expression "(int **)(*param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar2 + 0xc)" * (cast_expression "(code **)(*piVar2 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xc)" ( (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" if (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" ( (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" identifier == (cast_expression "(code *)(unaff_EDI + -0xe05c9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + -0xe05c9)" ( (binary_expression "unaff_EDI + -0xe05c9" identifier + number_literal) )))) )) (compound_statement "{\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }" { (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" ( (pointer_expression "**(code **)(*piVar2 + 0xe8)" * (pointer_expression "*(code **)(*piVar2 + 0xe8)" * (cast_expression "(code **)(*piVar2 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0xe8)" ( (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) }) (else_clause "else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" else (compound_statement "{\n              cVar10 = (*pcVar3)(piVar2);\n            }" { (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" identifier = (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "(piVar2)" ( identifier )))) ;) }))) (expression_statement "local_28._0_4_ = (uint *)*local_74;" (assignment_expression "local_28._0_4_ = (uint *)*local_74" (field_expression "local_28._0_4_" identifier . field_identifier) = (cast_expression "(uint *)*local_74" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_74" * identifier))) ;) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" identifier = (subscript_expression "local_74[1]" identifier [ number_literal ])) ;) (expression_statement "local_28._4_4_ = uVar11;" (assignment_expression "local_28._4_4_ = uVar11" (field_expression "local_28._4_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }" { (expression_statement "local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;" (assignment_expression "local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18" (field_expression "local_28._4_4_" identifier . field_identifier) = (binary_expression "(uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18" (binary_expression "(uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8" (binary_expression "(uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8" (binary_expression "(uint)(uint *)local_28 >> 0x18" (cast_expression "(uint)(uint *)local_28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) >> number_literal) | (binary_expression "((uint)(uint *)local_28 & 0xff0000) >> 8" (parenthesized_expression "((uint)(uint *)local_28 & 0xff0000)" ( (binary_expression "(uint)(uint *)local_28 & 0xff0000" (cast_expression "(uint)(uint *)local_28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) >> number_literal)) | (binary_expression "((uint)(uint *)local_28 & 0xff00) << 8" (parenthesized_expression "((uint)(uint *)local_28 & 0xff00)" ( (binary_expression "(uint)(uint *)local_28 & 0xff00" (cast_expression "(uint)(uint *)local_28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) << number_literal)) | (binary_expression "(int)(uint *)local_28 << 0x18" (cast_expression "(int)(uint *)local_28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal))) ;) (expression_statement "local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);" (assignment_expression "local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18)" (field_expression "local_28._0_4_" identifier . field_identifier) = (cast_expression "(uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )))) ;) })) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" identifier = (binary_expression "local_74 + 2" identifier + number_literal)) ;) }))) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;" if (parenthesized_expression "((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))" ( (binary_expression "(uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007)" (parenthesized_expression "(uVar20 == 0x6e)" ( (binary_expression "uVar20 == 0x6e" identifier == number_literal) )) || (parenthesized_expression "(uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007)" ( (comma_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28)" identifier = (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" identifier (argument_list "(local_28._4_4_,(uint *)local_28)" ( (field_expression "local_28._4_4_" identifier . field_identifier) , (cast_expression "(uint *)local_28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "uVar20 == 0x2007" identifier == number_literal)) ))) )) (goto_statement "goto LAB_001751f0;" goto statement_identifier ;)) (labeled_statement "LAB_001754d5:\n          puVar21 = local_74;" statement_identifier : (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;)) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (uVar20 != 3) goto LAB_00174ea0;" if (parenthesized_expression "(uVar20 != 3)" ( (binary_expression "uVar20 != 3" identifier != number_literal) )) (goto_statement "goto LAB_00174ea0;" goto statement_identifier ;)) (labeled_statement "LAB_00174c88:\n          puVar21 = local_74;" statement_identifier : (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" identifier = identifier) ;)) (if_statement "if (uVar16 == 8) goto LAB_00175230;" if (parenthesized_expression "(uVar16 == 8)" ( (binary_expression "uVar16 == 8" identifier == number_literal) )) (goto_statement "goto LAB_00175230;" goto statement_identifier ;)) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (uVar16 == 0xe) goto LAB_00174c9a;" if (parenthesized_expression "(uVar16 == 0xe)" ( (binary_expression "uVar16 == 0xe" identifier == number_literal) )) (goto_statement "goto LAB_00174c9a;" goto statement_identifier ;)) }))))) (labeled_statement "LAB_00174ea0:\n        local_74 = puVar21;" statement_identifier : (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" identifier = identifier) ;)) (expression_statement "puVar21 = (uint *)param_1[0xc];" (assignment_expression "puVar21 = (uint *)param_1[0xc]" identifier = (cast_expression "(uint *)param_1[0xc]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ]))) ;) (if_statement "if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;" if (parenthesized_expression "(puVar21 == (uint *)param_1[0xd])" ( (binary_expression "puVar21 == (uint *)param_1[0xd]" identifier == (cast_expression "(uint *)param_1[0xd]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xd]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_00174cc0;" goto statement_identifier ;)) (labeled_statement "LAB_00174eac:\n        *puVar21 = local_30;" statement_identifier : (expression_statement "*puVar21 = local_30;" (assignment_expression "*puVar21 = local_30" (pointer_expression "*puVar21" * identifier) = identifier) ;)) (expression_statement "puVar21[1] = local_2c;" (assignment_expression "puVar21[1] = local_2c" (subscript_expression "puVar21[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(ulonglong *)(puVar21 + 2) = uVar7;" (assignment_expression "*(ulonglong *)(puVar21 + 2) = uVar7" (pointer_expression "*(ulonglong *)(puVar21 + 2)" * (cast_expression "(ulonglong *)(puVar21 + 2)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 2)" ( (binary_expression "puVar21 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar21[4] = local_20;" (assignment_expression "puVar21[4] = local_20" (subscript_expression "puVar21[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xc] = (int)(puVar21 + 5);" (assignment_expression "param_1[0xc] = (int)(puVar21 + 5)" (subscript_expression "param_1[0xc]" identifier [ number_literal ]) = (cast_expression "(int)(puVar21 + 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar21 + 5)" ( (binary_expression "puVar21 + 5" identifier + number_literal) )))) ;) }))) (expression_statement "local_70 = local_70 + 8;" (assignment_expression "local_70 = local_70 + 8" identifier = (binary_expression "local_70 + 8" identifier + number_literal)) ;) (expression_statement "iVar12 = param_1[10];" (assignment_expression "iVar12 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "(local_70 != iVar17)" ( (binary_expression "local_70 != iVar17" identifier != identifier) )) ;) }))) (if_statement "if (iVar12 == 0) {\n    local_28 = uVar7;\n                    \n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n    local_28 = uVar7;\n                    \n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }" { (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" identifier = identifier) ;) (expression_statement "FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);" (call_expression "FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0)" identifier (argument_list "(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0)" ( (binary_expression "unaff_EDI + 0xf2cea" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0xf2ef3" identifier + number_literal) , number_literal ))) ;) })) (labeled_statement "LAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;" statement_identifier : (expression_statement "uVar20 = (int)local_74 - iVar14;" (assignment_expression "uVar20 = (int)local_74 - iVar14" identifier = (binary_expression "(int)local_74 - iVar14" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;)) (expression_statement "iVar14 = uVar20 + param_1[2];" (assignment_expression "iVar14 = uVar20 + param_1[2]" identifier = (binary_expression "uVar20 + param_1[2]" identifier + (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);" (assignment_expression "iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2])" identifier = (binary_expression "((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2])" (binary_expression "((int)uVar20 >> 0x1f) + param_1[3]" (parenthesized_expression "((int)uVar20 >> 0x1f)" ( (binary_expression "(int)uVar20 >> 0x1f" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (subscript_expression "param_1[3]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(uVar20,param_1[2])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar20,param_1[2])" identifier (argument_list "(uVar20,param_1[2])" ( identifier , (subscript_expression "param_1[2]" identifier [ number_literal ]) )))))) ;) (if_statement "if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }" if (parenthesized_expression "((*(byte *)(iVar12 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar12 + 4) & 1)" ( (binary_expression "*(byte *)(iVar12 + 4) & 1" (pointer_expression "*(byte *)(iVar12 + 4)" * (cast_expression "(byte *)(iVar12 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }" { (expression_statement "param_1[8] = iVar14;" (assignment_expression "param_1[8] = iVar14" (subscript_expression "param_1[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[9] = iVar17;" (assignment_expression "param_1[9] = iVar17" (subscript_expression "param_1[9]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }" else (compound_statement "{\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }" { (expression_statement "param_1[6] = iVar14;" (assignment_expression "param_1[6] = iVar14" (subscript_expression "param_1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[7] = iVar17;" (assignment_expression "param_1[7] = iVar17" (subscript_expression "param_1[7]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "*(undefined1 *)(param_1 + 0xe) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xe) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xe)" * (cast_expression "(undefined1 *)(param_1 + 0xe)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe)" ( (binary_expression "param_1 + 0xe" identifier + number_literal) )))) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (subscript_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 (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) < (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )) * LIT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }))) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT))) )))) )) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT , IDENT , (pointer_expression & IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) + IDENT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( IDENT )) * IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) + IDENT) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( IDENT )) * IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }))))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) + IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT | LIT) )))) ;) })) }))) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression (field_expression IDENT . field_identifier) = IDENT) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) )))) )) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) })))))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) }))) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (goto_statement goto statement_identifier ;) })) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( IDENT )) * IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT , IDENT , (pointer_expression & IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (return_statement return LIT ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) << LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , LIT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 __regparm3 FUN_00174ae0(int *param_1)\n\n{\n  byte bVar1;\n  void *__src;\n  int *piVar2;\n  code *pcVar3;\n  int iVar4;\n  void *pvVar5;\n  ushort uVar6;\n  ulonglong uVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  char cVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  byte *pbVar15;\n  uint uVar16;\n  int iVar17;\n  int iVar18;\n  void *pvVar19;\n  uint uVar20;\n  int unaff_EDI;\n  uint *puVar21;\n  undefined8 uVar22;\n  ulonglong uVar23;\n  uint *local_74;\n  int local_70;\n  uint local_6c;\n  size_t local_40;\n  uint *local_3c;\n  uint local_38;\n  uint local_30;\n  uint local_2c;\n  undefined8 local_28;\n  uint local_20;\n  \n  uVar22 = FUN_00058c4a();\n  iVar12 = *(int *)((int)uVar22 + 0x28);\n  if (iVar12 == 0) {\n                    \n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }\n  iVar17 = *param_1;\n  iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);\n  if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }\n  if (iVar14 == 0) {\n    return 0;\n  }\n  iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);\n  local_74 = (uint *)(iVar14 + param_1[4]);\n  uVar20 = iVar17 >> 3;\n  if (0xccccccc < uVar20) {\n                    \n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }\n  __src = (void *)param_1[0xb];\n  if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }\n  if (iVar12 == 0) {\n    local_28 = uVar7;\n                    \n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }\nLAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;\n  iVar14 = uVar20 + param_1[2];\n  iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);\n  if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }\n  *(undefined1 *)(param_1 + 0xe) = 1;\n  return 1;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00174ae0(int *param_1)" (identifier "FUN_00174ae0") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  void *__src;\n  int *piVar2;\n  code *pcVar3;\n  int iVar4;\n  void *pvVar5;\n  ushort uVar6;\n  ulonglong uVar7;\n  ulonglong uVar8;\n  ulonglong uVar9;\n  char cVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  size_t __n;\n  void *__dest;\n  int iVar14;\n  byte *pbVar15;\n  uint uVar16;\n  int iVar17;\n  int iVar18;\n  void *pvVar19;\n  uint uVar20;\n  int unaff_EDI;\n  uint *puVar21;\n  undefined8 uVar22;\n  ulonglong uVar23;\n  uint *local_74;\n  int local_70;\n  uint local_6c;\n  size_t local_40;\n  uint *local_3c;\n  uint local_38;\n  uint local_30;\n  uint local_2c;\n  undefined8 local_28;\n  uint local_20;\n  \n  uVar22 = FUN_00058c4a();\n  iVar12 = *(int *)((int)uVar22 + 0x28);\n  if (iVar12 == 0) {\n                    \n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }\n  iVar17 = *param_1;\n  iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);\n  if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }\n  if (iVar14 == 0) {\n    return 0;\n  }\n  iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);\n  local_74 = (uint *)(iVar14 + param_1[4]);\n  uVar20 = iVar17 >> 3;\n  if (0xccccccc < uVar20) {\n                    \n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }\n  __src = (void *)param_1[0xb];\n  if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }\n  if (iVar12 == 0) {\n    local_28 = uVar7;\n                    \n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }\nLAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;\n  iVar14 = uVar20 + param_1[2];\n  iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);\n  if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }\n  *(undefined1 *)(param_1 + 0xe) = 1;\n  return 1;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "void *__src;" (primitive_type "void") (pointer_declarator "*__src" (* "*") (identifier "__src")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "void *pvVar5;" (primitive_type "void") (pointer_declarator "*pvVar5" (* "*") (identifier "pvVar5")) (; ";")) (declaration "ushort uVar6;" (type_identifier "ushort") (identifier "uVar6") (; ";")) (declaration "ulonglong uVar7;" (type_identifier "ulonglong") (identifier "uVar7") (; ";")) (declaration "ulonglong uVar8;" (type_identifier "ulonglong") (identifier "uVar8") (; ";")) (declaration "ulonglong uVar9;" (type_identifier "ulonglong") (identifier "uVar9") (; ";")) (declaration "char cVar10;" (primitive_type "char") (identifier "cVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "void *__dest;" (primitive_type "void") (pointer_declarator "*__dest" (* "*") (identifier "__dest")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "byte *pbVar15;" (type_identifier "byte") (pointer_declarator "*pbVar15" (* "*") (identifier "pbVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "void *pvVar19;" (primitive_type "void") (pointer_declarator "*pvVar19" (* "*") (identifier "pvVar19")) (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (declaration "uint *puVar21;" (type_identifier "uint") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined8 uVar22;" (type_identifier "undefined8") (identifier "uVar22") (; ";")) (declaration "ulonglong uVar23;" (type_identifier "ulonglong") (identifier "uVar23") (; ";")) (declaration "uint *local_74;" (type_identifier "uint") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "uint local_6c;" (type_identifier "uint") (identifier "local_6c") (; ";")) (declaration "size_t local_40;" (primitive_type "size_t") (identifier "local_40") (; ";")) (declaration "uint *local_3c;" (type_identifier "uint") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (declaration "uint local_2c;" (type_identifier "uint") (identifier "local_2c") (; ";")) (declaration "undefined8 local_28;" (type_identifier "undefined8") (identifier "local_28") (; ";")) (declaration "uint local_20;" (type_identifier "uint") (identifier "local_20") (; ";")) (expression_statement "uVar22 = FUN_00058c4a();" (assignment_expression "uVar22 = FUN_00058c4a()" (identifier "uVar22") (= "=") (call_expression "FUN_00058c4a()" (identifier "FUN_00058c4a") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar12 = *(int *)((int)uVar22 + 0x28);" (assignment_expression "iVar12 = *(int *)((int)uVar22 + 0x28)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)((int)uVar22 + 0x28)" (* "*") (cast_expression "(int *)((int)uVar22 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)uVar22 + 0x28)" (( "(") (binary_expression "(int)uVar22 + 0x28" (cast_expression "(int)uVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar22")) (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (iVar12 == 0) {\n                    \n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));\n  }" ({ "{") (expression_statement "FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));" (call_expression "FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20))" (identifier "FUN_0008b620") (argument_list "(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20))" (( "(") (binary_expression "unaff_EDI + 0xf2c7a" (identifier "unaff_EDI") (+ "+") (number_literal "0xf2c7a")) (, ",") (number_literal "0x2a9") (, ",") (binary_expression "unaff_EDI + 0xf2f03" (identifier "unaff_EDI") (+ "+") (number_literal "0xf2f03")) (, ",") (cast_expression "(int)((ulonglong)uVar22 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar22 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar22 >> 0x20" (cast_expression "(ulonglong)uVar22" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar22")) (>> ">>") (number_literal "0x20")) () ")"))) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar17 = *param_1;" (assignment_expression "iVar17 = *param_1" (identifier "iVar17") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);" (assignment_expression "iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34)" (identifier "iVar14") (= "=") (binary_expression "*(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34)" (binary_expression "*(int *)(iVar17 + 0x2c) + param_1[2]" (pointer_expression "*(int *)(iVar17 + 0x2c)" (* "*") (cast_expression "(int *)(iVar17 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x2c)" (( "(") (binary_expression "iVar17 + 0x2c" (identifier "iVar17") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (+ "+") (pointer_expression "*(int *)(iVar17 + 0x34)" (* "*") (cast_expression "(int *)(iVar17 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x34)" (( "(") (binary_expression "iVar17 + 0x34" (identifier "iVar17") (+ "+") (number_literal "0x34")) () ")")))))) (; ";")) (if_statement "if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U) {\n    FUN_001742f0(iVar17);\n    return 0;\n  }" (if "if") (parenthesized_expression "((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U)" (( "(") (binary_expression "(uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <\n      iVar14 + 1U" (call_expression "(uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c))" (( "(") (binary_expression "*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)" (binary_expression "*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c)" (pointer_expression "*(int *)(iVar17 + 0x34)" (* "*") (cast_expression "(int *)(iVar17 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x34)" (( "(") (binary_expression "iVar17 + 0x34" (identifier "iVar17") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar17 + 0x3c)" (* "*") (cast_expression "(int *)(iVar17 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x3c)" (( "(") (binary_expression "iVar17 + 0x3c" (identifier "iVar17") (+ "+") (number_literal "0x3c")) () ")"))))) (+ "+") (pointer_expression "*(int *)(iVar17 + 0x2c)" (* "*") (cast_expression "(int *)(iVar17 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x2c)" (( "(") (binary_expression "iVar17 + 0x2c" (identifier "iVar17") (+ "+") (number_literal "0x2c")) () ")"))))) () ")"))) (< "<") (binary_expression "iVar14 + 1U" (identifier "iVar14") (+ "+") (number_literal "1U"))) () ")")) (compound_statement "{\n    FUN_001742f0(iVar17);\n    return 0;\n  }" ({ "{") (expression_statement "FUN_001742f0(iVar17);" (call_expression "FUN_001742f0(iVar17)" (identifier "FUN_001742f0") (argument_list "(iVar17)" (( "(") (identifier "iVar17") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (iVar14 == 0) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);" (assignment_expression "iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8)" (identifier "iVar17") (= "=") (binary_expression "*(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8)" (pointer_expression "*(int *)(iVar12 + 0xc)" (* "*") (cast_expression "(int *)(iVar12 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xc)" (( "(") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar12 + 8)" (* "*") (cast_expression "(int *)(iVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (expression_statement "local_74 = (uint *)(iVar14 + param_1[4]);" (assignment_expression "local_74 = (uint *)(iVar14 + param_1[4])" (identifier "local_74") (= "=") (cast_expression "(uint *)(iVar14 + param_1[4])" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + param_1[4])" (( "(") (binary_expression "iVar14 + param_1[4]" (identifier "iVar14") (+ "+") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) () ")")))) (; ";")) (expression_statement "uVar20 = iVar17 >> 3;" (assignment_expression "uVar20 = iVar17 >> 3" (identifier "uVar20") (= "=") (binary_expression "iVar17 >> 3" (identifier "iVar17") (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if (0xccccccc < uVar20) {\n                    \n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }" (if "if") (parenthesized_expression "(0xccccccc < uVar20)" (( "(") (binary_expression "0xccccccc < uVar20" (number_literal "0xccccccc") (< "<") (identifier "uVar20")) () ")")) (compound_statement "{\n                    \n    FUN_001f1e60(unaff_EDI + 0xde53e);\n  }" ({ "{") (expression_statement "FUN_001f1e60(unaff_EDI + 0xde53e);" (call_expression "FUN_001f1e60(unaff_EDI + 0xde53e)" (identifier "FUN_001f1e60") (argument_list "(unaff_EDI + 0xde53e)" (( "(") (binary_expression "unaff_EDI + 0xde53e" (identifier "unaff_EDI") (+ "+") (number_literal "0xde53e")) () ")"))) (; ";")) (} "}"))) (expression_statement "__src = (void *)param_1[0xb];" (assignment_expression "__src = (void *)param_1[0xb]" (identifier "__src") (= "=") (cast_expression "(void *)param_1[0xb]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")))) (; ";")) (if_statement "if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }\n  else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }" (if "if") (parenthesized_expression "((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20)" (( "(") (binary_expression "(uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20" (call_expression "(uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((param_1[0xd] - (int)__src >> 2) * -0x33333333)" (( "(") (binary_expression "(param_1[0xd] - (int)__src >> 2) * -0x33333333" (parenthesized_expression "(param_1[0xd] - (int)__src >> 2)" (( "(") (binary_expression "param_1[0xd] - (int)__src >> 2" (binary_expression "param_1[0xd] - (int)__src" (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")) (- "-") (cast_expression "(int)__src" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__src"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x33333333")) () ")"))) (< "<") (identifier "uVar20")) () ")")) (compound_statement "{\n    pvVar5 = (void *)param_1[0xc];\n    __n = (int)pvVar5 - (int)__src;\n    if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }\n    if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }\n    if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    param_1[0xb] = (int)__dest;\n    param_1[0xc] = __n + (int)__dest;\n    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);\n    iVar12 = param_1[10];\n    if (uVar20 != 0) goto LAB_00174b7e;\n  }" ({ "{") (expression_statement "pvVar5 = (void *)param_1[0xc];" (assignment_expression "pvVar5 = (void *)param_1[0xc]" (identifier "pvVar5") (= "=") (cast_expression "(void *)param_1[0xc]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")))) (; ";")) (expression_statement "__n = (int)pvVar5 - (int)__src;" (assignment_expression "__n = (int)pvVar5 - (int)__src" (identifier "__n") (= "=") (binary_expression "(int)pvVar5 - (int)__src" (cast_expression "(int)pvVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar5")) (- "-") (cast_expression "(int)__src" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__src")))) (; ";")) (if_statement "if (uVar20 == 0) {\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }\n    else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }" (if "if") (parenthesized_expression "(uVar20 == 0)" (( "(") (binary_expression "uVar20 == 0" (identifier "uVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      __dest = (void *)0x0;\n      pvVar19 = __src;\n    }" ({ "{") (expression_statement "__dest = (void *)0x0;" (assignment_expression "__dest = (void *)0x0" (identifier "__dest") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pvVar19 = __src;" (assignment_expression "pvVar19 = __src" (identifier "pvVar19") (= "=") (identifier "__src")) (; ";")) (} "}")) (else_clause "else {\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }" (else "else") (compound_statement "{\n      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);\n      pvVar19 = (void *)param_1[0xb];\n    }" ({ "{") (expression_statement "__dest = (void *)FUN_001aa8c0(uVar20 * 0x14);" (assignment_expression "__dest = (void *)FUN_001aa8c0(uVar20 * 0x14)" (identifier "__dest") (= "=") (cast_expression "(void *)FUN_001aa8c0(uVar20 * 0x14)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001aa8c0(uVar20 * 0x14)" (identifier "FUN_001aa8c0") (argument_list "(uVar20 * 0x14)" (( "(") (binary_expression "uVar20 * 0x14" (identifier "uVar20") (* "*") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "pvVar19 = (void *)param_1[0xb];" (assignment_expression "pvVar19 = (void *)param_1[0xb]" (identifier "pvVar19") (= "=") (cast_expression "(void *)param_1[0xb]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")))) (; ";")) (} "}")))) (if_statement "if (__src != pvVar5) {\n      memmove(__dest,__src,__n);\n    }" (if "if") (parenthesized_expression "(__src != pvVar5)" (( "(") (binary_expression "__src != pvVar5" (identifier "__src") (!= "!=") (identifier "pvVar5")) () ")")) (compound_statement "{\n      memmove(__dest,__src,__n);\n    }" ({ "{") (expression_statement "memmove(__dest,__src,__n);" (call_expression "memmove(__dest,__src,__n)" (identifier "memmove") (argument_list "(__dest,__src,__n)" (( "(") (identifier "__dest") (, ",") (identifier "__src") (, ",") (identifier "__n") () ")"))) (; ";")) (} "}"))) (if_statement "if (pvVar19 != (void *)0x0) {\n      FUN_001ac470(pvVar19);\n    }" (if "if") (parenthesized_expression "(pvVar19 != (void *)0x0)" (( "(") (binary_expression "pvVar19 != (void *)0x0" (identifier "pvVar19") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_001ac470(pvVar19);\n    }" ({ "{") (expression_statement "FUN_001ac470(pvVar19);" (call_expression "FUN_001ac470(pvVar19)" (identifier "FUN_001ac470") (argument_list "(pvVar19)" (( "(") (identifier "pvVar19") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "uVar7") (= "=") (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,(uint *)local_28)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28")) () ")")))) (; ";")) (expression_statement "param_1[0xb] = (int)__dest;" (assignment_expression "param_1[0xb] = (int)__dest" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest"))) (; ";")) (expression_statement "param_1[0xc] = __n + (int)__dest;" (assignment_expression "param_1[0xc] = __n + (int)__dest" (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (binary_expression "__n + (int)__dest" (identifier "__n") (+ "+") (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")))) (; ";")) (expression_statement "param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);" (assignment_expression "param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest)" (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")) (= "=") (cast_expression "(int)(uVar20 * 0x14 + (int)__dest)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar20 * 0x14 + (int)__dest)" (( "(") (binary_expression "uVar20 * 0x14 + (int)__dest" (binary_expression "uVar20 * 0x14" (identifier "uVar20") (* "*") (number_literal "0x14")) (+ "+") (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest"))) () ")")))) (; ";")) (expression_statement "iVar12 = param_1[10];" (assignment_expression "iVar12 = param_1[10]" (identifier "iVar12") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (if_statement "if (uVar20 != 0) goto LAB_00174b7e;" (if "if") (parenthesized_expression "(uVar20 != 0)" (( "(") (binary_expression "uVar20 != 0" (identifier "uVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00174b7e;" (goto "goto") (statement_identifier "LAB_00174b7e") (; ";"))) (} "}")) (else_clause "else {\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }" (else "else") (compound_statement "{\n    if (uVar20 == 0) goto LAB_00174ef3;\nLAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n    local_70 = 0;\n    do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);\n  }" ({ "{") (if_statement "if (uVar20 == 0) goto LAB_00174ef3;" (if "if") (parenthesized_expression "(uVar20 == 0)" (( "(") (binary_expression "uVar20 == 0" (identifier "uVar20") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00174ef3;" (goto "goto") (statement_identifier "LAB_00174ef3") (; ";"))) (labeled_statement "LAB_00174b7e:\n    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" (statement_identifier "LAB_00174b7e") (: ":") (expression_statement "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "uVar7") (= "=") (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,(uint *)local_28)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28")) () ")")))) (; ";"))) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    } while (local_70 != iVar17);" (do "do") (compound_statement "{\n      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));\n      uVar20 = *puVar21;\n      uVar16 = puVar21[1];\n      if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }\n      local_28._4_4_ = (uint)(uVar7 >> 0x20);\n      uVar11 = (int)local_74 - iVar14;\n      iVar12 = uVar11 + param_1[2];\n      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);\n      local_20 = 0;\n      local_30 = uVar20;\n      local_2c = uVar16;\n      local_28 = uVar7;\n      if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }\n      local_70 = local_70 + 8;\n      iVar12 = param_1[10];\n    }" ({ "{") (expression_statement "puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));" (assignment_expression "puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8))" (identifier "puVar21") (= "=") (cast_expression "(uint *)(local_70 + *(int *)(iVar12 + 8))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_70 + *(int *)(iVar12 + 8))" (( "(") (binary_expression "local_70 + *(int *)(iVar12 + 8)" (identifier "local_70") (+ "+") (pointer_expression "*(int *)(iVar12 + 8)" (* "*") (cast_expression "(int *)(iVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")"))))) () ")")))) (; ";")) (expression_statement "uVar20 = *puVar21;" (assignment_expression "uVar20 = *puVar21" (identifier "uVar20") (= "=") (pointer_expression "*puVar21" (* "*") (identifier "puVar21"))) (; ";")) (expression_statement "uVar16 = puVar21[1];" (assignment_expression "uVar16 = puVar21[1]" (identifier "uVar16") (= "=") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (uVar16 == 0x16) {\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }" (if "if") (parenthesized_expression "(uVar16 == 0x16)" (( "(") (binary_expression "uVar16 == 0x16" (identifier "uVar16") (== "==") (number_literal "0x16")) () ")")) (compound_statement "{\n        uVar16 = (uint)(byte)*local_74;\n        if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }\n      }" ({ "{") (expression_statement "uVar16 = (uint)(byte)*local_74;" (assignment_expression "uVar16 = (uint)(byte)*local_74" (identifier "uVar16") (= "=") (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "local_74"))) (; ";")) (if_statement "if ((char)(byte)*local_74 < '\0') {\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }\n        else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" (if "if") (parenthesized_expression "((char)(byte)*local_74 < '\0')" (( "(") (binary_expression "(char)(byte)*local_74 < '\0'" (binary_expression "(char)(byte)*local_74" (cast_expression "(char)(byte)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "local_74")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_28 = uVar7;\n          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);\n          local_74 = (uint *)((int)local_74 + local_40);\n          uVar7 = local_28;\n        }" ({ "{") (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" (identifier "local_28") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);" (assignment_expression "uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16)" (identifier "uVar16") (= "=") (call_expression "FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16)" (identifier "FUN_00189c70") (argument_list "((uint *)((int)local_74 + 1),&local_40,uVar16)" (( "(") (cast_expression "(uint *)((int)local_74 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")"))) (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (identifier "uVar16") () ")")))) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + local_40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + local_40)" (( "(") (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (identifier "local_40")) () ")")))) (; ";")) (expression_statement "uVar7 = local_28;" (assignment_expression "uVar7 = local_28" (identifier "uVar7") (= "=") (identifier "local_28")) (; ";")) (} "}")) (else_clause "else {\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" (else "else") (compound_statement "{\n          local_40 = 1;\n          local_74 = (uint *)((int)local_74 + 1);\n        }" ({ "{") (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" (identifier "local_40") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "local_28._4_4_ = (uint)(uVar7 >> 0x20);" (assignment_expression "local_28._4_4_ = (uint)(uVar7 >> 0x20)" (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (= "=") (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 >> 0x20)" (( "(") (binary_expression "uVar7 >> 0x20" (identifier "uVar7") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar11 = (int)local_74 - iVar14;" (assignment_expression "uVar11 = (int)local_74 - iVar14" (identifier "uVar11") (= "=") (binary_expression "(int)local_74 - iVar14" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (- "-") (identifier "iVar14"))) (; ";")) (expression_statement "iVar12 = uVar11 + param_1[2];" (assignment_expression "iVar12 = uVar11 + param_1[2]" (identifier "iVar12") (= "=") (binary_expression "uVar11 + param_1[2]" (identifier "uVar11") (+ "+") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);" (assignment_expression "iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2])" (identifier "iVar18") (= "=") (binary_expression "((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2])" (binary_expression "((int)uVar11 >> 0x1f) + param_1[3]" (parenthesized_expression "((int)uVar11 >> 0x1f)" (( "(") (binary_expression "(int)uVar11 >> 0x1f" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (>> ">>") (number_literal "0x1f")) () ")")) (+ "+") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(uVar11,param_1[2])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar11,param_1[2])" (identifier "CARRY4") (argument_list "(uVar11,param_1[2])" (( "(") (identifier "uVar11") (, ",") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) () ")")))))) (; ";")) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = uVar20;" (assignment_expression "local_30 = uVar20" (identifier "local_30") (= "=") (identifier "uVar20")) (; ";")) (expression_statement "local_2c = uVar16;" (assignment_expression "local_2c = uVar16" (identifier "local_2c") (= "=") (identifier "uVar16")) (; ";")) (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" (identifier "local_28") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (uVar16 == 0xe) {\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }\n      else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }" (if "if") (parenthesized_expression "(uVar16 == 0xe)" (( "(") (binary_expression "uVar16 == 0xe" (identifier "uVar16") (== "==") (number_literal "0xe")) () ")")) (compound_statement "{\n        piVar2 = *(int **)(*param_1 + 8);\n        iVar4 = *piVar2;\n        pcVar3 = *(code **)(iVar4 + 0xc);\n        if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }\n        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n        uVar7 = CONCAT44(local_38,local_3c);\n        if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }\nLAB_00174c9a:\n        param_1[0x15] = local_20;\n        *(ulonglong *)(param_1 + 0x10) = uVar7;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;\nLAB_00174cc0:\n        local_28 = uVar7;\n        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);\n        uVar7 = local_28;\n      }" ({ "{") (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" (identifier "iVar4") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(iVar4 + 0xc)" (* "*") (cast_expression "(code **)(iVar4 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*(int *)(*param_1 + 0x44) == 4) {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }\n        else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" (if "if") (parenthesized_expression "(*(int *)(*param_1 + 0x44) == 4)" (( "(") (binary_expression "*(int *)(*param_1 + 0x44) == 4" (pointer_expression "*(int *)(*param_1 + 0x44)" (* "*") (cast_expression "(int *)(*param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x44)" (( "(") (binary_expression "*param_1 + 0x44" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x44")) () ")")))) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          local_38 = 0;\n          if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }\n          local_74 = local_74 + 1;\n        }" ({ "{") (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }" ({ "{") (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" (( "(") (pointer_expression "**(code **)(iVar4 + 0xe8)" (* "*") (pointer_expression "*(code **)(iVar4 + 0xe8)" (* "*") (cast_expression "(code **)(iVar4 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xe8)" (( "(") (binary_expression "iVar4 + 0xe8" (identifier "iVar4") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" (else "else") (compound_statement "{\n            cVar10 = (*pcVar3)(piVar2);\n          }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" (identifier "local_3c") (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (if_statement "if (cVar10 != '\0') {\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n          }" ({ "{") (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (identifier "local_3c") (= "=") (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (( "(") (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" (( "(") (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" (( "(") (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" (identifier "local_74") (= "=") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" (else "else") (compound_statement "{\n          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }\n          local_3c = (uint *)*local_74;\n          uVar16 = local_74[1];\n          local_38 = uVar16;\n          if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }\n          local_74 = local_74 + 2;\n        }" ({ "{") (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }\n          else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n          }" ({ "{") (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" (( "(") (pointer_expression "**(code **)(iVar4 + 0xe8)" (* "*") (pointer_expression "*(code **)(iVar4 + 0xe8)" (* "*") (cast_expression "(code **)(iVar4 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xe8)" (( "(") (binary_expression "iVar4 + 0xe8" (identifier "iVar4") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            cVar10 = (*pcVar3)(piVar2);\n          }" (else "else") (compound_statement "{\n            cVar10 = (*pcVar3)(piVar2);\n          }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" (identifier "local_3c") (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";")) (expression_statement "uVar16 = local_74[1];" (assignment_expression "uVar16 = local_74[1]" (identifier "uVar16") (= "=") (subscript_expression "local_74[1]" (identifier "local_74") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_38 = uVar16;" (assignment_expression "local_38 = uVar16" (identifier "local_38") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (cVar10 != '\0') {\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);\n          }" ({ "{") (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (identifier "local_38") (= "=") (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                       ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" (( "(") (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" (( "(") (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18)" (identifier "local_3c") (= "=") (cast_expression "(uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18)" (( "(") (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                               uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" (identifier "uVar16") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" (( "(") (binary_expression "uVar16 & 0xff0000" (identifier "uVar16") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" (( "(") (binary_expression "uVar16 & 0xff00" (identifier "uVar16") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar16 << 0x18" (identifier "uVar16") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" (identifier "local_74") (= "=") (binary_expression "local_74 + 2" (identifier "local_74") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" (identifier "local_20") (= "=") (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" (identifier "FUN_00174230") (argument_list "(*param_1,iVar12,iVar18,&local_3c)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (identifier "iVar12") (, ",") (identifier "iVar18") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (expression_statement "uVar7 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" (identifier "uVar7") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (; ";")) (if_statement "if (uVar20 != 3) {\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }" (if "if") (parenthesized_expression "(uVar20 != 3)" (( "(") (binary_expression "uVar20 != 3" (identifier "uVar20") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n          puVar21 = local_74;\n          uVar7 = CONCAT44(local_38,local_3c);\n          if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;\nLAB_00175373:\n          param_1[0x15] = local_20;\n          *(ulonglong *)(param_1 + 0x13) = uVar23;\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          goto LAB_00174ea0;\n        }" ({ "{") (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";")) (expression_statement "uVar7 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" (identifier "uVar7") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (; ";")) (if_statement "if ((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))) goto LAB_00174ea0;" (if "if") (parenthesized_expression "((uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007))))" (( "(") (binary_expression "(uVar20 < 4) ||\n             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))" (parenthesized_expression "(uVar20 < 4)" (( "(") (binary_expression "uVar20 < 4" (identifier "uVar20") (< "<") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)))" (( "(") (parenthesized_expression "(uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007))" (( "(") (comma_expression "uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (, ",") (binary_expression "uVar20 != 0x6e &&\n              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)" (binary_expression "uVar20 != 0x6e" (identifier "uVar20") (!= "!=") (number_literal "0x6e")) (&& "&&") (parenthesized_expression "(uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007)" (( "(") (comma_expression "uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" (identifier "uVar7") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (, ",") (comma_expression "uVar23 = CONCAT44(local_38,local_3c),\n              uVar20 != 0x2007" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (, ",") (binary_expression "uVar20 != 0x2007" (identifier "uVar20") (!= "!=") (number_literal "0x2007")))) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00174ea0;" (goto "goto") (statement_identifier "LAB_00174ea0") (; ";"))) (labeled_statement "LAB_00175373:\n          param_1[0x15] = local_20;" (statement_identifier "LAB_00175373") (: ":") (expression_statement "param_1[0x15] = local_20;" (assignment_expression "param_1[0x15] = local_20" (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]")) (= "=") (identifier "local_20")) (; ";"))) (expression_statement "*(ulonglong *)(param_1 + 0x13) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 0x13) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 0x13)" (* "*") (cast_expression "(ulonglong *)(param_1 + 0x13)" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x13)" (( "(") (binary_expression "param_1 + 0x13" (identifier "param_1") (+ "+") (number_literal "0x13")) () ")")))) (= "=") (identifier "uVar23")) (; ";")) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";")) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (goto_statement "goto LAB_00174ea0;" (goto "goto") (statement_identifier "LAB_00174ea0") (; ";")) (} "}"))) (labeled_statement "LAB_00174c9a:\n        param_1[0x15] = local_20;" (statement_identifier "LAB_00174c9a") (: ":") (expression_statement "param_1[0x15] = local_20;" (assignment_expression "param_1[0x15] = local_20" (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]")) (= "=") (identifier "local_20")) (; ";"))) (expression_statement "*(ulonglong *)(param_1 + 0x10) = uVar7;" (assignment_expression "*(ulonglong *)(param_1 + 0x10) = uVar7" (pointer_expression "*(ulonglong *)(param_1 + 0x10)" (* "*") (cast_expression "(ulonglong *)(param_1 + 0x10)" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar21 = (uint *)param_1[0xc];" (assignment_expression "puVar21 = (uint *)param_1[0xc]" (identifier "puVar21") (= "=") (cast_expression "(uint *)param_1[0xc]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")))) (; ";")) (if_statement "if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;" (if "if") (parenthesized_expression "(puVar21 != (uint *)param_1[0xd])" (( "(") (binary_expression "puVar21 != (uint *)param_1[0xd]" (identifier "puVar21") (!= "!=") (cast_expression "(uint *)param_1[0xd]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")))) () ")")) (goto_statement "goto LAB_00174eac;" (goto "goto") (statement_identifier "LAB_00174eac") (; ";"))) (labeled_statement "LAB_00174cc0:\n        local_28 = uVar7;" (statement_identifier "LAB_00174cc0") (: ":") (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" (identifier "local_28") (= "=") (identifier "uVar7")) (; ";"))) (expression_statement "FUN_001780e0(param_1 + 0xb,puVar21,&local_30);" (call_expression "FUN_001780e0(param_1 + 0xb,puVar21,&local_30)" (identifier "FUN_001780e0") (argument_list "(param_1 + 0xb,puVar21,&local_30)" (( "(") (binary_expression "param_1 + 0xb" (identifier "param_1") (+ "+") (number_literal "0xb")) (, ",") (identifier "puVar21") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")"))) (; ";")) (expression_statement "uVar7 = local_28;" (assignment_expression "uVar7 = local_28" (identifier "uVar7") (= "=") (identifier "local_28")) (; ";")) (} "}")) (else_clause "else {\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }" (else "else") (compound_statement "{\n        if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }\nLAB_00174ea0:\n        local_74 = puVar21;\n        puVar21 = (uint *)param_1[0xc];\n        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;\nLAB_00174eac:\n        *puVar21 = local_30;\n        puVar21[1] = local_2c;\n        *(ulonglong *)(puVar21 + 2) = uVar7;\n        puVar21[4] = local_20;\n        param_1[0xc] = (int)(puVar21 + 5);\n      }" ({ "{") (if_statement "if (uVar16 < 0xf) {\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }\n        else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" (if "if") (parenthesized_expression "(uVar16 < 0xf)" (( "(") (binary_expression "uVar16 < 0xf" (identifier "uVar16") (< "<") (number_literal "0xf")) () ")")) (compound_statement "{\n          if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n        }" ({ "{") (if_statement "if (uVar16 == 7) {\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }\n          else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" (if "if") (parenthesized_expression "(uVar16 == 7)" (( "(") (binary_expression "uVar16 == 7" (identifier "uVar16") (== "==") (number_literal "7")) () ")")) (compound_statement "{\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_3c = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_38 = uVar11;\n            if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\nLAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n            uVar23 = CONCAT44(local_38,local_3c);\njoined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }\n          }" ({ "{") (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(*piVar2 + 0xc)" (* "*") (cast_expression "(code **)(*piVar2 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xc)" (( "(") (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }" ({ "{") (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" (( "(") (pointer_expression "**(code **)(*piVar2 + 0xe8)" (* "*") (pointer_expression "*(code **)(*piVar2 + 0xe8)" (* "*") (cast_expression "(code **)(*piVar2 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xe8)" (( "(") (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" (else "else") (compound_statement "{\n              cVar10 = (*pcVar3)(piVar2);\n            }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" (identifier "local_3c") (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";")) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" (identifier "uVar11") (= "=") (subscript_expression "local_74[1]" (identifier "local_74") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_38 = uVar11;" (assignment_expression "local_38 = uVar11" (identifier "local_38") (= "=") (identifier "uVar11")) (; ";")) (if_statement "if (cVar10 != '\0') {\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);\n            }" ({ "{") (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (identifier "local_38") (= "=") (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                         ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" (( "(") (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" (( "(") (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18)" (identifier "local_3c") (= "=") (cast_expression "(uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18)" (( "(") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8\n                                 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" (identifier "local_74") (= "=") (binary_expression "local_74 + 2" (identifier "local_74") (+ "+") (number_literal "2"))) (; ";")) (labeled_statement "LAB_0017561e:\n            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (statement_identifier "LAB_0017561e") (: ":") (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" (identifier "local_20") (= "=") (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" (identifier "FUN_00174230") (argument_list "(*param_1,iVar12,iVar18,&local_3c)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (identifier "iVar12") (, ",") (identifier "iVar18") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";"))) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (; ";")) (labeled_statement "joined_r0x001751d3:\n            if (uVar20 == 3) goto LAB_00174c88;" (statement_identifier "joined_r0x001751d3") (: ":") (if_statement "if (uVar20 == 3) goto LAB_00174c88;" (if "if") (parenthesized_expression "(uVar20 == 3)" (( "(") (binary_expression "uVar20 == 3" (identifier "uVar20") (== "==") (number_literal "3")) () ")")) (goto_statement "goto LAB_00174c88;" (goto "goto") (statement_identifier "LAB_00174c88") (; ";")))) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";")) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (if_statement "if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }" (if "if") (parenthesized_expression "((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007))))" (( "(") (binary_expression "(3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))" (parenthesized_expression "(3 < uVar20)" (( "(") (binary_expression "3 < uVar20" (number_literal "3") (< "<") (identifier "uVar20")) () ")")) (&& "&&") (parenthesized_expression "((uVar20 == 0x6e || (uVar20 == 0x2007)))" (( "(") (parenthesized_expression "(uVar20 == 0x6e || (uVar20 == 0x2007))" (( "(") (binary_expression "uVar20 == 0x6e || (uVar20 == 0x2007)" (binary_expression "uVar20 == 0x6e" (identifier "uVar20") (== "==") (number_literal "0x6e")) (|| "||") (parenthesized_expression "(uVar20 == 0x2007)" (( "(") (binary_expression "uVar20 == 0x2007" (identifier "uVar20") (== "==") (number_literal "0x2007")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;\n              puVar21 = local_74;\n              if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }\n            }" ({ "{") (labeled_statement "LAB_001751f0:\n              local_28._0_4_ = (uint *)uVar23;" (statement_identifier "LAB_001751f0") (: ":") (expression_statement "local_28._0_4_ = (uint *)uVar23;" (assignment_expression "local_28._0_4_ = (uint *)uVar23" (field_expression "local_28._0_4_" (identifier "local_28") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint *)uVar23" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar23"))) (; ";"))) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";")) (if_statement "if (uVar16 == 8) {\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }\n              else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }" (if "if") (parenthesized_expression "(uVar16 == 8)" (( "(") (binary_expression "uVar16 == 8" (identifier "uVar16") (== "==") (number_literal "8")) () ")")) (compound_statement "{\nLAB_00175220:\n                local_74 = puVar21;\n                param_1[0x12] = (int)(uint *)local_28;\n                puVar21 = local_74;\n                uVar7 = uVar23;\n              }" ({ "{") (labeled_statement "LAB_00175220:\n                local_74 = puVar21;" (statement_identifier "LAB_00175220") (: ":") (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" (identifier "local_74") (= "=") (identifier "puVar21")) (; ";"))) (expression_statement "param_1[0x12] = (int)(uint *)local_28;" (assignment_expression "param_1[0x12] = (int)(uint *)local_28" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (= "=") (cast_expression "(int)(uint *)local_28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28")))) (; ";")) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";")) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (} "}")) (else_clause "else {\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }" (else "else") (compound_statement "{\n                uVar7 = uVar23;\n                if (uVar16 == 0xe) goto LAB_00175373;\n              }" ({ "{") (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (if_statement "if (uVar16 == 0xe) goto LAB_00175373;" (if "if") (parenthesized_expression "(uVar16 == 0xe)" (( "(") (binary_expression "uVar16 == 0xe" (identifier "uVar16") (== "==") (number_literal "0xe")) () ")")) (goto_statement "goto LAB_00175373;" (goto "goto") (statement_identifier "LAB_00175373") (; ";"))) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" (else "else") (compound_statement "{\n            if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }\n            if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }\n            if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }\n            local_28._0_4_ = local_74;\n            local_40 = strlen((char *)local_74);\n            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n            puVar21 = (uint *)((int)local_74 + local_40 + 1);\n            if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }\nLAB_00175230:\n            local_74 = puVar21;\n            local_28._0_4_ = (uint *)uVar23;\n            param_1[0xf] = (int)(uint *)local_28;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" ({ "{") (if_statement "if (uVar16 < 8) {\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }" (if "if") (parenthesized_expression "(uVar16 < 8)" (( "(") (binary_expression "uVar16 < 8" (identifier "uVar16") (< "<") (number_literal "8")) () ")")) (compound_statement "{\n              if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }\n              goto joined_r0x001751d3;\n            }" ({ "{") (if_statement "if (uVar16 == 4) {\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }\n              else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" (if "if") (parenthesized_expression "(uVar16 == 4)" (( "(") (binary_expression "uVar16 == 4" (identifier "uVar16") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_20 = *local_74;\n                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);\n                if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }\n                local_74 = (uint *)((int)(local_74 + 1) + local_20);\n              }" ({ "{") (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(*piVar2 + 0xc)" (* "*") (cast_expression "(code **)(*piVar2 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xc)" (( "(") (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" (( "(") (pointer_expression "**(code **)(*piVar2 + 0xe8)" (* "*") (pointer_expression "*(code **)(*piVar2 + 0xe8)" (* "*") (cast_expression "(code **)(*piVar2 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xe8)" (( "(") (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (else "else") (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "local_20 = *local_74;" (assignment_expression "local_20 = *local_74" (identifier "local_20") (= "=") (pointer_expression "*local_74" (* "*") (identifier "local_74"))) (; ";")) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,local_74 + 1)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_28._4_4_,local_74 + 1)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,local_74 + 1)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (cVar10 != '\0') {\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;\n                }" ({ "{") (expression_statement "local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18;" (assignment_expression "local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18" (identifier "local_20") (= "=") (binary_expression "local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8 | local_20 << 0x18" (binary_expression "local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |\n                             (local_20 & 0xff00) << 8" (binary_expression "local_20 >> 0x18 | (local_20 & 0xff0000) >> 8" (binary_expression "local_20 >> 0x18" (identifier "local_20") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_20 & 0xff0000) >> 8" (parenthesized_expression "(local_20 & 0xff0000)" (( "(") (binary_expression "local_20 & 0xff0000" (identifier "local_20") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_20 & 0xff00) << 8" (parenthesized_expression "(local_20 & 0xff00)" (( "(") (binary_expression "local_20 & 0xff00" (identifier "local_20") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_20 << 0x18" (identifier "local_20") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}"))) (expression_statement "local_74 = (uint *)((int)(local_74 + 1) + local_20);" (assignment_expression "local_74 = (uint *)((int)(local_74 + 1) + local_20)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)(local_74 + 1) + local_20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(local_74 + 1) + local_20)" (( "(") (binary_expression "(int)(local_74 + 1) + local_20" (cast_expression "(int)(local_74 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_74 + 1)" (( "(") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1")) () ")"))) (+ "+") (identifier "local_20")) () ")")))) (; ";")) (} "}")) (else_clause "else if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" (else "else") (if_statement "if (uVar16 < 5) {\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }\n              else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" (if "if") (parenthesized_expression "(uVar16 < 5)" (( "(") (binary_expression "uVar16 < 5" (identifier "uVar16") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n                if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }\n                if (uVar16 != 3) {\n                  return 0;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                local_20 = (uint)uVar6;\n                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));\n                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);\n              }" ({ "{") (if_statement "if (uVar16 == 1) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }" (if "if") (parenthesized_expression "(uVar16 == 1)" (( "(") (binary_expression "uVar16 == 1" (identifier "uVar16") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  piVar2 = *(int **)(*param_1 + 8);\n                  iVar4 = *piVar2;\n                  pcVar3 = *(code **)(iVar4 + 0xc);\n                  if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }\n                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  if (uVar20 == 0x31) goto LAB_00174e48;\nLAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);\n                  uVar8 = CONCAT44(local_38,local_3c);\n                  uVar7 = CONCAT44(local_38,local_3c);\n                  uVar9 = CONCAT44(local_38,local_3c);\n                  if (0x31 < uVar20) goto joined_r0x001752af;\n                  puVar21 = local_74;\n                  uVar7 = uVar23;\n                  if (uVar20 != 1) goto LAB_00174ea0;\n                  goto LAB_0017548f;\n                }" ({ "{") (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" (identifier "iVar4") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(iVar4 + 0xc)" (* "*") (cast_expression "(code **)(iVar4 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*(int *)(*param_1 + 0x48) == 4) {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }\n                  else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" (if "if") (parenthesized_expression "(*(int *)(*param_1 + 0x48) == 4)" (( "(") (binary_expression "*(int *)(*param_1 + 0x48) == 4" (pointer_expression "*(int *)(*param_1 + 0x48)" (* "*") (cast_expression "(int *)(*param_1 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x48)" (( "(") (binary_expression "*param_1 + 0x48" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x48")) () ")")))) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    local_38 = 0;\n                    if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }\n                    local_74 = local_74 + 1;\n                  }" ({ "{") (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }" ({ "{") (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" (( "(") (pointer_expression "**(code **)(iVar4 + 0xe8)" (* "*") (pointer_expression "*(code **)(iVar4 + 0xe8)" (* "*") (cast_expression "(code **)(iVar4 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xe8)" (( "(") (binary_expression "iVar4 + 0xe8" (identifier "iVar4") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" (else "else") (compound_statement "{\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" (identifier "local_3c") (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (if_statement "if (cVar10 != '\0') {\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                    }" ({ "{") (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (identifier "local_3c") (= "=") (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (( "(") (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8\n                                          | ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" (( "(") (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" (( "(") (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" (identifier "local_74") (= "=") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" (else "else") (compound_statement "{\n                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }\n                    local_3c = (uint *)*local_74;\n                    uVar16 = local_74[1];\n                    local_38 = uVar16;\n                    if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }\n                    local_74 = local_74 + 2;\n                  }" ({ "{") (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }\n                    else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                    }" ({ "{") (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" (( "(") (pointer_expression "**(code **)(iVar4 + 0xe8)" (* "*") (pointer_expression "*(code **)(iVar4 + 0xe8)" (* "*") (cast_expression "(code **)(iVar4 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xe8)" (( "(") (binary_expression "iVar4 + 0xe8" (identifier "iVar4") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" (else "else") (compound_statement "{\n                      cVar10 = (*pcVar3)(piVar2);\n                    }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" (identifier "local_3c") (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";")) (expression_statement "uVar16 = local_74[1];" (assignment_expression "uVar16 = local_74[1]" (identifier "uVar16") (= "=") (subscript_expression "local_74[1]" (identifier "local_74") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_38 = uVar16;" (assignment_expression "local_38 = uVar16" (identifier "local_38") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (cVar10 != '\0') {\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                    }" ({ "{") (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (identifier "local_38") (= "=") (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                 ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" (( "(") (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" (( "(") (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" (identifier "local_3c") (= "=") (cast_expression "(uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" (( "(") (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" (identifier "uVar16") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" (( "(") (binary_expression "uVar16 & 0xff0000" (identifier "uVar16") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" (( "(") (binary_expression "uVar16 & 0xff00" (identifier "uVar16") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar16 << 0x18" (identifier "uVar16") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" (identifier "local_74") (= "=") (binary_expression "local_74 + 2" (identifier "local_74") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" (identifier "local_20") (= "=") (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" (identifier "FUN_00174230") (argument_list "(*param_1,iVar12,iVar18,&local_3c)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (identifier "iVar12") (, ",") (identifier "iVar18") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (; ";")) (if_statement "if (uVar20 == 0x31) goto LAB_00174e48;" (if "if") (parenthesized_expression "(uVar20 == 0x31)" (( "(") (binary_expression "uVar20 == 0x31" (identifier "uVar20") (== "==") (number_literal "0x31")) () ")")) (goto_statement "goto LAB_00174e48;" (goto "goto") (statement_identifier "LAB_00174e48") (; ";"))) (labeled_statement "LAB_00175028:\n                  uVar23 = CONCAT44(local_38,local_3c);" (statement_identifier "LAB_00175028") (: ":") (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (; ";"))) (expression_statement "uVar8 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar8 = CONCAT44(local_38,local_3c)" (identifier "uVar8") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (; ";")) (expression_statement "uVar7 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar7 = CONCAT44(local_38,local_3c)" (identifier "uVar7") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (; ";")) (expression_statement "uVar9 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar9 = CONCAT44(local_38,local_3c)" (identifier "uVar9") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (; ";")) (if_statement "if (0x31 < uVar20) goto joined_r0x001752af;" (if "if") (parenthesized_expression "(0x31 < uVar20)" (( "(") (binary_expression "0x31 < uVar20" (number_literal "0x31") (< "<") (identifier "uVar20")) () ")")) (goto_statement "goto joined_r0x001752af;" (goto "goto") (statement_identifier "joined_r0x001752af") (; ";"))) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";")) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (if_statement "if (uVar20 != 1) goto LAB_00174ea0;" (if "if") (parenthesized_expression "(uVar20 != 1)" (( "(") (binary_expression "uVar20 != 1" (identifier "uVar20") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_00174ea0;" (goto "goto") (statement_identifier "LAB_00174ea0") (; ";"))) (goto_statement "goto LAB_0017548f;" (goto "goto") (statement_identifier "LAB_0017548f") (; ";")) (} "}"))) (if_statement "if (uVar16 != 3) {\n                  return 0;\n                }" (if "if") (parenthesized_expression "(uVar16 != 3)" (( "(") (binary_expression "uVar16 != 3" (identifier "uVar16") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n                  return 0;\n                }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(*piVar2 + 0xc)" (* "*") (cast_expression "(code **)(*piVar2 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xc)" (( "(") (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" (( "(") (pointer_expression "**(code **)(*piVar2 + 0xe8)" (* "*") (pointer_expression "*(code **)(*piVar2 + 0xe8)" (* "*") (cast_expression "(code **)(*piVar2 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xe8)" (( "(") (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (else "else") (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar6 = (ushort)*local_74;" (assignment_expression "uVar6 = (ushort)*local_74" (identifier "uVar6") (= "=") (binary_expression "(ushort)*local_74" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (* "*") (identifier "local_74"))) (; ";")) (if_statement "if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" ({ "{") (expression_statement "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" (identifier "uVar6") (= "=") (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" (identifier "CONCAT11") (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" (( "(") (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "local_74")) (, ",") (pointer_expression "*(byte *)((int)local_74 + 1)" (* "*") (cast_expression "(byte *)((int)local_74 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_20 = (uint)uVar6;" (assignment_expression "local_20 = (uint)uVar6" (identifier "local_20") (= "=") (cast_expression "(uint)uVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar6"))) (; ";")) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2))" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2))" (identifier "CONCAT44") (argument_list "(local_28._4_4_,(byte *)((int)local_74 + 2))" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(byte *)((int)local_74 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 2)" (( "(") (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "2")) () ")"))) () ")")))) (; ";")) (expression_statement "local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);" (assignment_expression "local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20)" (identifier "local_74") (= "=") (cast_expression "(uint *)((byte *)((int)local_74 + 2) + local_20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((byte *)((int)local_74 + 2) + local_20)" (( "(") (binary_expression "(byte *)((int)local_74 + 2) + local_20" (cast_expression "(byte *)((int)local_74 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 2)" (( "(") (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "2")) () ")"))) (+ "+") (identifier "local_20")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" (else "else") (compound_statement "{\n                if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                uVar6 = (ushort)*local_74;\n                if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }\n                uVar23 = (ulonglong)uVar6;\n                local_74 = (uint *)((int)local_74 + 2);\n              }" ({ "{") (if_statement "if (uVar16 != 5) {\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }" (if "if") (parenthesized_expression "(uVar16 != 5)" (( "(") (binary_expression "uVar16 != 5" (identifier "uVar16") (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\n                  if (uVar16 != 6) {\n                    return 0;\n                  }\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  local_3c = (uint *)*local_74;\n                  local_38 = 0;\n                  if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }\n                  local_74 = local_74 + 1;\n                  goto LAB_0017561e;\n                }" ({ "{") (if_statement "if (uVar16 != 6) {\n                    return 0;\n                  }" (if "if") (parenthesized_expression "(uVar16 != 6)" (( "(") (binary_expression "uVar16 != 6" (identifier "uVar16") (!= "!=") (number_literal "6")) () ")")) (compound_statement "{\n                    return 0;\n                  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(*piVar2 + 0xc)" (* "*") (cast_expression "(code **)(*piVar2 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xc)" (( "(") (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }" ({ "{") (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" (( "(") (pointer_expression "**(code **)(*piVar2 + 0xe8)" (* "*") (pointer_expression "*(code **)(*piVar2 + 0xe8)" (* "*") (cast_expression "(code **)(*piVar2 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xe8)" (( "(") (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" (else "else") (compound_statement "{\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" (identifier "local_3c") (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (if_statement "if (cVar10 != '\0') {\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                  }" ({ "{") (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (identifier "local_3c") (= "=") (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (( "(") (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                        ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" (( "(") (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" (( "(") (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" (identifier "local_74") (= "=") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0017561e;" (goto "goto") (statement_identifier "LAB_0017561e") (; ";")) (} "}"))) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(*piVar2 + 0xc)" (* "*") (cast_expression "(code **)(*piVar2 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xc)" (( "(") (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" (( "(") (pointer_expression "**(code **)(*piVar2 + 0xe8)" (* "*") (pointer_expression "*(code **)(*piVar2 + 0xe8)" (* "*") (cast_expression "(code **)(*piVar2 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xe8)" (( "(") (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (else "else") (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar6 = (ushort)*local_74;" (assignment_expression "uVar6 = (ushort)*local_74" (identifier "uVar6") (= "=") (binary_expression "(ushort)*local_74" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (* "*") (identifier "local_74"))) (; ";")) (if_statement "if (cVar10 != '\0') {\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                }" ({ "{") (expression_statement "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" (identifier "uVar6") (= "=") (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" (identifier "CONCAT11") (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" (( "(") (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "local_74")) (, ",") (pointer_expression "*(byte *)((int)local_74 + 1)" (* "*") (cast_expression "(byte *)((int)local_74 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar23 = (ulonglong)uVar6;" (assignment_expression "uVar23 = (ulonglong)uVar6" (identifier "uVar23") (= "=") (cast_expression "(ulonglong)uVar6" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar6"))) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + 2);" (assignment_expression "local_74 = (uint *)((int)local_74 + 2)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 2)" (( "(") (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (} "}")))))) (goto_statement "goto joined_r0x001751d3;" (goto "goto") (statement_identifier "joined_r0x001751d3") (; ";")) (} "}"))) (if_statement "if (uVar16 == 10) {\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }" (if "if") (parenthesized_expression "(uVar16 == 10)" (( "(") (binary_expression "uVar16 == 10" (identifier "uVar16") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));\n              local_20 = (uint)(byte)*local_74;\n              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);\n              goto joined_r0x001751d3;\n            }" ({ "{") (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1))" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1))" (identifier "CONCAT44") (argument_list "(local_28._4_4_,(byte *)((int)local_74 + 1))" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(byte *)((int)local_74 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")"))) () ")")))) (; ";")) (expression_statement "local_20 = (uint)(byte)*local_74;" (assignment_expression "local_20 = (uint)(byte)*local_74" (identifier "local_20") (= "=") (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "local_74"))) (; ";")) (expression_statement "local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);" (assignment_expression "local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20)" (identifier "local_74") (= "=") (cast_expression "(uint *)((byte *)((int)local_74 + 1) + local_20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((byte *)((int)local_74 + 1) + local_20)" (( "(") (binary_expression "(byte *)((int)local_74 + 1) + local_20" (cast_expression "(byte *)((int)local_74 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")"))) (+ "+") (identifier "local_20")) () ")")))) (; ";")) (goto_statement "goto joined_r0x001751d3;" (goto "goto") (statement_identifier "joined_r0x001751d3") (; ";")) (} "}"))) (if_statement "if (10 < uVar16) {\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }" (if "if") (parenthesized_expression "(10 < uVar16)" (( "(") (binary_expression "10 < uVar16" (number_literal "10") (< "<") (identifier "uVar16")) () ")")) (compound_statement "{\n              if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }\n              goto joined_r0x001751d3;\n            }" ({ "{") (if_statement "if (uVar16 < 0xd) {\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }\n              else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(uVar16 < 0xd)" (( "(") (binary_expression "uVar16 < 0xd" (identifier "uVar16") (< "<") (number_literal "0xd")) () ")")) (compound_statement "{\n                uVar23 = (ulonglong)(byte)*local_74;\n                local_74 = (uint *)((int)local_74 + 1);\n              }" ({ "{") (expression_statement "uVar23 = (ulonglong)(byte)*local_74;" (assignment_expression "uVar23 = (ulonglong)(byte)*local_74" (identifier "uVar23") (= "=") (binary_expression "(ulonglong)(byte)*local_74" (call_expression "(ulonglong)(byte)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "local_74"))) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                bVar1 = (byte)*local_74;\n                uVar11 = (uint)bVar1;\n                puVar21 = (uint *)((int)local_74 + 1);\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }\n              }" ({ "{") (expression_statement "bVar1 = (byte)*local_74;" (assignment_expression "bVar1 = (byte)*local_74" (identifier "bVar1") (= "=") (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "local_74"))) (; ";")) (expression_statement "uVar11 = (uint)bVar1;" (assignment_expression "uVar11 = (uint)bVar1" (identifier "uVar11") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (; ";")) (expression_statement "puVar21 = (uint *)((int)local_74 + 1);" (assignment_expression "puVar21 = (uint *)((int)local_74 + 1)" (identifier "puVar21") (= "=") (cast_expression "(uint *)((int)local_74 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }" (if "if") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }" ({ "{") (expression_statement "uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);" (assignment_expression "uVar23 = FUN_00189d30(puVar21,&local_40,uVar11)" (identifier "uVar23") (= "=") (call_expression "FUN_00189d30(puVar21,&local_40,uVar11)" (identifier "FUN_00189d30") (argument_list "(puVar21,&local_40,uVar11)" (( "(") (identifier "puVar21") (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + local_40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + local_40)" (( "(") (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (identifier "local_40")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }" (else "else") (compound_statement "{\n                  uVar23 = (ulonglong)uVar11;\n                  local_40 = 1;\n                  local_74 = puVar21;\n                  if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }\n                }" ({ "{") (expression_statement "uVar23 = (ulonglong)uVar11;" (assignment_expression "uVar23 = (ulonglong)uVar11" (identifier "uVar23") (= "=") (cast_expression "(ulonglong)uVar11" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar11"))) (; ";")) (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" (identifier "local_40") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" (identifier "local_74") (= "=") (identifier "puVar21")) (; ";")) (if_statement "if ((bVar1 & 0x40) != 0) {\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }" (if "if") (parenthesized_expression "((bVar1 & 0x40) != 0)" (( "(") (binary_expression "(bVar1 & 0x40) != 0" (parenthesized_expression "(bVar1 & 0x40)" (( "(") (binary_expression "bVar1 & 0x40" (identifier "bVar1") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);\n                  }" ({ "{") (expression_statement "uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);" (assignment_expression "uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(0xffffffff,uVar11 | 0xffffff80)" (identifier "CONCAT44") (argument_list "(0xffffffff,uVar11 | 0xffffff80)" (( "(") (number_literal "0xffffffff") (, ",") (binary_expression "uVar11 | 0xffffff80" (identifier "uVar11") (| "|") (number_literal "0xffffff80")) () ")")))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (goto_statement "goto joined_r0x001751d3;" (goto "goto") (statement_identifier "joined_r0x001751d3") (; ";")) (} "}"))) (if_statement "if (uVar16 != 8) {\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }" (if "if") (parenthesized_expression "(uVar16 != 8)" (( "(") (binary_expression "uVar16 != 8" (identifier "uVar16") (!= "!=") (number_literal "8")) () ")")) (compound_statement "{\n              if (uVar16 != 9) {\n                return 0;\n              }\nLAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);\n              local_6c = (uint)(byte)*local_74;\n              if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }\n              uVar23 = CONCAT44(local_28._4_4_,pbVar15);\n              local_74 = (uint *)((int)local_74 + local_40 + local_6c);\n              local_20 = local_6c;\n              goto joined_r0x001751d3;\n            }" ({ "{") (if_statement "if (uVar16 != 9) {\n                return 0;\n              }" (if "if") (parenthesized_expression "(uVar16 != 9)" (( "(") (binary_expression "uVar16 != 9" (identifier "uVar16") (!= "!=") (number_literal "9")) () ")")) (compound_statement "{\n                return 0;\n              }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (labeled_statement "LAB_00174f39:\n              pbVar15 = (byte *)((int)local_74 + 1);" (statement_identifier "LAB_00174f39") (: ":") (expression_statement "pbVar15 = (byte *)((int)local_74 + 1);" (assignment_expression "pbVar15 = (byte *)((int)local_74 + 1)" (identifier "pbVar15") (= "=") (cast_expression "(byte *)((int)local_74 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "local_6c = (uint)(byte)*local_74;" (assignment_expression "local_6c = (uint)(byte)*local_74" (identifier "local_6c") (= "=") (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "local_74"))) (; ";")) (if_statement "if ((char)(byte)*local_74 < '\0') {\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }\n              else {\n                local_40 = 1;\n              }" (if "if") (parenthesized_expression "((char)(byte)*local_74 < '\0')" (( "(") (binary_expression "(char)(byte)*local_74 < '\0'" (binary_expression "(char)(byte)*local_74" (cast_expression "(char)(byte)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "local_74")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);\n                pbVar15 = (byte *)((int)local_74 + local_40);\n              }" ({ "{") (expression_statement "local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);" (assignment_expression "local_6c = FUN_00189c70(pbVar15,&local_40,local_6c)" (identifier "local_6c") (= "=") (call_expression "FUN_00189c70(pbVar15,&local_40,local_6c)" (identifier "FUN_00189c70") (argument_list "(pbVar15,&local_40,local_6c)" (( "(") (identifier "pbVar15") (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (identifier "local_6c") () ")")))) (; ";")) (expression_statement "pbVar15 = (byte *)((int)local_74 + local_40);" (assignment_expression "pbVar15 = (byte *)((int)local_74 + local_40)" (identifier "pbVar15") (= "=") (cast_expression "(byte *)((int)local_74 + local_40)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + local_40)" (( "(") (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (identifier "local_40")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                local_40 = 1;\n              }" (else "else") (compound_statement "{\n                local_40 = 1;\n              }" ({ "{") (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" (identifier "local_40") (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,pbVar15);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,pbVar15)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_28._4_4_,pbVar15)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,pbVar15)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "pbVar15") () ")")))) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + local_40 + local_6c);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40 + local_6c)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + local_40 + local_6c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + local_40 + local_6c)" (( "(") (binary_expression "(int)local_74 + local_40 + local_6c" (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (identifier "local_40")) (+ "+") (identifier "local_6c")) () ")")))) (; ";")) (expression_statement "local_20 = local_6c;" (assignment_expression "local_20 = local_6c" (identifier "local_20") (= "=") (identifier "local_6c")) (; ";")) (goto_statement "goto joined_r0x001751d3;" (goto "goto") (statement_identifier "joined_r0x001751d3") (; ";")) (} "}"))) (expression_statement "local_28._0_4_ = local_74;" (assignment_expression "local_28._0_4_ = local_74" (field_expression "local_28._0_4_" (identifier "local_28") (. ".") (field_identifier "_0_4_")) (= "=") (identifier "local_74")) (; ";")) (expression_statement "local_40 = strlen((char *)local_74);" (assignment_expression "local_40 = strlen((char *)local_74)" (identifier "local_40") (= "=") (call_expression "strlen((char *)local_74)" (identifier "strlen") (argument_list "((char *)local_74)" (( "(") (cast_expression "(char *)local_74" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_74")) () ")")))) (; ";")) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,(uint *)local_28)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28")) () ")")))) (; ";")) (expression_statement "puVar21 = (uint *)((int)local_74 + local_40 + 1);" (assignment_expression "puVar21 = (uint *)((int)local_74 + local_40 + 1)" (identifier "puVar21") (= "=") (cast_expression "(uint *)((int)local_74 + local_40 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + local_40 + 1)" (( "(") (binary_expression "(int)local_74 + local_40 + 1" (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (identifier "local_40")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (uVar20 != 3) {\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }" (if "if") (parenthesized_expression "(uVar20 != 3)" (( "(") (binary_expression "uVar20 != 3" (identifier "uVar20") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);\n              if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;\n              goto LAB_00175220;\n            }" ({ "{") (expression_statement "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "uVar7") (= "=") (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,(uint *)local_28)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28")) () ")")))) (; ";")) (if_statement "if ((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 ) goto LAB_00174ea0;" (if "if") (parenthesized_expression "((uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))\n                 )" (( "(") (binary_expression "(uVar20 < 4) ||\n                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))" (parenthesized_expression "(uVar20 < 4)" (( "(") (binary_expression "uVar20 < 4" (identifier "uVar20") (< "<") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))" (( "(") (parenthesized_expression "(local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007))" (( "(") (comma_expression "local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)" (assignment_expression "local_28._0_4_ = local_74" (field_expression "local_28._0_4_" (identifier "local_28") (. ".") (field_identifier "_0_4_")) (= "=") (identifier "local_74")) (, ",") (binary_expression "uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)" (binary_expression "uVar20 != 0x6e" (identifier "uVar20") (!= "!=") (number_literal "0x6e")) (&& "&&") (parenthesized_expression "(uVar7 = uVar23, uVar20 != 0x2007)" (( "(") (comma_expression "uVar7 = uVar23, uVar20 != 0x2007" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (, ",") (binary_expression "uVar20 != 0x2007" (identifier "uVar20") (!= "!=") (number_literal "0x2007"))) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00174ea0;" (goto "goto") (statement_identifier "LAB_00174ea0") (; ";"))) (goto_statement "goto LAB_00175220;" (goto "goto") (statement_identifier "LAB_00175220") (; ";")) (} "}"))) (labeled_statement "LAB_00175230:\n            local_74 = puVar21;" (statement_identifier "LAB_00175230") (: ":") (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" (identifier "local_74") (= "=") (identifier "puVar21")) (; ";"))) (expression_statement "local_28._0_4_ = (uint *)uVar23;" (assignment_expression "local_28._0_4_ = (uint *)uVar23" (field_expression "local_28._0_4_" (identifier "local_28") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint *)uVar23" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar23"))) (; ";")) (expression_statement "param_1[0xf] = (int)(uint *)local_28;" (assignment_expression "param_1[0xf] = (int)(uint *)local_28" (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(int)(uint *)local_28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28")))) (; ";")) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";")) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" (else "else") (if_statement "if (uVar16 == 0x15) {\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }\n        else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" (if "if") (parenthesized_expression "(uVar16 == 0x15)" (( "(") (binary_expression "uVar16 == 0x15" (identifier "uVar16") (== "==") (number_literal "0x15")) () ")")) (compound_statement "{\n          bVar1 = (byte)*local_74;\n          if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }\njoined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }\n        }" ({ "{") (expression_statement "bVar1 = (byte)*local_74;" (assignment_expression "bVar1 = (byte)*local_74" (identifier "bVar1") (= "=") (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "local_74"))) (; ";")) (if_statement "if ((char)bVar1 < '\0') {\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }\n          else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" (if "if") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n            local_74 = (uint *)((int)local_74 + local_40);\n          }" ({ "{") (expression_statement "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);" (assignment_expression "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" (identifier "uVar23") (= "=") (call_expression "FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" (identifier "FUN_00189c70") (argument_list "((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" (( "(") (cast_expression "(uint *)((int)local_74 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")"))) (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) () ")")))) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + local_40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + local_40)" (( "(") (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (identifier "local_40")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" (else "else") (compound_statement "{\n            local_40 = 1;\n            uVar23 = (ulonglong)(uint)bVar1;\n            local_74 = (uint *)((int)local_74 + 1);\n          }" ({ "{") (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" (identifier "local_40") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar23 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar23 = (ulonglong)(uint)bVar1" (identifier "uVar23") (= "=") (cast_expression "(ulonglong)(uint)bVar1" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")))) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (labeled_statement "joined_r0x0017547a:\n          if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" (statement_identifier "joined_r0x0017547a") (: ":") (if_statement "if (uVar20 == 0x31) {\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }\n          else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" (if "if") (parenthesized_expression "(uVar20 == 0x31)" (( "(") (binary_expression "uVar20 == 0x31" (identifier "uVar20") (== "==") (number_literal "0x31")) () ")")) (compound_statement "{\nLAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;\n            puVar21 = local_74;\n            uVar7 = uVar23;\n          }" ({ "{") (labeled_statement "LAB_00174e48:\n            *(ulonglong *)(param_1 + 0x18) = uVar23;" (statement_identifier "LAB_00174e48") (: ":") (expression_statement "*(ulonglong *)(param_1 + 0x18) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 0x18) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 0x18)" (* "*") (cast_expression "(ulonglong *)(param_1 + 0x18)" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar23")) (; ";"))) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";")) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (} "}")) (else_clause "else if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" (else "else") (if_statement "if (uVar20 < 0x32) {\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }\n          else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" (if "if") (parenthesized_expression "(uVar20 < 0x32)" (( "(") (binary_expression "uVar20 < 0x32" (identifier "uVar20") (< "<") (number_literal "0x32")) () ")")) (compound_statement "{\n            if (uVar20 != 1) goto LAB_001754d5;\nLAB_0017548f:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }\n          }" ({ "{") (if_statement "if (uVar20 != 1) goto LAB_001754d5;" (if "if") (parenthesized_expression "(uVar20 != 1)" (( "(") (binary_expression "uVar20 != 1" (identifier "uVar20") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_001754d5;" (goto "goto") (statement_identifier "LAB_001754d5") (; ";"))) (labeled_statement "LAB_0017548f:\n            puVar21 = local_74;" (statement_identifier "LAB_0017548f") (: ":") (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";"))) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (if_statement "if (local_20 == 0) {\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }" (if "if") (parenthesized_expression "(local_20 == 0)" (( "(") (binary_expression "local_20 == 0" (identifier "local_20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(ulonglong *)(param_1 + 8) = uVar23;\n            }" ({ "{") (expression_statement "*(ulonglong *)(param_1 + 8) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 8) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 8)" (* "*") (cast_expression "(ulonglong *)(param_1 + 8)" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar23")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" (else "else") (compound_statement "{\n            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;\njoined_r0x00175920:\n            puVar21 = local_74;\n            uVar7 = uVar23;\n            if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }\n          }" ({ "{") (if_statement "if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;" (if "if") (parenthesized_expression "((uVar20 == 0x6e) || (uVar20 == 0x2007))" (( "(") (binary_expression "(uVar20 == 0x6e) || (uVar20 == 0x2007)" (parenthesized_expression "(uVar20 == 0x6e)" (( "(") (binary_expression "uVar20 == 0x6e" (identifier "uVar20") (== "==") (number_literal "0x6e")) () ")")) (|| "||") (parenthesized_expression "(uVar20 == 0x2007)" (( "(") (binary_expression "uVar20 == 0x2007" (identifier "uVar20") (== "==") (number_literal "0x2007")) () ")"))) () ")")) (goto_statement "goto LAB_001751f0;" (goto "goto") (statement_identifier "LAB_001751f0") (; ";"))) (labeled_statement "joined_r0x00175920:\n            puVar21 = local_74;" (statement_identifier "joined_r0x00175920") (: ":") (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";"))) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (if_statement "if (uVar20 == 0x47) {\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }" (if "if") (parenthesized_expression "(uVar20 == 0x47)" (( "(") (binary_expression "uVar20 == 0x47" (identifier "uVar20") (== "==") (number_literal "0x47")) () ")")) (compound_statement "{\n              *(ulonglong *)(param_1 + 0x16) = uVar23;\n            }" ({ "{") (expression_statement "*(ulonglong *)(param_1 + 0x16) = uVar23;" (assignment_expression "*(ulonglong *)(param_1 + 0x16) = uVar23" (pointer_expression "*(ulonglong *)(param_1 + 0x16)" (* "*") (cast_expression "(ulonglong *)(param_1 + 0x16)" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x16)" (( "(") (binary_expression "param_1 + 0x16" (identifier "param_1") (+ "+") (number_literal "0x16")) () ")")))) (= "=") (identifier "uVar23")) (; ";")) (} "}"))) (} "}"))))))) (} "}")) (else_clause "else {\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" (else "else") (compound_statement "{\n          if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }\n          if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }\n          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);\n          if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;\nLAB_001754d5:\n          puVar21 = local_74;\n          uVar7 = uVar23;\n          if (uVar20 != 3) goto LAB_00174ea0;\nLAB_00174c88:\n          puVar21 = local_74;\n          if (uVar16 == 8) goto LAB_00175230;\n          uVar7 = uVar23;\n          if (uVar16 == 0xe) goto LAB_00174c9a;\n        }" ({ "{") (if_statement "if (uVar16 < 0x16) {\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }" (if "if") (parenthesized_expression "(uVar16 < 0x16)" (( "(") (binary_expression "uVar16 < 0x16" (identifier "uVar16") (< "<") (number_literal "0x16")) () ")")) (compound_statement "{\n            if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }\n            goto LAB_00174e48;\n          }" ({ "{") (if_statement "if (uVar16 == 0x11) {\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }\n            else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }" (if "if") (parenthesized_expression "(uVar16 == 0x11)" (( "(") (binary_expression "uVar16 == 0x11" (identifier "uVar16") (== "==") (number_literal "0x11")) () ")")) (compound_statement "{\n              puVar21 = (uint *)((int)local_74 + 1);\n              uVar16 = (uint)(byte)*local_74;\n              uVar23 = (ulonglong)uVar16;\n              uVar8 = (ulonglong)uVar16;\n              uVar7 = (ulonglong)uVar16;\n              local_74 = puVar21;\n              if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }\n            }" ({ "{") (expression_statement "puVar21 = (uint *)((int)local_74 + 1);" (assignment_expression "puVar21 = (uint *)((int)local_74 + 1)" (identifier "puVar21") (= "=") (cast_expression "(uint *)((int)local_74 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar16 = (uint)(byte)*local_74;" (assignment_expression "uVar16 = (uint)(byte)*local_74" (identifier "uVar16") (= "=") (binary_expression "(uint)(byte)*local_74" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "local_74"))) (; ";")) (expression_statement "uVar23 = (ulonglong)uVar16;" (assignment_expression "uVar23 = (ulonglong)uVar16" (identifier "uVar23") (= "=") (cast_expression "(ulonglong)uVar16" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar16"))) (; ";")) (expression_statement "uVar8 = (ulonglong)uVar16;" (assignment_expression "uVar8 = (ulonglong)uVar16" (identifier "uVar8") (= "=") (cast_expression "(ulonglong)uVar16" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar16"))) (; ";")) (expression_statement "uVar7 = (ulonglong)uVar16;" (assignment_expression "uVar7 = (ulonglong)uVar16" (identifier "uVar7") (= "=") (cast_expression "(ulonglong)uVar16" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar16"))) (; ";")) (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" (identifier "local_74") (= "=") (identifier "puVar21")) (; ";")) (if_statement "if (uVar20 != 0x31) {\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }" (if "if") (parenthesized_expression "(uVar20 != 0x31)" (( "(") (binary_expression "uVar20 != 0x31" (identifier "uVar20") (!= "!=") (number_literal "0x31")) () ")")) (compound_statement "{\n                uVar9 = (ulonglong)uVar16;\n                if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }\n                goto LAB_00174ea0;\n              }" ({ "{") (expression_statement "uVar9 = (ulonglong)uVar16;" (assignment_expression "uVar9 = (ulonglong)uVar16" (identifier "uVar9") (= "=") (cast_expression "(ulonglong)uVar16" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar16"))) (; ";")) (if_statement "if (uVar20 < 0x32) {\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }\n                else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }" (if "if") (parenthesized_expression "(uVar20 < 0x32)" (( "(") (binary_expression "uVar20 < 0x32" (identifier "uVar20") (< "<") (number_literal "0x32")) () ")")) (compound_statement "{\n                  uVar7 = (ulonglong)uVar16;\n                  if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }\n                }" ({ "{") (expression_statement "uVar7 = (ulonglong)uVar16;" (assignment_expression "uVar7 = (ulonglong)uVar16" (identifier "uVar7") (= "=") (cast_expression "(ulonglong)uVar16" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar16"))) (; ";")) (if_statement "if (uVar20 == 1) {\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }" (if "if") (parenthesized_expression "(uVar20 == 1)" (( "(") (binary_expression "uVar20 == 1" (identifier "uVar20") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                    param_1[8] = uVar16;\n                    param_1[9] = 0;\n                    uVar7 = (ulonglong)uVar16;\n                  }" ({ "{") (expression_statement "param_1[8] = uVar16;" (assignment_expression "param_1[8] = uVar16" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar7 = (ulonglong)uVar16;" (assignment_expression "uVar7 = (ulonglong)uVar16" (identifier "uVar7") (= "=") (cast_expression "(ulonglong)uVar16" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar16"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }" (else "else") (compound_statement "{\njoined_r0x001752af:\n                  uVar23 = uVar9;\n                  puVar21 = local_74;\n                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;\n                }" ({ "{") (labeled_statement "joined_r0x001752af:\n                  uVar23 = uVar9;" (statement_identifier "joined_r0x001752af") (: ":") (expression_statement "uVar23 = uVar9;" (assignment_expression "uVar23 = uVar9" (identifier "uVar23") (= "=") (identifier "uVar9")) (; ";"))) (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";")) (if_statement "if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))\n                  goto joined_r0x00175920;" (if "if") (parenthesized_expression "((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))" (( "(") (binary_expression "(uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007)" (parenthesized_expression "(uVar20 != 0x6e)" (( "(") (binary_expression "uVar20 != 0x6e" (identifier "uVar20") (!= "!=") (number_literal "0x6e")) () ")")) (&& "&&") (parenthesized_expression "(uVar7 = uVar8, uVar20 != 0x2007)" (( "(") (comma_expression "uVar7 = uVar8, uVar20 != 0x2007" (assignment_expression "uVar7 = uVar8" (identifier "uVar7") (= "=") (identifier "uVar8")) (, ",") (binary_expression "uVar20 != 0x2007" (identifier "uVar20") (!= "!=") (number_literal "0x2007"))) () ")"))) () ")")) (goto_statement "goto joined_r0x00175920;" (goto "goto") (statement_identifier "joined_r0x00175920") (; ";"))) (} "}")))) (goto_statement "goto LAB_00174ea0;" (goto "goto") (statement_identifier "LAB_00174ea0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }" (else "else") (compound_statement "{\n              if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }\n              if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }\n              if (uVar16 != 0x10) {\n                return 0;\n              }\n              iVar4 = *param_1;\n              iVar13 = *(int *)(iVar4 + 0x48);\n              if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }\n              piVar2 = *(int **)(iVar4 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }\n              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n              uVar23 = CONCAT44(local_38,local_3c);\n              if (uVar20 != 0x31) goto LAB_00175028;\n            }" ({ "{") (if_statement "if (0x11 < uVar16) {\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }" (if "if") (parenthesized_expression "(0x11 < uVar16)" (( "(") (binary_expression "0x11 < uVar16" (number_literal "0x11") (< "<") (identifier "uVar16")) () ")")) (compound_statement "{\n                if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }\n                if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }\n                piVar2 = *(int **)(*param_1 + 8);\n                pcVar3 = *(code **)(*piVar2 + 0xc);\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\nLAB_001753da:\n                local_3c = (uint *)*local_74;\n                uVar11 = local_74[1];\n                local_38 = uVar11;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }\n                local_74 = local_74 + 2;\nLAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);\n                uVar23 = CONCAT44(local_38,local_3c);\n                goto joined_r0x0017547a;\n              }" ({ "{") (if_statement "if (uVar16 == 0x13) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }" (if "if") (parenthesized_expression "(uVar16 == 0x13)" (( "(") (binary_expression "uVar16 == 0x13" (identifier "uVar16") (== "==") (number_literal "0x13")) () ")")) (compound_statement "{\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  goto LAB_0017542a;\n                }" ({ "{") (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(*piVar2 + 0xc)" (* "*") (cast_expression "(code **)(*piVar2 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xc)" (( "(") (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }" ({ "{") (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" (( "(") (pointer_expression "**(code **)(*piVar2 + 0xe8)" (* "*") (pointer_expression "*(code **)(*piVar2 + 0xe8)" (* "*") (cast_expression "(code **)(*piVar2 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xe8)" (( "(") (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" (else "else") (compound_statement "{\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (goto_statement "goto LAB_0017542a;" (goto "goto") (statement_identifier "LAB_0017542a") (; ";")) (} "}"))) (if_statement "if (uVar16 < 0x14) {\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }" (if "if") (parenthesized_expression "(uVar16 < 0x14)" (( "(") (binary_expression "uVar16 < 0x14" (identifier "uVar16") (< "<") (number_literal "0x14")) () ")")) (compound_statement "{\n                  piVar2 = *(int **)(*param_1 + 8);\n                  pcVar3 = *(code **)(*piVar2 + 0xc);\n                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }\n                  uVar6 = (ushort)*local_74;\n                  if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }\n                  uVar23 = (ulonglong)uVar6;\n                  local_74 = (uint *)((int)local_74 + 2);\n                  goto joined_r0x0017547a;\n                }" ({ "{") (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(*piVar2 + 0xc)" (* "*") (cast_expression "(code **)(*piVar2 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xc)" (( "(") (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }\n                  else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                  }" ({ "{") (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" (( "(") (pointer_expression "**(code **)(*piVar2 + 0xe8)" (* "*") (pointer_expression "*(code **)(*piVar2 + 0xe8)" (* "*") (cast_expression "(code **)(*piVar2 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xe8)" (( "(") (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" (else "else") (compound_statement "{\n                    cVar10 = (*pcVar3)(piVar2);\n                  }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar6 = (ushort)*local_74;" (assignment_expression "uVar6 = (ushort)*local_74" (identifier "uVar6") (= "=") (binary_expression "(ushort)*local_74" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (* "*") (identifier "local_74"))) (; ";")) (if_statement "if (cVar10 != '\0') {\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));\n                  }" ({ "{") (expression_statement "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));" (assignment_expression "uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" (identifier "uVar6") (= "=") (call_expression "CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1))" (identifier "CONCAT11") (argument_list "((byte)*local_74,*(byte *)((int)local_74 + 1))" (( "(") (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "local_74")) (, ",") (pointer_expression "*(byte *)((int)local_74 + 1)" (* "*") (cast_expression "(byte *)((int)local_74 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar23 = (ulonglong)uVar6;" (assignment_expression "uVar23 = (ulonglong)uVar6" (identifier "uVar23") (= "=") (cast_expression "(ulonglong)uVar6" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar6"))) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + 2);" (assignment_expression "local_74 = (uint *)((int)local_74 + 2)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 2)" (( "(") (binary_expression "(int)local_74 + 2" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (goto_statement "goto joined_r0x0017547a;" (goto "goto") (statement_identifier "joined_r0x0017547a") (; ";")) (} "}"))) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(*piVar2 + 0xc)" (* "*") (cast_expression "(code **)(*piVar2 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xc)" (( "(") (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" (( "(") (pointer_expression "**(code **)(*piVar2 + 0xe8)" (* "*") (pointer_expression "*(code **)(*piVar2 + 0xe8)" (* "*") (cast_expression "(code **)(*piVar2 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xe8)" (( "(") (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (else "else") (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (labeled_statement "LAB_001753da:\n                local_3c = (uint *)*local_74;" (statement_identifier "LAB_001753da") (: ":") (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" (identifier "local_3c") (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";"))) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" (identifier "uVar11") (= "=") (subscript_expression "local_74[1]" (identifier "local_74") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_38 = uVar11;" (assignment_expression "local_38 = uVar11" (identifier "local_38") (= "=") (identifier "uVar11")) (; ";")) (if_statement "if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);\n                }" ({ "{") (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (identifier "local_38") (= "=") (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" (( "(") (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" (( "(") (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" (identifier "local_3c") (= "=") (cast_expression "(uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" (( "(") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                      (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" (identifier "local_74") (= "=") (binary_expression "local_74 + 2" (identifier "local_74") (+ "+") (number_literal "2"))) (; ";")) (labeled_statement "LAB_0017544c:\n                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (statement_identifier "LAB_0017544c") (: ":") (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" (identifier "local_20") (= "=") (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" (identifier "FUN_00174230") (argument_list "(*param_1,iVar12,iVar18,&local_3c)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (identifier "iVar12") (, ",") (identifier "iVar18") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";"))) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (; ";")) (goto_statement "goto joined_r0x0017547a;" (goto "goto") (statement_identifier "joined_r0x0017547a") (; ";")) (} "}"))) (if_statement "if (uVar16 == 0xf) {\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }" (if "if") (parenthesized_expression "(uVar16 == 0xf)" (( "(") (binary_expression "uVar16 == 0xf" (identifier "uVar16") (== "==") (number_literal "0xf")) () ")")) (compound_statement "{\nLAB_00175135:\n                bVar1 = (byte)*local_74;\n                if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }\n                goto joined_r0x001751d3;\n              }" ({ "{") (labeled_statement "LAB_00175135:\n                bVar1 = (byte)*local_74;" (statement_identifier "LAB_00175135") (: ":") (expression_statement "bVar1 = (byte)*local_74;" (assignment_expression "bVar1 = (byte)*local_74" (identifier "bVar1") (= "=") (binary_expression "(byte)*local_74" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "local_74"))) (; ";"))) (if_statement "if ((char)bVar1 < '\0') {\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }\n                else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" (if "if") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);\n                  local_74 = (uint *)((int)local_74 + local_40);\n                }" ({ "{") (expression_statement "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);" (assignment_expression "uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" (identifier "uVar23") (= "=") (call_expression "FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" (identifier "FUN_00189c70") (argument_list "((uint *)((int)local_74 + 1),&local_40,(uint)bVar1)" (( "(") (cast_expression "(uint *)((int)local_74 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")"))) (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) () ")")))) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + local_40);" (assignment_expression "local_74 = (uint *)((int)local_74 + local_40)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + local_40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + local_40)" (( "(") (binary_expression "(int)local_74 + local_40" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (identifier "local_40")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" (else "else") (compound_statement "{\n                  local_40 = 1;\n                  uVar23 = (ulonglong)(uint)bVar1;\n                  local_74 = (uint *)((int)local_74 + 1);\n                }" ({ "{") (expression_statement "local_40 = 1;" (assignment_expression "local_40 = 1" (identifier "local_40") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar23 = (ulonglong)(uint)bVar1;" (assignment_expression "uVar23 = (ulonglong)(uint)bVar1" (identifier "uVar23") (= "=") (cast_expression "(ulonglong)(uint)bVar1" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")))) (; ";")) (expression_statement "local_74 = (uint *)((int)local_74 + 1);" (assignment_expression "local_74 = (uint *)((int)local_74 + 1)" (identifier "local_74") (= "=") (cast_expression "(uint *)((int)local_74 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_74 + 1)" (( "(") (binary_expression "(int)local_74 + 1" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (goto_statement "goto joined_r0x001751d3;" (goto "goto") (statement_identifier "joined_r0x001751d3") (; ";")) (} "}"))) (if_statement "if (uVar16 != 0x10) {\n                return 0;\n              }" (if "if") (parenthesized_expression "(uVar16 != 0x10)" (( "(") (binary_expression "uVar16 != 0x10" (identifier "uVar16") (!= "!=") (number_literal "0x10")) () ")")) (compound_statement "{\n                return 0;\n              }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar4 = *param_1;" (assignment_expression "iVar4 = *param_1" (identifier "iVar4") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "iVar13 = *(int *)(iVar4 + 0x48);" (assignment_expression "iVar13 = *(int *)(iVar4 + 0x48)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iVar4 + 0x48)" (* "*") (cast_expression "(int *)(iVar4 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x48)" (( "(") (binary_expression "iVar4 + 0x48" (identifier "iVar4") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (if_statement "if (2 < *(uint *)(iVar4 + 0x4c)) {\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }" (if "if") (parenthesized_expression "(2 < *(uint *)(iVar4 + 0x4c))" (( "(") (binary_expression "2 < *(uint *)(iVar4 + 0x4c)" (number_literal "2") (< "<") (pointer_expression "*(uint *)(iVar4 + 0x4c)" (* "*") (cast_expression "(uint *)(iVar4 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x4c)" (( "(") (binary_expression "iVar4 + 0x4c" (identifier "iVar4") (+ "+") (number_literal "0x4c")) () ")"))))) () ")")) (compound_statement "{\n                iVar13 = *(int *)(iVar4 + 0x44);\n              }" ({ "{") (expression_statement "iVar13 = *(int *)(iVar4 + 0x44);" (assignment_expression "iVar13 = *(int *)(iVar4 + 0x44)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iVar4 + 0x44)" (* "*") (cast_expression "(int *)(iVar4 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x44)" (( "(") (binary_expression "iVar4 + 0x44" (identifier "iVar4") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (} "}"))) (expression_statement "piVar2 = *(int **)(iVar4 + 8);" (assignment_expression "piVar2 = *(int **)(iVar4 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(iVar4 + 8)" (* "*") (cast_expression "(int **)(iVar4 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" (identifier "iVar4") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(iVar4 + 0xc)" (* "*") (cast_expression "(code **)(iVar4 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar13 == 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }\n              else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" (if "if") (parenthesized_expression "(iVar13 == 4)" (( "(") (binary_expression "iVar13 == 4" (identifier "iVar13") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                local_38 = 0;\n                if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }\n                local_74 = local_74 + 1;\n              }" ({ "{") (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" (( "(") (pointer_expression "**(code **)(iVar4 + 0xe8)" (* "*") (pointer_expression "*(code **)(iVar4 + 0xe8)" (* "*") (cast_expression "(code **)(iVar4 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xe8)" (( "(") (binary_expression "iVar4 + 0xe8" (identifier "iVar4") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (else "else") (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" (identifier "local_3c") (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (if_statement "if (cVar10 != '\0') {\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n                }" ({ "{") (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (identifier "local_3c") (= "=") (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (( "(") (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                      ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" (( "(") (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" (( "(") (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" (identifier "local_74") (= "=") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" (else "else") (compound_statement "{\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                local_3c = (uint *)*local_74;\n                uVar16 = local_74[1];\n                local_38 = uVar16;\n                if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }\n                local_74 = local_74 + 2;\n              }" ({ "{") (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" (( "(") (pointer_expression "**(code **)(iVar4 + 0xe8)" (* "*") (pointer_expression "*(code **)(iVar4 + 0xe8)" (* "*") (cast_expression "(code **)(iVar4 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xe8)" (( "(") (binary_expression "iVar4 + 0xe8" (identifier "iVar4") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (else "else") (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" (identifier "local_3c") (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";")) (expression_statement "uVar16 = local_74[1];" (assignment_expression "uVar16 = local_74[1]" (identifier "uVar16") (= "=") (subscript_expression "local_74[1]" (identifier "local_74") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_38 = uVar16;" (assignment_expression "local_38 = uVar16" (identifier "local_38") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (cVar10 != '\0') {\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;\n                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);\n                }" ({ "{") (expression_statement "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;" (assignment_expression "local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (identifier "local_38") (= "=") (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                             ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" (( "(") (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" (( "(") (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);" (assignment_expression "local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" (identifier "local_3c") (= "=") (cast_expression "(uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18)" (( "(") (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                      (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" (identifier "uVar16") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" (( "(") (binary_expression "uVar16 & 0xff0000" (identifier "uVar16") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" (( "(") (binary_expression "uVar16 & 0xff00" (identifier "uVar16") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar16 << 0x18" (identifier "uVar16") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" (identifier "local_74") (= "=") (binary_expression "local_74 + 2" (identifier "local_74") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);" (assignment_expression "local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" (identifier "local_20") (= "=") (call_expression "FUN_00174230(*param_1,iVar12,iVar18,&local_3c)" (identifier "FUN_00174230") (argument_list "(*param_1,iVar12,iVar18,&local_3c)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (identifier "iVar12") (, ",") (identifier "iVar18") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (expression_statement "uVar23 = CONCAT44(local_38,local_3c);" (assignment_expression "uVar23 = CONCAT44(local_38,local_3c)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_38,local_3c)" (identifier "CONCAT44") (argument_list "(local_38,local_3c)" (( "(") (identifier "local_38") (, ",") (identifier "local_3c") () ")")))) (; ";")) (if_statement "if (uVar20 != 0x31) goto LAB_00175028;" (if "if") (parenthesized_expression "(uVar20 != 0x31)" (( "(") (binary_expression "uVar20 != 0x31" (identifier "uVar20") (!= "!=") (number_literal "0x31")) () ")")) (goto_statement "goto LAB_00175028;" (goto "goto") (statement_identifier "LAB_00175028") (; ";"))) (} "}")))) (goto_statement "goto LAB_00174e48;" (goto "goto") (statement_identifier "LAB_00174e48") (; ";")) (} "}"))) (if_statement "if (uVar16 == 0x19) {\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }\n          else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" (if "if") (parenthesized_expression "(uVar16 == 0x19)" (( "(") (binary_expression "uVar16 == 0x19" (identifier "uVar16") (== "==") (number_literal "0x19")) () ")")) (compound_statement "{\n            local_28._0_4_ = (uint *)0x1;\n            local_28._4_4_ = 0;\n          }" ({ "{") (expression_statement "local_28._0_4_ = (uint *)0x1;" (assignment_expression "local_28._0_4_ = (uint *)0x1" (field_expression "local_28._0_4_" (identifier "local_28") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_28._4_4_ = 0;" (assignment_expression "local_28._4_4_ = 0" (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" (else "else") (compound_statement "{\n            if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }\n            if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }\n            piVar2 = *(int **)(*param_1 + 8);\n            pcVar3 = *(code **)(*piVar2 + 0xc);\n            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }\n            local_28._0_4_ = (uint *)*local_74;\n            uVar11 = local_74[1];\n            local_28._4_4_ = uVar11;\n            if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }\n            local_74 = local_74 + 2;\n          }" ({ "{") (if_statement "if (uVar16 < 0x1a) {\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }" (if "if") (parenthesized_expression "(uVar16 < 0x1a)" (( "(") (binary_expression "uVar16 < 0x1a" (identifier "uVar16") (< "<") (number_literal "0x1a")) () ")")) (compound_statement "{\n              if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }\n              piVar2 = *(int **)(*param_1 + 8);\n              iVar4 = *piVar2;\n              pcVar3 = *(code **)(iVar4 + 0xc);\n              if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }\n              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }\nLAB_0017542a:\n              local_3c = (uint *)*local_74;\n              local_38 = 0;\n              if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }\n              local_74 = local_74 + 1;\n              goto LAB_0017544c;\n            }" ({ "{") (if_statement "if (uVar16 != 0x17) {\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }" (if "if") (parenthesized_expression "(uVar16 != 0x17)" (( "(") (binary_expression "uVar16 != 0x17" (identifier "uVar16") (!= "!=") (number_literal "0x17")) () ")")) (compound_statement "{\n                if (uVar16 != 0x18) {\n                  return 0;\n                }\n                goto LAB_00174f39;\n              }" ({ "{") (if_statement "if (uVar16 != 0x18) {\n                  return 0;\n                }" (if "if") (parenthesized_expression "(uVar16 != 0x18)" (( "(") (binary_expression "uVar16 != 0x18" (identifier "uVar16") (!= "!=") (number_literal "0x18")) () ")")) (compound_statement "{\n                  return 0;\n                }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (goto_statement "goto LAB_00174f39;" (goto "goto") (statement_identifier "LAB_00174f39") (; ";")) (} "}"))) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" (identifier "iVar4") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "pcVar3 = *(code **)(iVar4 + 0xc);" (assignment_expression "pcVar3 = *(code **)(iVar4 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(iVar4 + 0xc)" (* "*") (cast_expression "(code **)(iVar4 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*(int *)(*param_1 + 0x44) != 4) {\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }" (if "if") (parenthesized_expression "(*(int *)(*param_1 + 0x44) != 4)" (( "(") (binary_expression "*(int *)(*param_1 + 0x44) != 4" (pointer_expression "*(int *)(*param_1 + 0x44)" (* "*") (cast_expression "(int *)(*param_1 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x44)" (( "(") (binary_expression "*param_1 + 0x44" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x44")) () ")")))) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }\n                goto LAB_001753da;\n              }" ({ "{") (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }\n                else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" (( "(") (pointer_expression "**(code **)(iVar4 + 0xe8)" (* "*") (pointer_expression "*(code **)(iVar4 + 0xe8)" (* "*") (cast_expression "(code **)(iVar4 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xe8)" (( "(") (binary_expression "iVar4 + 0xe8" (identifier "iVar4") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  cVar10 = (*pcVar3)(piVar2);\n                }" (else "else") (compound_statement "{\n                  cVar10 = (*pcVar3)(piVar2);\n                }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (goto_statement "goto LAB_001753da;" (goto "goto") (statement_identifier "LAB_001753da") (; ";")) (} "}"))) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }\n              else {\n                cVar10 = (*pcVar3)(piVar2);\n              }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);\n              }" ({ "{") (expression_statement "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(iVar4 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(iVar4 + 0xe8))" (( "(") (pointer_expression "**(code **)(iVar4 + 0xe8)" (* "*") (pointer_expression "*(code **)(iVar4 + 0xe8)" (* "*") (cast_expression "(code **)(iVar4 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xe8)" (( "(") (binary_expression "iVar4 + 0xe8" (identifier "iVar4") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                cVar10 = (*pcVar3)(piVar2);\n              }" (else "else") (compound_statement "{\n                cVar10 = (*pcVar3)(piVar2);\n              }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (labeled_statement "LAB_0017542a:\n              local_3c = (uint *)*local_74;" (statement_identifier "LAB_0017542a") (: ":") (expression_statement "local_3c = (uint *)*local_74;" (assignment_expression "local_3c = (uint *)*local_74" (identifier "local_3c") (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";"))) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (if_statement "if (cVar10 != '\0') {\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);\n              }" ({ "{") (expression_statement "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);" (assignment_expression "local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (identifier "local_3c") (= "=") (cast_expression "(uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18)" (( "(") (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |\n                                    ((uint)local_3c & 0xff00) << 8" (binary_expression "(uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8" (binary_expression "(uint)local_3c >> 0x18" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_3c & 0xff0000) >> 8" (parenthesized_expression "((uint)local_3c & 0xff0000)" (( "(") (binary_expression "(uint)local_3c & 0xff0000" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_3c & 0xff00) << 8" (parenthesized_expression "((uint)local_3c & 0xff00)" (( "(") (binary_expression "(uint)local_3c & 0xff00" (cast_expression "(uint)local_3c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_3c")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_3c << 0x18" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" (identifier "local_74") (= "=") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0017544c;" (goto "goto") (statement_identifier "LAB_0017544c") (; ";")) (} "}"))) (if_statement "if (uVar16 != 0x20) {\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }" (if "if") (parenthesized_expression "(uVar16 != 0x20)" (( "(") (binary_expression "uVar16 != 0x20" (identifier "uVar16") (!= "!=") (number_literal "0x20")) () ")")) (compound_statement "{\n              if (uVar16 < 0x20) {\n                return 0;\n              }\n              if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }\n              goto LAB_00175135;\n            }" ({ "{") (if_statement "if (uVar16 < 0x20) {\n                return 0;\n              }" (if "if") (parenthesized_expression "(uVar16 < 0x20)" (( "(") (binary_expression "uVar16 < 0x20" (identifier "uVar16") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n                return 0;\n              }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (1 < uVar16 - 0x1f01) {\n                return 0;\n              }" (if "if") (parenthesized_expression "(1 < uVar16 - 0x1f01)" (( "(") (binary_expression "1 < uVar16 - 0x1f01" (number_literal "1") (< "<") (binary_expression "uVar16 - 0x1f01" (identifier "uVar16") (- "-") (number_literal "0x1f01"))) () ")")) (compound_statement "{\n                return 0;\n              }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (goto_statement "goto LAB_00175135;" (goto "goto") (statement_identifier "LAB_00175135") (; ";")) (} "}"))) (expression_statement "piVar2 = *(int **)(*param_1 + 8);" (assignment_expression "piVar2 = *(int **)(*param_1 + 8)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(*param_1 + 8)" (* "*") (cast_expression "(int **)(*param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(*piVar2 + 0xc);" (assignment_expression "pcVar3 = *(code **)(*piVar2 + 0xc)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(*piVar2 + 0xc)" (* "*") (cast_expression "(code **)(*piVar2 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xc)" (( "(") (binary_expression "*piVar2 + 0xc" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }\n            else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" (if "if") (parenthesized_expression "(pcVar3 == (code *)(unaff_EDI + -0xe05c9))" (( "(") (binary_expression "pcVar3 == (code *)(unaff_EDI + -0xe05c9)" (identifier "pcVar3") (== "==") (cast_expression "(code *)(unaff_EDI + -0xe05c9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + -0xe05c9)" (( "(") (binary_expression "unaff_EDI + -0xe05c9" (identifier "unaff_EDI") (+ "+") (number_literal "-0xe05c9")) () ")")))) () ")")) (compound_statement "{\n              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);\n            }" ({ "{") (expression_statement "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);" (assignment_expression "cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2)" (identifier "cVar10") (= "=") (call_expression "(**(code **)(*piVar2 + 0xe8))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0xe8))" (( "(") (pointer_expression "**(code **)(*piVar2 + 0xe8)" (* "*") (pointer_expression "*(code **)(*piVar2 + 0xe8)" (* "*") (cast_expression "(code **)(*piVar2 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0xe8)" (( "(") (binary_expression "*piVar2 + 0xe8" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n              cVar10 = (*pcVar3)(piVar2);\n            }" (else "else") (compound_statement "{\n              cVar10 = (*pcVar3)(piVar2);\n            }" ({ "{") (expression_statement "cVar10 = (*pcVar3)(piVar2);" (assignment_expression "cVar10 = (*pcVar3)(piVar2)" (identifier "cVar10") (= "=") (call_expression "(*pcVar3)(piVar2)" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (} "}")))) (expression_statement "local_28._0_4_ = (uint *)*local_74;" (assignment_expression "local_28._0_4_ = (uint *)*local_74" (field_expression "local_28._0_4_" (identifier "local_28") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint *)*local_74" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_74" (* "*") (identifier "local_74")))) (; ";")) (expression_statement "uVar11 = local_74[1];" (assignment_expression "uVar11 = local_74[1]" (identifier "uVar11") (= "=") (subscript_expression "local_74[1]" (identifier "local_74") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_28._4_4_ = uVar11;" (assignment_expression "local_28._4_4_ = uVar11" (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (= "=") (identifier "uVar11")) (; ";")) (if_statement "if (cVar10 != '\0') {\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;\n              local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);\n            }" ({ "{") (expression_statement "local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;" (assignment_expression "local_28._4_4_ =\n                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18" (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (= "=") (binary_expression "(uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18" (binary_expression "(uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |\n                   ((uint)(uint *)local_28 & 0xff00) << 8" (binary_expression "(uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8" (binary_expression "(uint)(uint *)local_28 >> 0x18" (cast_expression "(uint)(uint *)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28"))) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)(uint *)local_28 & 0xff0000) >> 8" (parenthesized_expression "((uint)(uint *)local_28 & 0xff0000)" (( "(") (binary_expression "(uint)(uint *)local_28 & 0xff0000" (cast_expression "(uint)(uint *)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28"))) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)(uint *)local_28 & 0xff00) << 8" (parenthesized_expression "((uint)(uint *)local_28 & 0xff00)" (( "(") (binary_expression "(uint)(uint *)local_28 & 0xff00" (cast_expression "(uint)(uint *)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28"))) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)(uint *)local_28 << 0x18" (cast_expression "(int)(uint *)local_28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28"))) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18);" (assignment_expression "local_28._0_4_ =\n                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18)" (field_expression "local_28._0_4_" (identifier "local_28") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18)" (( "(") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                           uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 2;" (assignment_expression "local_74 = local_74 + 2" (identifier "local_74") (= "=") (binary_expression "local_74 + 2" (identifier "local_74") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,(uint *)local_28)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28")) () ")")))) (; ";")) (if_statement "if ((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))\n          goto LAB_001751f0;" (if "if") (parenthesized_expression "((uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))" (( "(") (binary_expression "(uVar20 == 0x6e) ||\n             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007)" (parenthesized_expression "(uVar20 == 0x6e)" (( "(") (binary_expression "uVar20 == 0x6e" (identifier "uVar20") (== "==") (number_literal "0x6e")) () ")")) (|| "||") (parenthesized_expression "(uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007)" (( "(") (comma_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007" (assignment_expression "uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "uVar23") (= "=") (call_expression "CONCAT44(local_28._4_4_,(uint *)local_28)" (identifier "CONCAT44") (argument_list "(local_28._4_4_,(uint *)local_28)" (( "(") (field_expression "local_28._4_4_" (identifier "local_28") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(uint *)local_28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_28")) () ")")))) (, ",") (binary_expression "uVar20 == 0x2007" (identifier "uVar20") (== "==") (number_literal "0x2007"))) () ")"))) () ")")) (goto_statement "goto LAB_001751f0;" (goto "goto") (statement_identifier "LAB_001751f0") (; ";"))) (labeled_statement "LAB_001754d5:\n          puVar21 = local_74;" (statement_identifier "LAB_001754d5") (: ":") (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";"))) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (if_statement "if (uVar20 != 3) goto LAB_00174ea0;" (if "if") (parenthesized_expression "(uVar20 != 3)" (( "(") (binary_expression "uVar20 != 3" (identifier "uVar20") (!= "!=") (number_literal "3")) () ")")) (goto_statement "goto LAB_00174ea0;" (goto "goto") (statement_identifier "LAB_00174ea0") (; ";"))) (labeled_statement "LAB_00174c88:\n          puVar21 = local_74;" (statement_identifier "LAB_00174c88") (: ":") (expression_statement "puVar21 = local_74;" (assignment_expression "puVar21 = local_74" (identifier "puVar21") (= "=") (identifier "local_74")) (; ";"))) (if_statement "if (uVar16 == 8) goto LAB_00175230;" (if "if") (parenthesized_expression "(uVar16 == 8)" (( "(") (binary_expression "uVar16 == 8" (identifier "uVar16") (== "==") (number_literal "8")) () ")")) (goto_statement "goto LAB_00175230;" (goto "goto") (statement_identifier "LAB_00175230") (; ";"))) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" (identifier "uVar7") (= "=") (identifier "uVar23")) (; ";")) (if_statement "if (uVar16 == 0xe) goto LAB_00174c9a;" (if "if") (parenthesized_expression "(uVar16 == 0xe)" (( "(") (binary_expression "uVar16 == 0xe" (identifier "uVar16") (== "==") (number_literal "0xe")) () ")")) (goto_statement "goto LAB_00174c9a;" (goto "goto") (statement_identifier "LAB_00174c9a") (; ";"))) (} "}")))))) (labeled_statement "LAB_00174ea0:\n        local_74 = puVar21;" (statement_identifier "LAB_00174ea0") (: ":") (expression_statement "local_74 = puVar21;" (assignment_expression "local_74 = puVar21" (identifier "local_74") (= "=") (identifier "puVar21")) (; ";"))) (expression_statement "puVar21 = (uint *)param_1[0xc];" (assignment_expression "puVar21 = (uint *)param_1[0xc]" (identifier "puVar21") (= "=") (cast_expression "(uint *)param_1[0xc]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")))) (; ";")) (if_statement "if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;" (if "if") (parenthesized_expression "(puVar21 == (uint *)param_1[0xd])" (( "(") (binary_expression "puVar21 == (uint *)param_1[0xd]" (identifier "puVar21") (== "==") (cast_expression "(uint *)param_1[0xd]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")))) () ")")) (goto_statement "goto LAB_00174cc0;" (goto "goto") (statement_identifier "LAB_00174cc0") (; ";"))) (labeled_statement "LAB_00174eac:\n        *puVar21 = local_30;" (statement_identifier "LAB_00174eac") (: ":") (expression_statement "*puVar21 = local_30;" (assignment_expression "*puVar21 = local_30" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (= "=") (identifier "local_30")) (; ";"))) (expression_statement "puVar21[1] = local_2c;" (assignment_expression "puVar21[1] = local_2c" (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "*(ulonglong *)(puVar21 + 2) = uVar7;" (assignment_expression "*(ulonglong *)(puVar21 + 2) = uVar7" (pointer_expression "*(ulonglong *)(puVar21 + 2)" (* "*") (cast_expression "(ulonglong *)(puVar21 + 2)" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 2)" (( "(") (binary_expression "puVar21 + 2" (identifier "puVar21") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar21[4] = local_20;" (assignment_expression "puVar21[4] = local_20" (subscript_expression "puVar21[4]" (identifier "puVar21") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_20")) (; ";")) (expression_statement "param_1[0xc] = (int)(puVar21 + 5);" (assignment_expression "param_1[0xc] = (int)(puVar21 + 5)" (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (cast_expression "(int)(puVar21 + 5)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar21 + 5)" (( "(") (binary_expression "puVar21 + 5" (identifier "puVar21") (+ "+") (number_literal "5")) () ")")))) (; ";")) (} "}")))) (expression_statement "local_70 = local_70 + 8;" (assignment_expression "local_70 = local_70 + 8" (identifier "local_70") (= "=") (binary_expression "local_70 + 8" (identifier "local_70") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "iVar12 = param_1[10];" (assignment_expression "iVar12 = param_1[10]" (identifier "iVar12") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_70 != iVar17)" (( "(") (binary_expression "local_70 != iVar17" (identifier "local_70") (!= "!=") (identifier "iVar17")) () ")")) (; ";")) (} "}")))) (if_statement "if (iVar12 == 0) {\n    local_28 = uVar7;\n                    \n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_28 = uVar7;\n                    \n    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);\n  }" ({ "{") (expression_statement "local_28 = uVar7;" (assignment_expression "local_28 = uVar7" (identifier "local_28") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);" (call_expression "FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0)" (identifier "FUN_0008b620") (argument_list "(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0)" (( "(") (binary_expression "unaff_EDI + 0xf2cea" (identifier "unaff_EDI") (+ "+") (number_literal "0xf2cea")) (, ",") (number_literal "0x206") (, ",") (binary_expression "unaff_EDI + 0xf2ef3" (identifier "unaff_EDI") (+ "+") (number_literal "0xf2ef3")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00174ef3:\n  uVar20 = (int)local_74 - iVar14;" (statement_identifier "LAB_00174ef3") (: ":") (expression_statement "uVar20 = (int)local_74 - iVar14;" (assignment_expression "uVar20 = (int)local_74 - iVar14" (identifier "uVar20") (= "=") (binary_expression "(int)local_74 - iVar14" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (- "-") (identifier "iVar14"))) (; ";"))) (expression_statement "iVar14 = uVar20 + param_1[2];" (assignment_expression "iVar14 = uVar20 + param_1[2]" (identifier "iVar14") (= "=") (binary_expression "uVar20 + param_1[2]" (identifier "uVar20") (+ "+") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);" (assignment_expression "iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2])" (identifier "iVar17") (= "=") (binary_expression "((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2])" (binary_expression "((int)uVar20 >> 0x1f) + param_1[3]" (parenthesized_expression "((int)uVar20 >> 0x1f)" (( "(") (binary_expression "(int)uVar20 >> 0x1f" (cast_expression "(int)uVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar20")) (>> ">>") (number_literal "0x1f")) () ")")) (+ "+") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(uVar20,param_1[2])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar20,param_1[2])" (identifier "CARRY4") (argument_list "(uVar20,param_1[2])" (( "(") (identifier "uVar20") (, ",") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) () ")")))))) (; ";")) (if_statement "if ((*(byte *)(iVar12 + 4) & 1) == 0) {\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }\n  else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }" (if "if") (parenthesized_expression "((*(byte *)(iVar12 + 4) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar12 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar12 + 4) & 1)" (( "(") (binary_expression "*(byte *)(iVar12 + 4) & 1" (pointer_expression "*(byte *)(iVar12 + 4)" (* "*") (cast_expression "(byte *)(iVar12 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 4)" (( "(") (binary_expression "iVar12 + 4" (identifier "iVar12") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    param_1[8] = iVar14;\n    param_1[9] = iVar17;\n  }" ({ "{") (expression_statement "param_1[8] = iVar14;" (assignment_expression "param_1[8] = iVar14" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "param_1[9] = iVar17;" (assignment_expression "param_1[9] = iVar17" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "iVar17")) (; ";")) (} "}")) (else_clause "else {\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }" (else "else") (compound_statement "{\n    param_1[6] = iVar14;\n    param_1[7] = iVar17;\n  }" ({ "{") (expression_statement "param_1[6] = iVar14;" (assignment_expression "param_1[6] = iVar14" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "param_1[7] = iVar17;" (assignment_expression "param_1[7] = iVar17" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "iVar17")) (; ";")) (} "}")))) (expression_statement "*(undefined1 *)(param_1 + 0xe) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xe) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xe)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0xe)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xe)" (( "(") (binary_expression "param_1 + 0xe" (identifier "param_1") (+ "+") (number_literal "0xe")) () ")")))) (= "=") (number_literal "1")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

/* DWARF original prototype: bool read_attributes(Dwarf_die * this) */

bool __thiscall gold::type_1::function_1(type_1 *this)

{
  type_2 *var_6;
  type_3 var_33;
  type_4 *this_00;
  void *var_11;
  int *piVar3;
  type_5 *var_26;
  int var_25;
  void *var_12;
  type_6 uVar7;
  char var_27;
  int *var_29;
  int var_2;
  type_7 var_22;
  type_8 __position;
  type_7 var_18;
  size_t var_16;
  void *__dest;
  type_9 uVar12;
  type_3 *buffer;
  type_10 return_value;
  int var_5;
  int var_35;
  void *var_14;
  type_9 uVar16;
  type_7 var_8;
  int var_4;
  type_7 *puVar18;
  uint64_t uVar19;
  type_11 aVar20;
  type_7 *var_19;
  int var_17;
  type_12 local_6c;
  size_t var_21;
  type_13 str_off;
  type_14 attr_value;
  
  var_2 = var_1();
  var_2 = *(int *)(var_2 + 0x28);
  if (var_2 == 0) {
                    /* WARNING: Subroutine does not return */
    var_3((char *)(var_4 + 0xf2c7a),0x2a9,(char *)(var_4 + 0xf2f03));
  }
  this_00 = (type_4 *)*var_29;
  var_5 = (int)this_00->cu_offset_;
  var_6 = this_00->buffer_ + var_29[2] + var_5;
  if (this_00->buffer_ + var_5 + (int)this_00->cu_length_ < var_6 + 1) {
    Dwarf_info_reader::var_7(this_00);
    return false;
  }
  if (var_6 == (type_2 *)0x0) {
    return false;
  }
  var_5 = *(int *)(var_2 + 0xc) - *(int *)(var_2 + 8);
  var_19 = (type_7 *)(var_6 + var_29[4]);
  var_8 = var_5 >> 3;
  if (0xccccccc < var_8) {
                    /* WARNING: Subroutine does not return */
    std::var_9((char *)(var_4 + 0xde53e));
  }
  var_11 = (void *)var_29[0xb];
  if ((type_7)((var_29[0xd] - (int)var_11 >> 2) * -0x33333333) < var_8) {
    var_12 = (void *)var_29[0xc];
    var_16 = (int)var_12 - (int)var_11;
    if (var_8 == 0) {
      __dest = (void *)0x0;
      var_14 = var_11;
    }
    else {
      __dest = var_10(var_8 * 0x14);
      var_14 = (void *)var_29[0xb];
    }
    if (var_11 != var_12) {
      var_13(__dest,var_11,var_16);
    }
    if (var_14 != (void *)0x0) {
      var_15(var_14);
    }
    var_29[0xb] = (int)__dest;
    var_29[0xc] = var_16 + (int)__dest;
    var_29[0xd] = (int)(var_8 * 0x14 + (int)__dest);
    var_2 = var_29[10];
    if (var_8 != 0) goto LAB_00174b7e;
  }
  else {
    if (var_8 == 0) goto LAB_00174ef3;
LAB_00174b7e:
    var_17 = 0;
    do {
      puVar18 = (type_7 *)(var_17 + *(int *)(var_2 + 8));
      var_8 = *puVar18;
      var_18 = puVar18[1];
      if (var_18 == 0x16) {
        var_33 = (type_3)*var_19;
        var_18 = (type_7)var_33;
        if ((char)var_33 < '\0') {
          uVar19 = var_20((type_2 *)((int)var_19 + 1),&var_21,var_33);
          var_18 = (type_7)uVar19;
          var_19 = (type_7 *)((int)var_19 + var_21);
        }
        else {
          var_21 = 1;
          var_19 = (type_7 *)((int)var_19 + 1);
        }
      }
      var_22 = (int)var_19 - (int)var_6;
      var_2 = var_22 + var_29[2];
      var_35 = ((int)var_22 >> 0x1f) + var_29[3] + (type_7)var_23(var_22,var_29[2]);
      local_6c = var_24(var_35,var_2);
      attr_value.aux.shndx = 0;
      attr_value.attr = var_8;
      attr_value.form = var_18;
      if (var_18 == 0xe) {
        piVar3 = *(int **)(*var_29 + 8);
        var_25 = *piVar3;
        var_26 = *(type_5 **)(var_25 + 0xc);
        if (*(int *)(*var_29 + 0x44) == 4) {
          if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
            var_27 = (**(type_5 **)(var_25 + 0xe8))(piVar3);
          }
          else {
            var_27 = (*var_26)(piVar3);
          }
          str_off._0_4_ = (char *)*var_19;
          str_off._4_4_ = 0;
          if (var_27 != '\0') {
            str_off._0_4_ =
                 (char *)((type_7)(char *)str_off >> 0x18 | ((type_7)(char *)str_off & 0xff0000) >> 8 |
                          ((type_7)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);
          }
          var_19 = var_19 + 1;
        }
        else {
          if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
            var_27 = (**(type_5 **)(var_25 + 0xe8))(piVar3);
          }
          else {
            var_27 = (*var_26)(piVar3);
          }
          str_off._0_4_ = (char *)*var_19;
          var_18 = var_19[1];
          str_off._4_4_ = var_18;
          if (var_27 != '\0') {
            str_off._4_4_ =
                 (type_7)(char *)str_off >> 0x18 | ((type_7)(char *)str_off & 0xff0000) >> 8 |
                 ((type_7)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;
            str_off._0_4_ =
                 (char *)(var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8 |
                         var_18 << 0x18);
          }
          var_19 = var_19 + 2;
        }
        attr_value.aux.shndx =
             type_4::var_28
                       ((type_4 *)*var_29,var_24(var_35,var_2),&str_off);
        attr_value.val.uintval._4_4_ = str_off._4_4_;
        attr_value.val.stringval = (char *)str_off;
        if (var_8 != 3) {
          puVar18 = var_19;
          aVar20 = attr_value.val;
          if ((var_8 < 4) ||
             ((uVar12 = (char *)str_off, uVar16 = str_off._4_4_, var_8 != 0x6e &&
              (var_8 != 0x2007)))) goto LAB_00174ea0;
LAB_00175373:
          *(type_15 *)(var_29 + 0x15) = attr_value.aux;
          var_29[0x13] = (int)uVar12;
          var_29[0x14] = uVar16;
          puVar18 = var_19;
          aVar20 = attr_value.val;
          goto LAB_00174ea0;
        }
LAB_00174c9a:
        *(type_15 *)(var_29 + 0x15) = attr_value.aux;
        var_29[0x11] = attr_value.val.intval._4_4_;
        var_29[0x10] = (int)attr_value.val.stringval;
        __position._M_current = (type_14 *)var_29[0xc];
        if (__position._M_current == (type_14 *)var_29[0xd]) goto LAB_00174cc0;
LAB_00174eac:
        (__position._M_current)->attr = attr_value.attr;
        (__position._M_current)->form = attr_value.form;
        ((__position._M_current)->val).stringval = attr_value.val.stringval;
        *(type_9 *)((int)&(__position._M_current)->val + 4) = attr_value.val.intval._4_4_;
        (__position._M_current)->aux = attr_value.aux;
        var_29[0xc] = (int)(__position._M_current + 1);
      }
      else {
        if (var_18 < 0xf) {
          if (var_18 == 7) {
            piVar3 = *(int **)(*var_29 + 8);
            var_26 = *(type_5 **)(*piVar3 + 0xc);
            if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
              var_27 = (**(type_5 **)(*piVar3 + 0xe8))(piVar3);
            }
            else {
              var_27 = (*var_26)(piVar3);
            }
            str_off._0_4_ = (char *)*var_19;
            var_22 = var_19[1];
            str_off._4_4_ = var_22;
            if (var_27 != '\0') {
              str_off._4_4_ =
                   (type_7)(char *)str_off >> 0x18 | ((type_7)(char *)str_off & 0xff0000) >> 8 |
                   ((type_7)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;
              str_off._0_4_ =
                   (char *)(var_22 >> 0x18 | (var_22 & 0xff0000) >> 8 | (var_22 & 0xff00) << 8 |
                           var_22 << 0x18);
            }
            var_19 = var_19 + 2;
LAB_0017561e:
            attr_value.aux.shndx =
                 type_4::var_28((type_4 *)*var_29,local_6c,&str_off);
            attr_value.val.intval._4_4_ = str_off._4_4_;
            attr_value.val.stringval = (char *)str_off;
joined_r0x001751d3:
            if (var_8 == 3) goto LAB_00174c88;
            puVar18 = var_19;
            aVar20 = attr_value.val;
            if ((3 < var_8) && ((var_8 == 0x6e || (var_8 == 0x2007)))) {
LAB_001751f0:
              uVar12 = attr_value.val.stringval;
              puVar18 = var_19;
              if (var_18 == 8) {
LAB_00175220:
                var_19 = puVar18;
                var_29[0x12] = (int)uVar12;
                puVar18 = var_19;
                aVar20 = attr_value.val;
              }
              else {
                aVar20 = attr_value.val;
                if (var_18 == 0xe) {
                  uVar16 = attr_value.val.intval._4_4_;
                  goto LAB_00175373;
                }
              }
            }
          }
          else {
            if (var_18 < 8) {
              if (var_18 == 4) {
                piVar3 = *(int **)(*var_29 + 8);
                var_26 = *(type_5 **)(*piVar3 + 0xc);
                if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                  var_27 = (**(type_5 **)(*piVar3 + 0xe8))(piVar3);
                }
                else {
                  var_27 = (*var_26)(piVar3);
                }
                attr_value.aux.shndx = *var_19;
                attr_value.val.stringval = (char *)(var_19 + 1);
                if (var_27 != '\0') {
                  attr_value.aux.shndx =
                       attr_value.aux.shndx >> 0x18 | (attr_value.aux.shndx & 0xff0000) >> 8 |
                       (attr_value.aux.shndx & 0xff00) << 8 | attr_value.aux.shndx << 0x18;
                }
                var_19 = (type_7 *)((int)(var_19 + 1) + attr_value.aux.shndx);
              }
              else if (var_18 < 5) {
                if (var_18 == 1) {
                  piVar3 = *(int **)(*var_29 + 8);
                  var_2 = *piVar3;
                  var_26 = *(type_5 **)(var_2 + 0xc);
                  if (*(int *)(*var_29 + 0x48) == 4) {
                    if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                      var_27 = (**(type_5 **)(var_2 + 0xe8))(piVar3);
                    }
                    else {
                      var_27 = (*var_26)(piVar3);
                    }
                    str_off._0_4_ = (char *)*var_19;
                    str_off._4_4_ = 0;
                    if (var_27 != '\0') {
                      str_off._0_4_ =
                           (char *)((type_7)(char *)str_off >> 0x18 |
                                    ((type_7)(char *)str_off & 0xff0000) >> 8 |
                                    ((type_7)(char *)str_off & 0xff00) << 8 |
                                   (int)(char *)str_off << 0x18);
                    }
                    var_19 = var_19 + 1;
                  }
                  else {
                    if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                      var_27 = (**(type_5 **)(var_2 + 0xe8))(piVar3);
                    }
                    else {
                      var_27 = (*var_26)(piVar3);
                    }
                    str_off._0_4_ = (char *)*var_19;
                    var_18 = var_19[1];
                    str_off._4_4_ = var_18;
                    if (var_27 != '\0') {
                      str_off._4_4_ =
                           (type_7)(char *)str_off >> 0x18 | ((type_7)(char *)str_off & 0xff0000) >> 8 |
                           ((type_7)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;
                      str_off._0_4_ =
                           (char *)(var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 |
                                    (var_18 & 0xff00) << 8 | var_18 << 0x18);
                    }
                    var_19 = var_19 + 2;
                  }
                  attr_value.aux.shndx =
                       type_4::var_28
                                 ((type_4 *)*var_29,local_6c,&str_off);
                  attr_value.val.uintval._4_4_ = str_off._4_4_;
                  attr_value.val.stringval = (char *)str_off;
                  uVar12 = (char *)str_off;
                  uVar16 = str_off._4_4_;
                  if (var_8 != 0x31) {
LAB_00175028:
                    uVar16 = str_off._4_4_;
                    uVar12 = (char *)str_off;
                    if (0x31 < var_8) goto joined_r0x001752af;
                    puVar18 = var_19;
                    aVar20 = attr_value.val;
                    if (var_8 != 1) goto LAB_00174ea0;
                    goto LAB_0017548f;
                  }
                  goto LAB_00174e48;
                }
                if (var_18 != 3) {
                  return false;
                }
                piVar3 = *(int **)(*var_29 + 8);
                var_26 = *(type_5 **)(*piVar3 + 0xc);
                if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                  var_27 = (**(type_5 **)(*piVar3 + 0xe8))(piVar3);
                }
                else {
                  var_27 = (*var_26)(piVar3);
                }
                uVar7 = (type_6)*var_19;
                if (var_27 != '\0') {
                  uVar7 = var_30((type_3)*var_19,*(type_3 *)((int)var_19 + 1));
                }
                attr_value.aux.shndx._2_2_ = 0;
                attr_value.aux.shndx._0_2_ = uVar7;
                attr_value.val.stringval = (char *)((int)var_19 + 2);
                var_19 = (type_7 *)((type_3 *)((int)var_19 + 2) + attr_value.aux.shndx);
              }
              else {
                if (var_18 != 5) {
                  if (var_18 != 6) {
                    return false;
                  }
                  piVar3 = *(int **)(*var_29 + 8);
                  var_26 = *(type_5 **)(*piVar3 + 0xc);
                  if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                    var_27 = (**(type_5 **)(*piVar3 + 0xe8))(piVar3);
                  }
                  else {
                    var_27 = (*var_26)(piVar3);
                  }
                  str_off._0_4_ = (char *)*var_19;
                  str_off._4_4_ = 0;
                  if (var_27 != '\0') {
                    str_off._0_4_ =
                         (char *)((type_7)(char *)str_off >> 0x18 |
                                  ((type_7)(char *)str_off & 0xff0000) >> 8 |
                                  ((type_7)(char *)str_off & 0xff00) << 8 |
                                 (int)(char *)str_off << 0x18);
                  }
                  var_19 = var_19 + 1;
                  goto LAB_0017561e;
                }
                piVar3 = *(int **)(*var_29 + 8);
                var_26 = *(type_5 **)(*piVar3 + 0xc);
                if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                  var_27 = (**(type_5 **)(*piVar3 + 0xe8))(piVar3);
                }
                else {
                  var_27 = (*var_26)(piVar3);
                }
                attr_value.val.intval._0_2_ = (undefined2)*var_19;
                if (var_27 != '\0') {
                  attr_value.val.intval._0_2_ =
                       var_30((type_3)*var_19,*(type_3 *)((int)var_19 + 1));
                }
                attr_value.val.intval._2_6_ = 0;
                var_19 = (type_7 *)((int)var_19 + 2);
              }
              goto joined_r0x001751d3;
            }
            if (var_18 == 10) {
              attr_value.aux.shndx._1_3_ = 0;
              attr_value.aux.shndx._0_1_ = (type_3)*var_19;
              attr_value.val.stringval = (char *)((int)var_19 + 1);
              var_19 = (type_7 *)((type_3 *)((int)var_19 + 1) + attr_value.aux.shndx);
              goto joined_r0x001751d3;
            }
            if (10 < var_18) {
              if (var_18 < 0xd) {
                attr_value.val.intval._1_7_ = 0;
                attr_value.val.intval._0_1_ = (type_3)*var_19;
                var_19 = (type_7 *)((int)var_19 + 1);
              }
              else {
                var_33 = (type_3)*var_19;
                puVar18 = (type_7 *)((int)var_19 + 1);
                if ((char)var_33 < '\0') {
                  attr_value.val.intval = var_31((type_2 *)puVar18,&var_21,var_33);
                  var_19 = (type_7 *)((int)var_19 + var_21);
                }
                else {
                  attr_value.val.intval._4_4_ = 0;
                  attr_value.val.stringval = (char *)var_32(0,var_33);
                  var_21 = 1;
                  var_19 = puVar18;
                  if ((var_33 & 0x40) != 0) {
                    attr_value.val.intval._4_4_ = 0xffffffff;
                    attr_value.val.stringval = (char *)(var_32(0,var_33) | 0xffffff80);
                  }
                }
              }
              goto joined_r0x001751d3;
            }
            if (var_18 != 8) {
              if (var_18 != 9) {
                return false;
              }
LAB_00174f39:
              buffer = (type_3 *)((int)var_19 + 1);
              local_6c._0_1_ = (type_16)*var_19;
              if ((char)(type_16)local_6c < '\0') {
                uVar19 = var_20(buffer,&var_21,(type_16)local_6c);
                local_6c._0_4_ = (type_7)uVar19;
                buffer = (type_3 *)((int)var_19 + var_21);
              }
              else {
                var_21 = 1;
                local_6c._1_3_ = 0;
              }
              attr_value.val.blockval = buffer;
              var_19 = (type_7 *)((int)var_19 + var_21 + local_6c._0_4_);
              attr_value.aux = local_6c._0_4_;
              goto joined_r0x001751d3;
            }
            attr_value.val.stringval = (char *)var_19;
            var_21 = var_34((char *)var_19);
            puVar18 = (type_7 *)((int)var_19 + var_21 + 1);
            if (var_8 != 3) {
              aVar20 = attr_value.val;
              if ((var_8 < 4) || ((uVar12 = var_19, var_8 != 0x6e && (var_8 != 0x2007))))
              goto LAB_00174ea0;
              goto LAB_00175220;
            }
LAB_00175230:
            var_19 = puVar18;
            var_29[0xf] = (int)attr_value.val.stringval;
            puVar18 = var_19;
            aVar20 = attr_value.val;
          }
        }
        else if (var_18 == 0x15) {
          var_33 = (type_3)*var_19;
          if ((char)var_33 < '\0') {
            aVar20.uintval = var_20((type_2 *)((int)var_19 + 1),&var_21,var_33);
            var_19 = (type_7 *)((int)var_19 + var_21);
          }
          else {
            var_21 = 1;
            aVar20.intval._1_7_ = 0;
            aVar20.intval._0_1_ = var_33;
            var_19 = (type_7 *)((int)var_19 + 1);
          }
joined_r0x0017547a:
          attr_value.val = aVar20;
          if (var_8 == 0x31) {
LAB_00174e40:
            uVar12 = attr_value.val.stringval;
            uVar16 = attr_value.val.intval._4_4_;
LAB_00174e48:
            var_29[0x18] = (int)uVar12;
            var_29[0x19] = uVar16;
            puVar18 = var_19;
            aVar20 = attr_value.val;
          }
          else if (var_8 < 0x32) {
            if (var_8 != 1) goto LAB_001754d5;
LAB_0017548f:
            puVar18 = var_19;
            aVar20 = attr_value.val;
            if (attr_value.aux.shndx == 0) {
              var_29[8] = (int)attr_value.val.stringval;
              var_29[9] = attr_value.val.intval._4_4_;
            }
          }
          else {
            if ((var_8 == 0x6e) || (var_8 == 0x2007)) goto LAB_001751f0;
            puVar18 = var_19;
            if (var_8 == 0x47) {
              attr_value.val.stringval = aVar20.stringval;
              attr_value.val.intval._4_4_ = (type_9)((type_17)aVar20 >> 0x20);
              uVar12 = attr_value.val.stringval;
              uVar16 = attr_value.val.intval._4_4_;
LAB_0017504c:
              var_29[0x16] = (int)uVar12;
              var_29[0x17] = uVar16;
              puVar18 = var_19;
              aVar20 = attr_value.val;
            }
          }
        }
        else {
          if (var_18 < 0x16) {
            if (var_18 == 0x11) {
              puVar18 = (type_7 *)((int)var_19 + 1);
              attr_value.val.stringval = (char *)var_32(0,(type_3)*var_19);
              attr_value.val.intval._4_4_ = 0;
              var_19 = puVar18;
              if (var_8 != 0x31) {
                uVar16 = 0;
                uVar12 = attr_value.val.stringval;
                if (var_8 < 0x32) {
                  aVar20 = attr_value.val;
                  if (var_8 == 1) {
                    var_29[8] = (int)attr_value.val.stringval;
                    var_29[9] = 0;
                  }
                }
                else {
joined_r0x001752af:
                  puVar18 = var_19;
                  aVar20 = attr_value.val;
                  if (((var_8 != 0x6e) && (var_8 != 0x2007)) && (var_8 == 0x47))
                  goto LAB_0017504c;
                }
                goto LAB_00174ea0;
              }
            }
            else {
              if (0x11 < var_18) {
                if (var_18 == 0x13) {
                  piVar3 = *(int **)(*var_29 + 8);
                  var_26 = *(type_5 **)(*piVar3 + 0xc);
                  if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                    var_27 = (**(type_5 **)(*piVar3 + 0xe8))(piVar3);
                  }
                  else {
                    var_27 = (*var_26)(piVar3);
                  }
                  goto LAB_0017542a;
                }
                if (var_18 < 0x14) {
                  piVar3 = *(int **)(*var_29 + 8);
                  var_26 = *(type_5 **)(*piVar3 + 0xc);
                  if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                    var_27 = (**(type_5 **)(*piVar3 + 0xe8))(piVar3);
                  }
                  else {
                    var_27 = (*var_26)(piVar3);
                  }
                  attr_value.val.intval._0_2_ = (undefined2)*var_19;
                  if (var_27 != '\0') {
                    attr_value.val.intval._0_2_ =
                         var_30((type_3)*var_19,*(type_3 *)((int)var_19 + 1));
                  }
                  attr_value.val.intval._2_6_ = 0;
                  var_19 = (type_7 *)((int)var_19 + 2);
                  aVar20 = attr_value.val;
                  goto joined_r0x0017547a;
                }
                piVar3 = *(int **)(*var_29 + 8);
                var_26 = *(type_5 **)(*piVar3 + 0xc);
                if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                  var_27 = (**(type_5 **)(*piVar3 + 0xe8))(piVar3);
                }
                else {
                  var_27 = (*var_26)(piVar3);
                }
LAB_001753da:
                str_off._0_4_ = (char *)*var_19;
                var_22 = var_19[1];
                str_off._4_4_ = var_22;
                if (var_27 != '\0') {
                  str_off._4_4_ =
                       (type_7)(char *)str_off >> 0x18 | ((type_7)(char *)str_off & 0xff0000) >> 8 |
                       ((type_7)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;
                  str_off._0_4_ =
                       (char *)(var_22 >> 0x18 | (var_22 & 0xff0000) >> 8 | (var_22 & 0xff00) << 8 |
                               var_22 << 0x18);
                }
                var_19 = var_19 + 2;
LAB_0017544c:
                attr_value.aux.shndx =
                     type_4::var_28((type_4 *)*var_29,local_6c,&str_off)
                ;
                attr_value.val.uintval._4_4_ = str_off._4_4_;
                attr_value.val.stringval = (char *)str_off;
                aVar20 = attr_value.val;
                goto joined_r0x0017547a;
              }
              if (var_18 == 0xf) {
LAB_00175135:
                var_33 = (type_3)*var_19;
                if ((char)var_33 < '\0') {
                  attr_value.val.uintval =
                       var_20((type_2 *)((int)var_19 + 1),&var_21,var_33);
                  var_19 = (type_7 *)((int)var_19 + var_21);
                }
                else {
                  var_21 = 1;
                  attr_value.val.intval._1_7_ = 0;
                  attr_value.val.intval._0_1_ = var_33;
                  var_19 = (type_7 *)((int)var_19 + 1);
                }
                goto joined_r0x001751d3;
              }
              if (var_18 != 0x10) {
                return false;
              }
              var_2 = *var_29;
              var_35 = *(int *)(var_2 + 0x48);
              if (2 < *(type_7 *)(var_2 + 0x4c)) {
                var_35 = *(int *)(var_2 + 0x44);
              }
              piVar3 = *(int **)(var_2 + 8);
              var_2 = *piVar3;
              var_26 = *(type_5 **)(var_2 + 0xc);
              if (var_35 == 4) {
                if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                  var_27 = (**(type_5 **)(var_2 + 0xe8))(piVar3);
                }
                else {
                  var_27 = (*var_26)(piVar3);
                }
                str_off._0_4_ = (char *)*var_19;
                str_off._4_4_ = 0;
                if (var_27 != '\0') {
                  str_off._0_4_ =
                       (char *)((type_7)(char *)str_off >> 0x18 |
                                ((type_7)(char *)str_off & 0xff0000) >> 8 |
                                ((type_7)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18
                               );
                }
                var_19 = var_19 + 1;
              }
              else {
                if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                  var_27 = (**(type_5 **)(var_2 + 0xe8))(piVar3);
                }
                else {
                  var_27 = (*var_26)(piVar3);
                }
                str_off._0_4_ = (char *)*var_19;
                var_18 = var_19[1];
                str_off._4_4_ = var_18;
                if (var_27 != '\0') {
                  str_off._4_4_ =
                       (type_7)(char *)str_off >> 0x18 | ((type_7)(char *)str_off & 0xff0000) >> 8 |
                       ((type_7)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18;
                  str_off._0_4_ =
                       (char *)(var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8 |
                               var_18 << 0x18);
                }
                var_19 = var_19 + 2;
              }
              attr_value.aux.shndx =
                   type_4::var_28((type_4 *)*var_29,local_6c,&str_off);
              attr_value.val.uintval._4_4_ = str_off._4_4_;
              attr_value.val.stringval = (char *)str_off;
              if (var_8 != 0x31) goto LAB_00175028;
            }
            goto LAB_00174e40;
          }
          if (var_18 == 0x19) {
            attr_value.val.intval = 1;
          }
          else {
            if (var_18 < 0x1a) {
              if (var_18 != 0x17) {
                if (var_18 != 0x18) {
                  return false;
                }
                goto LAB_00174f39;
              }
              piVar3 = *(int **)(*var_29 + 8);
              var_2 = *piVar3;
              var_26 = *(type_5 **)(var_2 + 0xc);
              if (*(int *)(*var_29 + 0x44) != 4) {
                if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                  var_27 = (**(type_5 **)(var_2 + 0xe8))(piVar3);
                }
                else {
                  var_27 = (*var_26)(piVar3);
                }
                goto LAB_001753da;
              }
              if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
                var_27 = (**(type_5 **)(var_2 + 0xe8))(piVar3);
              }
              else {
                var_27 = (*var_26)(piVar3);
              }
LAB_0017542a:
              str_off._0_4_ = (char *)*var_19;
              str_off._4_4_ = 0;
              if (var_27 != '\0') {
                str_off._0_4_ =
                     (char *)((type_7)(char *)str_off >> 0x18 |
                              ((type_7)(char *)str_off & 0xff0000) >> 8 |
                              ((type_7)(char *)str_off & 0xff00) << 8 | (int)(char *)str_off << 0x18);
              }
              var_19 = var_19 + 1;
              goto LAB_0017544c;
            }
            if (var_18 != 0x20) {
              if (var_18 < 0x20) {
                return false;
              }
              if (1 < var_18 - 0x1f01) {
                return false;
              }
              goto LAB_00175135;
            }
            piVar3 = *(int **)(*var_29 + 8);
            var_26 = *(type_5 **)(*piVar3 + 0xc);
            if (var_26 == (type_5 *)(var_4 + -0xe05c9)) {
              var_27 = (**(type_5 **)(*piVar3 + 0xe8))(piVar3);
            }
            else {
              var_27 = (*var_26)(piVar3);
            }
            attr_value.val.stringval = (char *)*var_19;
            var_22 = var_19[1];
            attr_value.val.uintval._4_4_ = var_22;
            if (var_27 != '\0') {
              attr_value.val.uintval._4_4_ =
                   (type_7)attr_value.val.stringval >> 0x18 |
                   ((type_7)attr_value.val.stringval & 0xff0000) >> 8 |
                   ((type_7)attr_value.val.stringval & 0xff00) << 8 |
                   (int)attr_value.val.stringval << 0x18;
              attr_value.val.stringval =
                   (char *)(var_22 >> 0x18 | (var_22 & 0xff0000) >> 8 | (var_22 & 0xff00) << 8 |
                           var_22 << 0x18);
            }
            var_19 = var_19 + 2;
          }
          if ((var_8 == 0x6e) || (var_8 == 0x2007)) goto LAB_001751f0;
LAB_001754d5:
          puVar18 = var_19;
          aVar20 = attr_value.val;
          if (var_8 != 3) goto LAB_00174ea0;
LAB_00174c88:
          puVar18 = var_19;
          if (var_18 == 8) goto LAB_00175230;
          aVar20 = attr_value.val;
          if (var_18 == 0xe) goto LAB_00174c9a;
        }
LAB_00174ea0:
        attr_value.val = aVar20;
        var_19 = puVar18;
        __position._M_current = (type_14 *)var_29[0xc];
        if (__position._M_current != (type_14 *)var_29[0xd]) goto LAB_00174eac;
LAB_00174cc0:
        std::
        vector<gold::Dwarf_die::type_14,_std::allocator<gold::Dwarf_die::type_14>var_36>
        ::_M_realloc_insert<const_gold::Dwarf_die::type_14&>
                  ((vector<gold::Dwarf_die::type_14,_std::allocator<gold::Dwarf_die::type_14>var_36>
                    *)(var_29 + 0xb),__position,&attr_value);
      }
      var_17 = var_17 + 8;
      var_2 = var_29[10];
    } while (var_17 != var_5);
  }
  if (var_2 == 0) {
                    /* WARNING: Subroutine does not return */
    var_3((char *)(var_4 + 0xf2cea),0x206,(char *)(var_4 + 0xf2ef3));
  }
LAB_00174ef3:
  var_8 = (int)var_19 - (int)var_6;
  var_5 = var_8 + var_29[2];
  var_35 = ((int)var_8 >> 0x1f) + var_29[3] + (type_7)var_23(var_8,var_29[2]);
  if ((*(type_3 *)(var_2 + 4) & 1) == 0) {
    var_29[8] = var_5;
    var_29[9] = var_35;
  }
  else {
    var_29[6] = var_5;
    var_29[7] = var_35;
  }
  *(type_16 *)(var_29 + 0xe) = 1;
  return true;
}


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

undefined4 __regparm3 MASKED(int *param_1)

{
  byte bVar1;
  void *__src;
  int *piVar2;
  code *pcVar3;
  int iVar4;
  void *pvVar5;
  ushort uVar6;
  ulonglong uVar7;
  ulonglong uVar8;
  ulonglong uVar9;
  char cVar10;
  uint uVar11;
  int iVar12;
  int iVar13;
  size_t __n;
  void *__dest;
  int iVar14;
  byte *pbVar15;
  uint uVar16;
  int iVar17;
  int iVar18;
  void *pvVar19;
  uint uVar20;
  int unaff_EDI;
  uint *puVar21;
  undefined8 uVar22;
  ulonglong uVar23;
  uint *local_74;
  int local_70;
  uint local_6c;
  size_t local_40;
  uint *local_3c;
  uint local_38;
  uint local_30;
  uint local_2c;
  undefined8 local_28;
  uint local_20;
  
  uVar22 = FUN_00058c4a();
  iVar12 = *(int *)((int)uVar22 + 0x28);
  if (iVar12 == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0008b620(unaff_EDI + 0xf2c7a,0x2a9,unaff_EDI + 0xf2f03,(int)((ulonglong)uVar22 >> 0x20));
  }
  iVar17 = *param_1;
  iVar14 = *(int *)(iVar17 + 0x2c) + param_1[2] + *(int *)(iVar17 + 0x34);
  if ((uint)(*(int *)(iVar17 + 0x34) + *(int *)(iVar17 + 0x3c) + *(int *)(iVar17 + 0x2c)) <
      iVar14 + 1U) {
    FUN_001742f0(iVar17);
    return 0;
  }
  if (iVar14 == 0) {
    return 0;
  }
  iVar17 = *(int *)(iVar12 + 0xc) - *(int *)(iVar12 + 8);
  local_74 = (uint *)(iVar14 + param_1[4]);
  uVar20 = iVar17 >> 3;
  if (0xccccccc < uVar20) {
                    /* WARNING: Subroutine does not return */
    FUN_001f1e60(unaff_EDI + 0xde53e);
  }
  __src = (void *)param_1[0xb];
  if ((uint)((param_1[0xd] - (int)__src >> 2) * -0x33333333) < uVar20) {
    pvVar5 = (void *)param_1[0xc];
    __n = (int)pvVar5 - (int)__src;
    if (uVar20 == 0) {
      __dest = (void *)0x0;
      pvVar19 = __src;
    }
    else {
      __dest = (void *)FUN_001aa8c0(uVar20 * 0x14);
      pvVar19 = (void *)param_1[0xb];
    }
    if (__src != pvVar5) {
      memmove(__dest,__src,__n);
    }
    if (pvVar19 != (void *)0x0) {
      FUN_001ac470(pvVar19);
    }
    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);
    param_1[0xb] = (int)__dest;
    param_1[0xc] = __n + (int)__dest;
    param_1[0xd] = (int)(uVar20 * 0x14 + (int)__dest);
    iVar12 = param_1[10];
    if (uVar20 != 0) goto LAB_00174b7e;
  }
  else {
    if (uVar20 == 0) goto LAB_00174ef3;
LAB_00174b7e:
    uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);
    local_70 = 0;
    do {
      puVar21 = (uint *)(local_70 + *(int *)(iVar12 + 8));
      uVar20 = *puVar21;
      uVar16 = puVar21[1];
      if (uVar16 == 0x16) {
        uVar16 = (uint)(byte)*local_74;
        if ((char)(byte)*local_74 < '\0') {
          local_28 = uVar7;
          uVar16 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,uVar16);
          local_74 = (uint *)((int)local_74 + local_40);
          uVar7 = local_28;
        }
        else {
          local_40 = 1;
          local_74 = (uint *)((int)local_74 + 1);
        }
      }
      local_28._4_4_ = (uint)(uVar7 >> 0x20);
      uVar11 = (int)local_74 - iVar14;
      iVar12 = uVar11 + param_1[2];
      iVar18 = ((int)uVar11 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar11,param_1[2]);
      local_20 = 0;
      local_30 = uVar20;
      local_2c = uVar16;
      local_28 = uVar7;
      if (uVar16 == 0xe) {
        piVar2 = *(int **)(*param_1 + 8);
        iVar4 = *piVar2;
        pcVar3 = *(code **)(iVar4 + 0xc);
        if (*(int *)(*param_1 + 0x44) == 4) {
          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
          }
          else {
            cVar10 = (*pcVar3)(piVar2);
          }
          local_3c = (uint *)*local_74;
          local_38 = 0;
          if (cVar10 != '\0') {
            local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                                ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);
          }
          local_74 = local_74 + 1;
        }
        else {
          if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
            cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
          }
          else {
            cVar10 = (*pcVar3)(piVar2);
          }
          local_3c = (uint *)*local_74;
          uVar16 = local_74[1];
          local_38 = uVar16;
          if (cVar10 != '\0') {
            local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                       ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;
            local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                               uVar16 << 0x18);
          }
          local_74 = local_74 + 2;
        }
        local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);
        uVar7 = CONCAT44(local_38,local_3c);
        if (uVar20 != 3) {
          puVar21 = local_74;
          uVar7 = CONCAT44(local_38,local_3c);
          if ((uVar20 < 4) ||
             ((uVar23 = CONCAT44(local_38,local_3c), uVar20 != 0x6e &&
              (uVar7 = CONCAT44(local_38,local_3c), uVar23 = CONCAT44(local_38,local_3c),
              uVar20 != 0x2007)))) goto LAB_00174ea0;
LAB_00175373:
          param_1[0x15] = local_20;
          *(ulonglong *)(param_1 + 0x13) = uVar23;
          puVar21 = local_74;
          uVar7 = uVar23;
          goto LAB_00174ea0;
        }
LAB_00174c9a:
        param_1[0x15] = local_20;
        *(ulonglong *)(param_1 + 0x10) = uVar7;
        puVar21 = (uint *)param_1[0xc];
        if (puVar21 != (uint *)param_1[0xd]) goto LAB_00174eac;
LAB_00174cc0:
        local_28 = uVar7;
        FUN_001780e0(param_1 + 0xb,puVar21,&local_30);
        uVar7 = local_28;
      }
      else {
        if (uVar16 < 0xf) {
          if (uVar16 == 7) {
            piVar2 = *(int **)(*param_1 + 8);
            pcVar3 = *(code **)(*piVar2 + 0xc);
            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
            }
            else {
              cVar10 = (*pcVar3)(piVar2);
            }
            local_3c = (uint *)*local_74;
            uVar11 = local_74[1];
            local_38 = uVar11;
            if (cVar10 != '\0') {
              local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                         ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;
              local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8
                                 | uVar11 << 0x18);
            }
            local_74 = local_74 + 2;
LAB_0017561e:
            local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);
            uVar23 = CONCAT44(local_38,local_3c);
joined_r0x001751d3:
            if (uVar20 == 3) goto LAB_00174c88;
            puVar21 = local_74;
            uVar7 = uVar23;
            if ((3 < uVar20) && ((uVar20 == 0x6e || (uVar20 == 0x2007)))) {
LAB_001751f0:
              local_28._0_4_ = (uint *)uVar23;
              puVar21 = local_74;
              if (uVar16 == 8) {
LAB_00175220:
                local_74 = puVar21;
                param_1[0x12] = (int)(uint *)local_28;
                puVar21 = local_74;
                uVar7 = uVar23;
              }
              else {
                uVar7 = uVar23;
                if (uVar16 == 0xe) goto LAB_00175373;
              }
            }
          }
          else {
            if (uVar16 < 8) {
              if (uVar16 == 4) {
                piVar2 = *(int **)(*param_1 + 8);
                pcVar3 = *(code **)(*piVar2 + 0xc);
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                local_20 = *local_74;
                uVar23 = CONCAT44(local_28._4_4_,local_74 + 1);
                if (cVar10 != '\0') {
                  local_20 = local_20 >> 0x18 | (local_20 & 0xff0000) >> 8 |
                             (local_20 & 0xff00) << 8 | local_20 << 0x18;
                }
                local_74 = (uint *)((int)(local_74 + 1) + local_20);
              }
              else if (uVar16 < 5) {
                if (uVar16 == 1) {
                  piVar2 = *(int **)(*param_1 + 8);
                  iVar4 = *piVar2;
                  pcVar3 = *(code **)(iVar4 + 0xc);
                  if (*(int *)(*param_1 + 0x48) == 4) {
                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
                    }
                    else {
                      cVar10 = (*pcVar3)(piVar2);
                    }
                    local_3c = (uint *)*local_74;
                    local_38 = 0;
                    if (cVar10 != '\0') {
                      local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8
                                          | ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);
                    }
                    local_74 = local_74 + 1;
                  }
                  else {
                    if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                      cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
                    }
                    else {
                      cVar10 = (*pcVar3)(piVar2);
                    }
                    local_3c = (uint *)*local_74;
                    uVar16 = local_74[1];
                    local_38 = uVar16;
                    if (cVar10 != '\0') {
                      local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                                 ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;
                      local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |
                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18);
                    }
                    local_74 = local_74 + 2;
                  }
                  local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);
                  uVar23 = CONCAT44(local_38,local_3c);
                  if (uVar20 == 0x31) goto LAB_00174e48;
LAB_00175028:
                  uVar23 = CONCAT44(local_38,local_3c);
                  uVar8 = CONCAT44(local_38,local_3c);
                  uVar7 = CONCAT44(local_38,local_3c);
                  uVar9 = CONCAT44(local_38,local_3c);
                  if (0x31 < uVar20) goto joined_r0x001752af;
                  puVar21 = local_74;
                  uVar7 = uVar23;
                  if (uVar20 != 1) goto LAB_00174ea0;
                  goto LAB_0017548f;
                }
                if (uVar16 != 3) {
                  return 0;
                }
                piVar2 = *(int **)(*param_1 + 8);
                pcVar3 = *(code **)(*piVar2 + 0xc);
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                uVar6 = (ushort)*local_74;
                if (cVar10 != '\0') {
                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));
                }
                local_20 = (uint)uVar6;
                uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 2));
                local_74 = (uint *)((byte *)((int)local_74 + 2) + local_20);
              }
              else {
                if (uVar16 != 5) {
                  if (uVar16 != 6) {
                    return 0;
                  }
                  piVar2 = *(int **)(*param_1 + 8);
                  pcVar3 = *(code **)(*piVar2 + 0xc);
                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                  }
                  else {
                    cVar10 = (*pcVar3)(piVar2);
                  }
                  local_3c = (uint *)*local_74;
                  local_38 = 0;
                  if (cVar10 != '\0') {
                    local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                                        ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);
                  }
                  local_74 = local_74 + 1;
                  goto LAB_0017561e;
                }
                piVar2 = *(int **)(*param_1 + 8);
                pcVar3 = *(code **)(*piVar2 + 0xc);
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                uVar6 = (ushort)*local_74;
                if (cVar10 != '\0') {
                  uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));
                }
                uVar23 = (ulonglong)uVar6;
                local_74 = (uint *)((int)local_74 + 2);
              }
              goto joined_r0x001751d3;
            }
            if (uVar16 == 10) {
              uVar23 = CONCAT44(local_28._4_4_,(byte *)((int)local_74 + 1));
              local_20 = (uint)(byte)*local_74;
              local_74 = (uint *)((byte *)((int)local_74 + 1) + local_20);
              goto joined_r0x001751d3;
            }
            if (10 < uVar16) {
              if (uVar16 < 0xd) {
                uVar23 = (ulonglong)(byte)*local_74;
                local_74 = (uint *)((int)local_74 + 1);
              }
              else {
                bVar1 = (byte)*local_74;
                uVar11 = (uint)bVar1;
                puVar21 = (uint *)((int)local_74 + 1);
                if ((char)bVar1 < '\0') {
                  uVar23 = FUN_00189d30(puVar21,&local_40,uVar11);
                  local_74 = (uint *)((int)local_74 + local_40);
                }
                else {
                  uVar23 = (ulonglong)uVar11;
                  local_40 = 1;
                  local_74 = puVar21;
                  if ((bVar1 & 0x40) != 0) {
                    uVar23 = CONCAT44(0xffffffff,uVar11 | 0xffffff80);
                  }
                }
              }
              goto joined_r0x001751d3;
            }
            if (uVar16 != 8) {
              if (uVar16 != 9) {
                return 0;
              }
LAB_00174f39:
              pbVar15 = (byte *)((int)local_74 + 1);
              local_6c = (uint)(byte)*local_74;
              if ((char)(byte)*local_74 < '\0') {
                local_6c = FUN_00189c70(pbVar15,&local_40,local_6c);
                pbVar15 = (byte *)((int)local_74 + local_40);
              }
              else {
                local_40 = 1;
              }
              uVar23 = CONCAT44(local_28._4_4_,pbVar15);
              local_74 = (uint *)((int)local_74 + local_40 + local_6c);
              local_20 = local_6c;
              goto joined_r0x001751d3;
            }
            local_28._0_4_ = local_74;
            local_40 = strlen((char *)local_74);
            uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);
            puVar21 = (uint *)((int)local_74 + local_40 + 1);
            if (uVar20 != 3) {
              uVar7 = CONCAT44(local_28._4_4_,(uint *)local_28);
              if ((uVar20 < 4) ||
                 ((local_28._0_4_ = local_74, uVar20 != 0x6e && (uVar7 = uVar23, uVar20 != 0x2007)))
                 ) goto LAB_00174ea0;
              goto LAB_00175220;
            }
LAB_00175230:
            local_74 = puVar21;
            local_28._0_4_ = (uint *)uVar23;
            param_1[0xf] = (int)(uint *)local_28;
            puVar21 = local_74;
            uVar7 = uVar23;
          }
        }
        else if (uVar16 == 0x15) {
          bVar1 = (byte)*local_74;
          if ((char)bVar1 < '\0') {
            uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);
            local_74 = (uint *)((int)local_74 + local_40);
          }
          else {
            local_40 = 1;
            uVar23 = (ulonglong)(uint)bVar1;
            local_74 = (uint *)((int)local_74 + 1);
          }
joined_r0x0017547a:
          if (uVar20 == 0x31) {
LAB_00174e48:
            *(ulonglong *)(param_1 + 0x18) = uVar23;
            puVar21 = local_74;
            uVar7 = uVar23;
          }
          else if (uVar20 < 0x32) {
            if (uVar20 != 1) goto LAB_001754d5;
LAB_0017548f:
            puVar21 = local_74;
            uVar7 = uVar23;
            if (local_20 == 0) {
              *(ulonglong *)(param_1 + 8) = uVar23;
            }
          }
          else {
            if ((uVar20 == 0x6e) || (uVar20 == 0x2007)) goto LAB_001751f0;
joined_r0x00175920:
            puVar21 = local_74;
            uVar7 = uVar23;
            if (uVar20 == 0x47) {
              *(ulonglong *)(param_1 + 0x16) = uVar23;
            }
          }
        }
        else {
          if (uVar16 < 0x16) {
            if (uVar16 == 0x11) {
              puVar21 = (uint *)((int)local_74 + 1);
              uVar16 = (uint)(byte)*local_74;
              uVar23 = (ulonglong)uVar16;
              uVar8 = (ulonglong)uVar16;
              uVar7 = (ulonglong)uVar16;
              local_74 = puVar21;
              if (uVar20 != 0x31) {
                uVar9 = (ulonglong)uVar16;
                if (uVar20 < 0x32) {
                  uVar7 = (ulonglong)uVar16;
                  if (uVar20 == 1) {
                    param_1[8] = uVar16;
                    param_1[9] = 0;
                    uVar7 = (ulonglong)uVar16;
                  }
                }
                else {
joined_r0x001752af:
                  uVar23 = uVar9;
                  puVar21 = local_74;
                  if ((uVar20 != 0x6e) && (uVar7 = uVar8, uVar20 != 0x2007))
                  goto joined_r0x00175920;
                }
                goto LAB_00174ea0;
              }
            }
            else {
              if (0x11 < uVar16) {
                if (uVar16 == 0x13) {
                  piVar2 = *(int **)(*param_1 + 8);
                  pcVar3 = *(code **)(*piVar2 + 0xc);
                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                  }
                  else {
                    cVar10 = (*pcVar3)(piVar2);
                  }
                  goto LAB_0017542a;
                }
                if (uVar16 < 0x14) {
                  piVar2 = *(int **)(*param_1 + 8);
                  pcVar3 = *(code **)(*piVar2 + 0xc);
                  if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                    cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                  }
                  else {
                    cVar10 = (*pcVar3)(piVar2);
                  }
                  uVar6 = (ushort)*local_74;
                  if (cVar10 != '\0') {
                    uVar6 = CONCAT11((byte)*local_74,*(byte *)((int)local_74 + 1));
                  }
                  uVar23 = (ulonglong)uVar6;
                  local_74 = (uint *)((int)local_74 + 2);
                  goto joined_r0x0017547a;
                }
                piVar2 = *(int **)(*param_1 + 8);
                pcVar3 = *(code **)(*piVar2 + 0xc);
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
LAB_001753da:
                local_3c = (uint *)*local_74;
                uVar11 = local_74[1];
                local_38 = uVar11;
                if (cVar10 != '\0') {
                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;
                  local_3c = (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |
                                      (uVar11 & 0xff00) << 8 | uVar11 << 0x18);
                }
                local_74 = local_74 + 2;
LAB_0017544c:
                local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);
                uVar23 = CONCAT44(local_38,local_3c);
                goto joined_r0x0017547a;
              }
              if (uVar16 == 0xf) {
LAB_00175135:
                bVar1 = (byte)*local_74;
                if ((char)bVar1 < '\0') {
                  uVar23 = FUN_00189c70((uint *)((int)local_74 + 1),&local_40,(uint)bVar1);
                  local_74 = (uint *)((int)local_74 + local_40);
                }
                else {
                  local_40 = 1;
                  uVar23 = (ulonglong)(uint)bVar1;
                  local_74 = (uint *)((int)local_74 + 1);
                }
                goto joined_r0x001751d3;
              }
              if (uVar16 != 0x10) {
                return 0;
              }
              iVar4 = *param_1;
              iVar13 = *(int *)(iVar4 + 0x48);
              if (2 < *(uint *)(iVar4 + 0x4c)) {
                iVar13 = *(int *)(iVar4 + 0x44);
              }
              piVar2 = *(int **)(iVar4 + 8);
              iVar4 = *piVar2;
              pcVar3 = *(code **)(iVar4 + 0xc);
              if (iVar13 == 4) {
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                local_3c = (uint *)*local_74;
                local_38 = 0;
                if (cVar10 != '\0') {
                  local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                                      ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);
                }
                local_74 = local_74 + 1;
              }
              else {
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                local_3c = (uint *)*local_74;
                uVar16 = local_74[1];
                local_38 = uVar16;
                if (cVar10 != '\0') {
                  local_38 = (uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                             ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18;
                  local_3c = (uint *)(uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |
                                      (uVar16 & 0xff00) << 8 | uVar16 << 0x18);
                }
                local_74 = local_74 + 2;
              }
              local_20 = FUN_00174230(*param_1,iVar12,iVar18,&local_3c);
              uVar23 = CONCAT44(local_38,local_3c);
              if (uVar20 != 0x31) goto LAB_00175028;
            }
            goto LAB_00174e48;
          }
          if (uVar16 == 0x19) {
            local_28._0_4_ = (uint *)0x1;
            local_28._4_4_ = 0;
          }
          else {
            if (uVar16 < 0x1a) {
              if (uVar16 != 0x17) {
                if (uVar16 != 0x18) {
                  return 0;
                }
                goto LAB_00174f39;
              }
              piVar2 = *(int **)(*param_1 + 8);
              iVar4 = *piVar2;
              pcVar3 = *(code **)(iVar4 + 0xc);
              if (*(int *)(*param_1 + 0x44) != 4) {
                if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                  cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
                }
                else {
                  cVar10 = (*pcVar3)(piVar2);
                }
                goto LAB_001753da;
              }
              if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
                cVar10 = (**(code **)(iVar4 + 0xe8))(piVar2);
              }
              else {
                cVar10 = (*pcVar3)(piVar2);
              }
LAB_0017542a:
              local_3c = (uint *)*local_74;
              local_38 = 0;
              if (cVar10 != '\0') {
                local_3c = (uint *)((uint)local_3c >> 0x18 | ((uint)local_3c & 0xff0000) >> 8 |
                                    ((uint)local_3c & 0xff00) << 8 | (int)local_3c << 0x18);
              }
              local_74 = local_74 + 1;
              goto LAB_0017544c;
            }
            if (uVar16 != 0x20) {
              if (uVar16 < 0x20) {
                return 0;
              }
              if (1 < uVar16 - 0x1f01) {
                return 0;
              }
              goto LAB_00175135;
            }
            piVar2 = *(int **)(*param_1 + 8);
            pcVar3 = *(code **)(*piVar2 + 0xc);
            if (pcVar3 == (code *)(unaff_EDI + -0xe05c9)) {
              cVar10 = (**(code **)(*piVar2 + 0xe8))(piVar2);
            }
            else {
              cVar10 = (*pcVar3)(piVar2);
            }
            local_28._0_4_ = (uint *)*local_74;
            uVar11 = local_74[1];
            local_28._4_4_ = uVar11;
            if (cVar10 != '\0') {
              local_28._4_4_ =
                   (uint)(uint *)local_28 >> 0x18 | ((uint)(uint *)local_28 & 0xff0000) >> 8 |
                   ((uint)(uint *)local_28 & 0xff00) << 8 | (int)(uint *)local_28 << 0x18;
              local_28._0_4_ =
                   (uint *)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                           uVar11 << 0x18);
            }
            local_74 = local_74 + 2;
          }
          uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28);
          if ((uVar20 == 0x6e) ||
             (uVar23 = CONCAT44(local_28._4_4_,(uint *)local_28), uVar20 == 0x2007))
          goto LAB_001751f0;
LAB_001754d5:
          puVar21 = local_74;
          uVar7 = uVar23;
          if (uVar20 != 3) goto LAB_00174ea0;
LAB_00174c88:
          puVar21 = local_74;
          if (uVar16 == 8) goto LAB_00175230;
          uVar7 = uVar23;
          if (uVar16 == 0xe) goto LAB_00174c9a;
        }
LAB_00174ea0:
        local_74 = puVar21;
        puVar21 = (uint *)param_1[0xc];
        if (puVar21 == (uint *)param_1[0xd]) goto LAB_00174cc0;
LAB_00174eac:
        *puVar21 = local_30;
        puVar21[1] = local_2c;
        *(ulonglong *)(puVar21 + 2) = uVar7;
        puVar21[4] = local_20;
        param_1[0xc] = (int)(puVar21 + 5);
      }
      local_70 = local_70 + 8;
      iVar12 = param_1[10];
    } while (local_70 != iVar17);
  }
  if (iVar12 == 0) {
    local_28 = uVar7;
                    /* WARNING: Subroutine does not return */
    FUN_0008b620(unaff_EDI + 0xf2cea,0x206,unaff_EDI + 0xf2ef3,0);
  }
LAB_00174ef3:
  uVar20 = (int)local_74 - iVar14;
  iVar14 = uVar20 + param_1[2];
  iVar17 = ((int)uVar20 >> 0x1f) + param_1[3] + (uint)CARRY4(uVar20,param_1[2]);
  if ((*(byte *)(iVar12 + 4) & 1) == 0) {
    param_1[8] = iVar14;
    param_1[9] = iVar17;
  }
  else {
    param_1[6] = iVar14;
    param_1[7] = iVar17;
  }
  *(undefined1 *)(param_1 + 0xe) = 1;
  return 1;
}

