
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Unknown calling convention */

CURLcode glob_url(URLGlob **glob,char *url,ulong *urlnum,FILE *error)

{
  int iVar1;
  char cVar2;
  byte bVar3;
  size_t sVar4;
  char *pcVar5;
  URLGlob *glob_00;
  int iVar6;
  char *pcVar7;
  int iVar8;
  ulong uVar9;
  ulong uVar10;
  char **ppcVar11;
  int *piVar12;
  uint uVar13;
  byte *pbVar14;
  URLPattern *pUVar15;
  byte *pbVar16;
  size_t sVar17;
  byte *pbVar18;
  uint uVar19;
  byte *pbVar20;
  size_t __n;
  int in_GS_OFFSET;
  bool bVar21;
  byte *local_268;
  byte *local_264;
  byte *local_260;
  size_t local_25c;
  uint local_258;
  uint local_254;
  byte *local_250;
  uint local_24c;
  char min_c;
  char max_c;
  char end_c;
  char *endp;
  char text [512];
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  *glob = (URLGlob *)0x0;
  sVar4 = strlen(url);
  pcVar5 = (char *)malloc(sVar4 + 1);
  if (pcVar5 == (char *)0x0) {
    local_260 = (byte *)0x1b;
  }
  else {
    *pcVar5 = '\0';
    glob_00 = (URLGlob *)calloc(1,0xb08);
    if (glob_00 != (URLGlob *)0x0) {
      glob_00->urllen = sVar4;
      glob_00->glob_buffer = pcVar5;
      local_264 = (byte *)0x1;
      local_268 = (byte *)url;
      local_24c = 1;
      local_254 = 0;
      local_260 = (byte *)0x0;
LAB_00026300:
      do {
        bVar3 = *local_268;
        if (bVar3 == 0) {
          if (local_260 == (byte *)0x0) {
            *urlnum = local_24c;
            *glob = glob_00;
            goto LAB_000268dc;
          }
LAB_00026f4d:
          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))
          goto LAB_000268c6;
          goto LAB_000269de;
        }
        if (local_260 != (byte *)0x0) goto LAB_00026f4d;
        local_25c = 0;
        pbVar14 = (byte *)glob_00->glob_buffer;
        while ((bVar3 != 0 && (bVar3 != 0x7b))) {
          if (bVar3 == 0x5b) {
            uVar19 = 0;
            sVar4 = 1;
            while( true ) {
              do {
                do {
                  __n = sVar4 + 1;
                  bVar3 = local_268[sVar4];
                  iVar6 = Curl_isalnum((uint)bVar3);
                  sVar4 = __n;
                } while (iVar6 != 0);
              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));
              if (bVar3 != 0x3a) break;
              uVar19 = uVar19 + 1;
            }
            if (bVar3 == 0x5d) {
              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;
              if (__n == 0) break;
            }
            else {
              if (local_268[1] != 0x5d) break;
LAB_0002657b:
              __n = 2;
            }
            memcpy(pbVar14,local_268,__n);
            local_25c = local_25c + __n;
            pbVar16 = pbVar14 + __n;
            pbVar18 = local_268 + __n;
          }
          else {
            if ((bVar3 & 0xdf) == 0x5d) {
              glob_00->error = "unmatched close brace/bracket";
              glob_00->pos = (size_t)local_264;
              goto LAB_000268b2;
            }
            pbVar18 = local_268 + 1;
            pbVar20 = local_264 + 1;
            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {
              pbVar18 = local_268 + 2;
              pbVar20 = local_264 + 2;
              bVar3 = local_268[1];
            }
            local_25c = local_25c + 1;
            pbVar16 = pbVar14 + 1;
            *pbVar14 = bVar3;
            local_264 = pbVar20;
          }
          pbVar14 = pbVar16;
          local_268 = pbVar18;
          bVar3 = *pbVar18;
        }
        if (local_25c != 0) {
          *pbVar14 = 0;
          sVar17 = glob_00->size;
          pcVar5 = glob_00->glob_buffer;
          pUVar15 = glob_00->pattern + sVar17;
          pUVar15->type = UPTSet;
          (pUVar15->content).Set.size = 1;
          (pUVar15->content).Set.ptr_s = 0;
          pUVar15->globindex = -1;
          ppcVar11 = (char **)malloc(4);
          (pUVar15->content).Set.elements = ppcVar11;
          if (ppcVar11 == (char **)0x0) {
LAB_00026900:
            uVar19 = sVar17 + 1;
            glob_00->pos = 0;
            glob_00->error = "out of memory";
            local_260 = (byte *)0x1b;
            glob_00->size = uVar19;
          }
          else {
            pcVar7 = (char *)malloc(local_25c + 1);
            *ppcVar11 = pcVar7;
            if (pcVar7 == (char *)0x0) goto LAB_00026900;
            uVar19 = sVar17 + 1;
            memcpy(pcVar7,pcVar5,local_25c);
            glob_00->size = uVar19;
            pcVar7[local_25c] = '\0';
          }
          goto joined_r0x00026acd;
        }
        sVar17 = glob_00->size;
        if (*local_268 != 0x5b) {
          local_260 = (byte *)0x0;
          if (*local_268 == 0x7b) {
            local_268 = local_268 + 1;
            pUVar15 = glob_00->pattern + sVar17;
            iVar6 = local_254 + 1;
            pbVar14 = (byte *)glob_00->glob_buffer;
            pUVar15->globindex = local_254;
            pUVar15->type = UPTSet;
            (pUVar15->content).Set.size = 0;
            (pUVar15->content).Set.ptr_s = 0;
            (pUVar15->content).Set.elements = (char **)0x0;
            pbVar18 = local_268;
            local_260 = local_264;
LAB_00026401:
            local_260 = local_260 + 1;
            bVar3 = *pbVar18;
            cVar2 = bVar3 + 0xa4;
            bVar21 = bVar3 == 0x5c;
            pbVar16 = pbVar18;
            if (bVar21) goto LAB_0002643a;
            do {
              pbVar18 = local_260;
              local_254 = iVar6;
              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {
                uVar13 = local_24c;
                if (bVar3 == 0x2c) goto LAB_00026940;
                if (bVar3 == 0x5b) {
LAB_00026ae0:
                  pcVar5 = "nested brace";
                  goto LAB_0002650e;
                }
                if (bVar3 == 0) {
                  glob_00->error = "unmatched brace";
                  glob_00->pos = (size_t)local_264;
                  goto LAB_00026aa3;
                }
              }
              else {
                if (bVar3 == 0x7b) goto LAB_00026ae0;
                if (bVar3 == 0x7d) goto LAB_00026a58;
                if (bVar3 == 0x5d) {
                  pcVar5 = "unexpected close bracket";
                  goto LAB_0002650e;
                }
              }
              pbVar16 = pbVar16 + 1;
              pbVar20 = local_260 + 1;
              while( true ) {
                local_260 = pbVar20;
                *pbVar14 = bVar3;
                bVar3 = *pbVar16;
                pbVar14 = pbVar14 + 1;
                cVar2 = bVar3 + 0xa4;
                bVar21 = cVar2 == '\0';
                pbVar18 = pbVar16;
                if (!bVar21) break;
LAB_0002643a:
                pbVar16 = pbVar18 + 1;
                pbVar20 = local_260 + 1;
                if (pbVar18[1] != 0) {
                  pbVar16 = pbVar18 + 2;
                  bVar3 = pbVar18[1];
                  pbVar20 = local_260 + 2;
                }
              }
            } while( true );
          }
          goto LAB_00026538;
        }
        local_264 = local_264 + 1;
        pbVar14 = local_268 + 1;
        iVar6 = local_254 + 1;
        pUVar15 = glob_00->pattern + sVar17;
        pUVar15->globindex = local_254;
        iVar8 = Curl_isalpha((uint)local_268[1]);
        if (iVar8 == 0) {
          iVar8 = Curl_isdigit((uint)local_268[1]);
          if (iVar8 != 0) {
            pUVar15->type = UPTNumRange;
            (pUVar15->content).Set.ptr_s = 0;
            if (local_268[1] == 0x30) {
              bVar3 = 0x30;
              pbVar18 = pbVar14;
              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {
                pbVar18 = pbVar18 + 1;
                piVar12 = &(pUVar15->content).Set.ptr_s;
                *piVar12 = *piVar12 + 1;
                bVar3 = *pbVar18;
              }
            }
            piVar12 = __errno_location();
            *piVar12 = 0;
            uVar9 = strtoul((char *)pbVar14,&endp,10);
            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;
            local_250 = (byte *)(endp + 1);
            local_258 = 0;
            bVar3 = endp[1];
            while (bVar3 != 0) {
              if ((bVar3 != 0x20) && (bVar3 != 9)) {
                local_258 = (uint)bVar3;
                break;
              }
              local_250 = (byte *)((int)local_250 + 1);
              bVar3 = *local_250;
            }
            iVar8 = Curl_isdigit(local_258);
            if (iVar8 != 0) {
              *piVar12 = 0;
              uVar10 = strtoul((char *)local_250,&endp,10);
              if (*piVar12 == 0) {
                if (*endp == ':') {
                  local_250 = (byte *)(endp + 1);
                  local_258 = strtoul((char *)local_250,&endp,10);
                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {
                    local_268 = (byte *)(endp + 1);
                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);
                    if (((endp == (char *)0x0) || (local_258 == 0)) ||
                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;
                    goto LAB_00026e40;
                  }
                }
                else if (*endp == ']') {
                  local_258 = 1;
                  local_268 = (byte *)(endp + 1);
                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);
LAB_00026e40:
                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))
                  goto LAB_000266e1;
                  (pUVar15->content).NumRange.min_n = uVar9;
                  (pUVar15->content).NumRange.ptr_n = uVar9;
                  (pUVar15->content).NumRange.max_n = uVar10;
                  glob_00->pattern[sVar17].content.NumRange.step = local_258;
                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /
                           local_258 + 1;
                  uVar19 = uVar13;
                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))
                  {
                    sVar17 = glob_00->size;
                    local_260 = (byte *)0x0;
                    local_254 = iVar6;
                    local_24c = uVar19;
                    goto LAB_00026538;
                  }
                  goto LAB_00026cf0;
                }
              }
            }
            local_264 = local_250 + ((int)local_264 - (int)pbVar14);
            goto LAB_000266e1;
          }
          glob_00->error = "bad range specification";
          glob_00->pos = (size_t)local_264;
        }
        else {
          pUVar15->type = UPTCharRange;
          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);
          if (iVar8 == 3) {
            if (end_c == ':') {
              piVar12 = __errno_location();
              *piVar12 = 0;
              local_254 = strtoul((char *)(local_268 + 5),&endp,10);
              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {
                local_268 = (byte *)(endp + 1);
                local_264 = local_268 + ((int)local_264 - (int)pbVar14);
                if ((local_254 != 0) && (-1 < (int)local_254)) {
                  if (min_c != max_c) goto LAB_00026b80;
                  if (local_254 == 1) goto LAB_00026dac;
                }
              }
            }
            else if (end_c == ']') {
              local_268 = local_268 + 5;
              local_264 = local_268 + ((int)local_264 - (int)pbVar14);
              if (min_c == max_c) {
LAB_00026dac:
                local_250 = (byte *)(int)min_c;
                iVar8 = (int)max_c;
                local_254 = 1;
LAB_00026bab:
                (pUVar15->content).CharRange.min_c = min_c;
                (pUVar15->content).CharRange.ptr_c = min_c;
                (pUVar15->content).CharRange.max_c = max_c;
                (pUVar15->content).NumRange.max_n = local_254;
                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;
                if (uVar19 == 0) {
                  local_24c = 0;
                  uVar13 = local_24c;
                }
                else {
                  uVar13 = local_24c * uVar19;
                  if ((local_24c * uVar19) / uVar19 != local_24c) {
LAB_00026cf0:
                    glob_00->error = "range overflow";
                    glob_00->pos = (size_t)local_264;
                    goto LAB_000266f7;
                  }
                }
                local_24c = uVar13;
                sVar17 = glob_00->size;
                local_260 = (byte *)0x0;
                local_254 = iVar6;
                goto LAB_00026538;
              }
              local_254 = 1;
LAB_00026b80:
              if (min_c <= max_c) {
                local_250 = (byte *)(int)min_c;
                iVar8 = (int)max_c;
                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)
                   ) goto LAB_00026bab;
              }
            }
          }
LAB_000266e1:
          glob_00->error = "bad range";
          glob_00->pos = (size_t)local_264;
        }
LAB_000266f7:
        local_260 = (byte *)0x3;
        uVar19 = glob_00->size + 1;
        glob_00->size = uVar19;
        local_268 = pbVar14;
        local_254 = iVar6;
      } while (uVar19 < 100);
      goto LAB_0002654a;
    }
    free(pcVar5);
    local_260 = (byte *)0x1b;
  }
LAB_000268dc:
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return (CURLcode)local_260;
LAB_00026a58:
  if (local_268 == pbVar16) {
    pcVar5 = "empty string within braces";
LAB_0002650e:
    glob_00->error = pcVar5;
    local_260 = (byte *)0x3;
    sVar17 = glob_00->size;
    glob_00->pos = (size_t)pbVar18;
    local_264 = pbVar18;
    goto LAB_00026538;
  }
  uVar19 = (pUVar15->content).Set.size + 1;
  if (uVar19 == 0) {
    local_24c = 0;
    uVar13 = local_24c;
  }
  else {
    uVar13 = local_24c * uVar19;
    if ((local_24c * uVar19) / uVar19 != local_24c) {
      glob_00->pos = 0;
      glob_00->error = "range overflow";
LAB_00026aa3:
      local_260 = (byte *)0x3;
      uVar19 = glob_00->size + 1;
      glob_00->size = uVar19;
      local_264 = pbVar18;
      goto joined_r0x00026acd;
    }
  }
LAB_00026940:
  local_24c = uVar13;
  *pbVar14 = 0;
  ppcVar11 = (pUVar15->content).Set.elements;
  if (ppcVar11 == (char **)0x0) {
    ppcVar11 = (char **)malloc(4);
    (pUVar15->content).Set.elements = ppcVar11;
    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;
  }
  else {
    ppcVar11 = (char **)realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4);
    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;
    (pUVar15->content).Set.elements = ppcVar11;
  }
  iVar8 = (pUVar15->content).Set.size;
  pcVar5 = strdup(glob_00->glob_buffer);
  ppcVar11[iVar8] = pcVar5;
  if (pcVar5 != (char *)0x0) {
    pbVar18 = pbVar16 + 1;
    (pUVar15->content).Set.size = iVar8 + 1;
    if (*pbVar16 == 0x7d) goto LAB_00026cc0;
    pbVar14 = (byte *)glob_00->glob_buffer;
    goto LAB_00026401;
  }
LAB_00026c32:
  sVar17 = glob_00->size;
  glob_00->pos = 0;
  glob_00->error = "out of memory";
  local_260 = (byte *)0x1b;
  local_264 = pbVar18;
  goto LAB_00026538;
LAB_00026cc0:
  local_264 = local_260;
  local_260 = (byte *)0x0;
  sVar17 = glob_00->size;
  local_268 = pbVar18;
LAB_00026538:
  uVar19 = sVar17 + 1;
  glob_00->size = uVar19;
joined_r0x00026acd:
  if (99 < uVar19) goto LAB_0002654a;
  goto LAB_00026300;
LAB_0002654a:
  glob_00->error = "too many globs";
  glob_00->pos = (size_t)local_264;
LAB_000268b2:
  if (error == (FILE *)0x0) {
    local_260 = (byte *)0x3;
  }
  else {
    local_260 = (byte *)0x3;
    pcVar5 = glob_00->error;
LAB_000269de:
    sVar17 = glob_00->pos;
    pcVar7 = pcVar5;
    if (sVar17 != 0) {
      pcVar7 = text;
      curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,
                     &DAT_000290e4);
    }
    curl_mfprintf(error,"curl: (%d) %s\n",local_260,pcVar7);
  }
LAB_000268c6:
  glob_cleanup(glob_00);
  *urlnum = 1;
  goto LAB_000268dc;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int FUN_00026230(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)

{
  int iVar1;
  char cVar2;
  byte bVar3;
  byte bVar4;
  size_t sVar5;
  undefined1 *puVar6;
  void *pvVar7;
  void *__dest;
  int iVar8;
  int iVar9;
  ulong uVar10;
  ulong uVar11;
  void *pvVar12;
  char *pcVar13;
  undefined1 *puVar14;
  int *piVar15;
  uint uVar16;
  byte *pbVar17;
  undefined4 *puVar18;
  byte *pbVar19;
  byte *pbVar20;
  uint uVar21;
  byte *pbVar22;
  size_t __n;
  undefined4 *puVar23;
  int in_GS_OFFSET;
  bool bVar24;
  byte *local_268;
  byte *local_264;
  byte *local_260;
  size_t local_25c;
  uint local_258;
  uint local_254;
  byte *local_250;
  uint local_24c;
  char local_227;
  char local_226;
  char local_225;
  byte *local_224;
  undefined1 local_220 [512];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x26239;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  *param_1 = 0;
  sVar5 = strlen((char *)param_2);
  puVar6 = (undefined1 *)malloc(sVar5 + 1);
  if (puVar6 == (undefined1 *)0x0) {
    local_260 = (byte *)0x1b;
  }
  else {
    *puVar6 = 0;
    pvVar7 = calloc(1,0xb08);
    if (pvVar7 != (void *)0x0) {
      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;
      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;
      local_264 = (byte *)0x1;
      local_268 = param_2;
      local_24c = 1;
      local_254 = 0;
      local_260 = (byte *)0x0;
LAB_00026300:
      do {
        bVar4 = *local_268;
        if (bVar4 == 0) {
          if (local_260 == (byte *)0x0) {
            *param_3 = local_24c;
            *param_1 = pvVar7;
            goto LAB_000268dc;
          }
LAB_00026f4d:
          if ((param_4 == 0) ||
             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))
          goto LAB_000268c6;
          goto LAB_000269de;
        }
        if (local_260 != (byte *)0x0) goto LAB_00026f4d;
        local_25c = 0;
        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);
        while ((bVar4 != 0 && (bVar4 != 0x7b))) {
          if (bVar4 == 0x5b) {
            uVar21 = 0;
            sVar5 = 1;
            while( true ) {
              do {
                do {
                  __n = sVar5 + 1;
                  bVar4 = local_268[sVar5];
                  iVar9 = FUN_00028030(bVar4);
                  sVar5 = __n;
                } while (iVar9 != 0);
              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));
              if (bVar4 != 0x3a) break;
              uVar21 = uVar21 + 1;
            }
            if (bVar4 == 0x5d) {
              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;
              if (__n == 0) break;
            }
            else {
              if (local_268[1] != 0x5d) break;
LAB_0002657b:
              __n = 2;
            }
            memcpy(pbVar17,local_268,__n);
            local_25c = local_25c + __n;
            pbVar19 = pbVar17 + __n;
            pbVar20 = local_268 + __n;
          }
          else {
            if ((bVar4 & 0xdf) == 0x5d) {
              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";
              *(byte **)((int)pvVar7 + 0xb04) = local_264;
              goto LAB_000268b2;
            }
            pbVar20 = local_268 + 1;
            pbVar22 = local_264 + 1;
            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {
              pbVar20 = local_268 + 2;
              pbVar22 = local_264 + 2;
              bVar4 = local_268[1];
            }
            local_25c = local_25c + 1;
            pbVar19 = pbVar17 + 1;
            *pbVar17 = bVar4;
            local_264 = pbVar22;
          }
          pbVar17 = pbVar19;
          local_268 = pbVar20;
          bVar4 = *pbVar20;
        }
        if (local_25c != 0) {
          *pbVar17 = 0;
          iVar9 = *(int *)((int)pvVar7 + 0xaf0);
          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);
          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);
          *puVar23 = 1;
          puVar23[3] = 1;
          puVar23[4] = 0;
          puVar23[1] = 0xffffffff;
          puVar18 = (undefined4 *)malloc(4);
          puVar23[2] = puVar18;
          if (puVar18 == (undefined4 *)0x0) {
LAB_00026900:
            uVar21 = iVar9 + 1;
            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;
            *(char **)((int)pvVar7 + 0xb00) = "out of memory";
            local_260 = (byte *)0x1b;
            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;
          }
          else {
            __dest = malloc(local_25c + 1);
            *puVar18 = __dest;
            if (__dest == (void *)0x0) goto LAB_00026900;
            uVar21 = iVar9 + 1;
            memcpy(__dest,pvVar12,local_25c);
            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;
            *(undefined1 *)((int)__dest + local_25c) = 0;
          }
          goto joined_r0x00026acd;
        }
        iVar9 = *(int *)((int)pvVar7 + 0xaf0);
        if (*local_268 != 0x5b) {
          local_260 = (byte *)0x0;
          if (*local_268 == 0x7b) {
            local_268 = local_268 + 1;
            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);
            iVar9 = local_254 + 1;
            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);
            puVar18[1] = local_254;
            *puVar18 = 1;
            puVar18[3] = 0;
            puVar18[4] = 0;
            puVar18[2] = 0;
            pbVar20 = local_268;
            local_260 = local_264;
LAB_00026401:
            local_260 = local_260 + 1;
            bVar4 = *pbVar20;
            cVar2 = bVar4 + 0xa4;
            bVar24 = bVar4 == 0x5c;
            pbVar19 = pbVar20;
            if (bVar24) goto LAB_0002643a;
            do {
              pbVar20 = local_260;
              local_254 = iVar9;
              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {
                uVar16 = local_24c;
                if (bVar4 == 0x2c) goto LAB_00026940;
                if (bVar4 == 0x5b) {
LAB_00026ae0:
                  pcVar13 = "nested brace";
                  goto LAB_0002650e;
                }
                if (bVar4 == 0) {
                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";
                  *(byte **)((int)pvVar7 + 0xb04) = local_264;
                  goto LAB_00026aa3;
                }
              }
              else {
                if (bVar4 == 0x7b) goto LAB_00026ae0;
                if (bVar4 == 0x7d) goto LAB_00026a58;
                if (bVar4 == 0x5d) {
                  pcVar13 = "unexpected close bracket";
                  goto LAB_0002650e;
                }
              }
              pbVar19 = pbVar19 + 1;
              pbVar22 = local_260 + 1;
              while( true ) {
                local_260 = pbVar22;
                *pbVar17 = bVar4;
                bVar4 = *pbVar19;
                pbVar17 = pbVar17 + 1;
                cVar2 = bVar4 + 0xa4;
                bVar24 = cVar2 == '\0';
                pbVar20 = pbVar19;
                if (!bVar24) break;
LAB_0002643a:
                pbVar19 = pbVar20 + 1;
                pbVar22 = local_260 + 1;
                if (pbVar20[1] != 0) {
                  pbVar19 = pbVar20 + 2;
                  bVar4 = pbVar20[1];
                  pbVar22 = local_260 + 2;
                }
              }
            } while( true );
          }
          goto LAB_00026538;
        }
        local_264 = local_264 + 1;
        pbVar17 = local_268 + 1;
        iVar1 = local_254 + 1;
        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);
        puVar18[1] = local_254;
        iVar8 = FUN_000280f0(local_268[1]);
        if (iVar8 == 0) {
          iVar8 = FUN_00028000(local_268[1]);
          if (iVar8 != 0) {
            *puVar18 = 3;
            puVar18[4] = 0;
            if (local_268[1] == 0x30) {
              bVar4 = 0x30;
              pbVar20 = pbVar17;
              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {
                pbVar20 = pbVar20 + 1;
                puVar18[4] = puVar18[4] + 1;
                bVar4 = *pbVar20;
              }
            }
            piVar15 = __errno_location();
            *piVar15 = 0;
            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);
            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))
            goto LAB_000266e1;
            local_250 = local_224 + 1;
            bVar4 = local_224[1];
            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {
              local_250 = (byte *)((int)local_250 + 1);
              bVar4 = *local_250;
            }
            iVar8 = FUN_00028000(bVar3);
            if (iVar8 != 0) {
              *piVar15 = 0;
              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);
              if (*piVar15 == 0) {
                if (*local_224 == 0x3a) {
                  local_250 = local_224 + 1;
                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);
                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {
                    local_268 = local_224 + 1;
                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);
                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||
                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;
                    goto LAB_00026e40;
                  }
                }
                else if (*local_224 == 0x5d) {
                  local_258 = 1;
                  local_268 = local_224 + 1;
                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);
LAB_00026e40:
                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))
                  goto LAB_000266e1;
                  puVar18[2] = uVar10;
                  puVar18[5] = uVar10;
                  puVar18[3] = uVar11;
                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;
                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;
                  uVar21 = uVar16;
                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))
                  {
                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);
                    local_260 = (byte *)0x0;
                    local_254 = iVar1;
                    local_24c = uVar21;
                    goto LAB_00026538;
                  }
                  goto LAB_00026cf0;
                }
              }
            }
            local_264 = local_250 + ((int)local_264 - (int)pbVar17);
            goto LAB_000266e1;
          }
          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";
          *(byte **)((int)pvVar7 + 0xb04) = local_264;
        }
        else {
          *puVar18 = 2;
          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);
          if (iVar9 == 3) {
            if (local_225 == ':') {
              piVar15 = __errno_location();
              *piVar15 = 0;
              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);
              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {
                local_268 = local_224 + 1;
                local_264 = local_268 + ((int)local_264 - (int)pbVar17);
                if ((local_254 != 0) && (-1 < (int)local_254)) {
                  if (local_227 != local_226) goto LAB_00026b80;
                  if (local_254 == 1) goto LAB_00026dac;
                }
              }
            }
            else if (local_225 == ']') {
              local_268 = local_268 + 5;
              local_264 = local_268 + ((int)local_264 - (int)pbVar17);
              if (local_227 == local_226) {
LAB_00026dac:
                local_250 = (byte *)(int)local_227;
                iVar9 = (int)local_226;
                local_254 = 1;
LAB_00026bab:
                *(char *)(puVar18 + 2) = local_227;
                *(char *)((int)puVar18 + 10) = local_227;
                *(char *)((int)puVar18 + 9) = local_226;
                puVar18[3] = local_254;
                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;
                if (uVar21 == 0) {
                  local_24c = 0;
                  uVar16 = local_24c;
                }
                else {
                  uVar16 = local_24c * uVar21;
                  if ((local_24c * uVar21) / uVar21 != local_24c) {
LAB_00026cf0:
                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";
                    *(byte **)((int)pvVar7 + 0xb04) = local_264;
                    goto LAB_000266f7;
                  }
                }
                local_24c = uVar16;
                iVar9 = *(int *)((int)pvVar7 + 0xaf0);
                local_260 = (byte *)0x0;
                local_254 = iVar1;
                goto LAB_00026538;
              }
              local_254 = 1;
LAB_00026b80:
              if (local_227 <= local_226) {
                local_250 = (byte *)(int)local_227;
                iVar9 = (int)local_226;
                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)
                   ) goto LAB_00026bab;
              }
            }
          }
LAB_000266e1:
          *(char **)((int)pvVar7 + 0xb00) = "bad range";
          *(byte **)((int)pvVar7 + 0xb04) = local_264;
        }
LAB_000266f7:
        local_260 = (byte *)0x3;
        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;
        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;
        local_268 = pbVar17;
        local_254 = iVar1;
      } while (uVar21 < 100);
      goto LAB_0002654a;
    }
    free(puVar6);
    local_260 = (byte *)0x1b;
  }
LAB_000268dc:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_00028220();
  }
  return (int)local_260;
LAB_00026a58:
  if (local_268 == pbVar19) {
    pcVar13 = "empty string within braces";
LAB_0002650e:
    *(char **)((int)pvVar7 + 0xb00) = pcVar13;
    local_260 = (byte *)0x3;
    iVar9 = *(int *)((int)pvVar7 + 0xaf0);
    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;
    local_264 = pbVar20;
    goto LAB_00026538;
  }
  uVar21 = puVar18[3] + 1;
  if (uVar21 == 0) {
    local_24c = 0;
    uVar16 = local_24c;
  }
  else {
    uVar16 = local_24c * uVar21;
    if ((local_24c * uVar21) / uVar21 != local_24c) {
      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;
      *(char **)((int)pvVar7 + 0xb00) = "range overflow";
LAB_00026aa3:
      local_260 = (byte *)0x3;
      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;
      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;
      local_264 = pbVar20;
      goto joined_r0x00026acd;
    }
  }
LAB_00026940:
  local_24c = uVar16;
  *pbVar17 = 0;
  if ((void *)puVar18[2] == (void *)0x0) {
    pvVar12 = malloc(4);
    puVar18[2] = pvVar12;
    if (pvVar12 == (void *)0x0) goto LAB_00026c32;
  }
  else {
    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);
    if (pvVar12 == (void *)0x0) goto LAB_00026c32;
    puVar18[2] = pvVar12;
  }
  iVar1 = puVar18[3];
  pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));
  *(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;
  if (pcVar13 != (char *)0x0) {
    pbVar20 = pbVar19 + 1;
    puVar18[3] = iVar1 + 1;
    if (*pbVar19 == 0x7d) goto LAB_00026cc0;
    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);
    goto LAB_00026401;
  }
LAB_00026c32:
  iVar9 = *(int *)((int)pvVar7 + 0xaf0);
  *(undefined4 *)((int)pvVar7 + 0xb04) = 0;
  *(char **)((int)pvVar7 + 0xb00) = "out of memory";
  local_260 = (byte *)0x1b;
  local_264 = pbVar20;
  goto LAB_00026538;
LAB_00026cc0:
  local_264 = local_260;
  local_260 = (byte *)0x0;
  iVar9 = *(int *)((int)pvVar7 + 0xaf0);
  local_268 = pbVar20;
LAB_00026538:
  uVar21 = iVar9 + 1;
  *(uint *)((int)pvVar7 + 0xaf0) = uVar21;
joined_r0x00026acd:
  if (99 < uVar21) goto LAB_0002654a;
  goto LAB_00026300;
LAB_0002654a:
  *(char **)((int)pvVar7 + 0xb00) = "too many globs";
  *(byte **)((int)pvVar7 + 0xb04) = local_264;
LAB_000268b2:
  if (param_4 == 0) {
    local_260 = (byte *)0x3;
  }
  else {
    local_260 = (byte *)0x3;
    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);
LAB_000269de:
    iVar9 = *(int *)((int)pvVar7 + 0xb04);
    puVar14 = puVar6;
    if (iVar9 != 0) {
      puVar14 = local_220;
      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,
                     iVar9 + -1,&DAT_000290e4);
    }
    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);
  }
LAB_000268c6:
  FUN_00026180(pvVar7);
  *param_3 = 1;
  goto LAB_000268dc;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00014a30
ADD EBX,0x23b7f
SUB ESP,0x268
MOV EAX,dword ptr [ESP + 0x27c]
MOV ECX,dword ptr [ESP + 0x280]
MOV EDX,dword ptr [ESP + 0x284]
MOV ESI,dword ptr [ESP + 0x288]
MOV dword ptr [ESP + 0x30],ECX
MOV dword ptr [ESP + 0x3c],ESI
MOV dword ptr [ESP + 0x38],EAX
MOV dword ptr [ESP + 0x34],EDX
MOV EDX,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x258],EDX
XOR EDX,EDX
MOV dword ptr [EAX],0x0
PUSH ECX
CALL 0x00014200
MOV ESI,EAX
ADD EAX,0x1
MOV dword ptr [ESP],EAX
CALL 0x000141e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00026a48
SUB ESP,0x8
MOV byte ptr [EAX],0x0
MOV EDI,EAX
PUSH 0xb08
PUSH 0x1
CALL 0x00014140
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x00026c70
MOV dword ptr [EAX + 0xaf4],ESI
MOV dword ptr [EAX + 0xaf8],EDI
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESP + 0x8],0x1
MOV dword ptr [ESP + 0x4],EAX
MOV dword ptr [ESP + 0x20],0x1
MOV dword ptr [ESP + 0x18],0x0
MOV dword ptr [ESP + 0xc],0x0
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x4]
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JZ 0x00026b10
MOV ECX,dword ptr [ESP + 0xc]
TEST ECX,ECX
JNZ 0x00026f4d
MOV ESI,dword ptr [EBP + 0xaf8]
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x14],EBP
TEST AL,AL
JZ 0x00026380
CMP AL,0x7b
JZ 0x00026380
CMP AL,0x5b
JZ 0x000264a8
MOV EDX,EAX
AND EDX,0xffffffdf
CMP DL,0x5d
JZ 0x00026898
MOV ECX,dword ptr [ESP + 0x4]
LEA EDX,[ECX + 0x1]
MOV ECX,dword ptr [ESP + 0x8]
LEA EDI,[ECX + 0x1]
CMP AL,0x5c
JZ 0x00026470
ADD dword ptr [ESP + 0x10],0x1
LEA ECX,[ESI + 0x1]
MOV byte ptr [ESI],AL
MOV dword ptr [ESP + 0x8],EDI
MOVZX EAX,byte ptr [EDX]
MOV dword ptr [ESP + 0x4],EDX
MOV ESI,ECX
TEST AL,AL
JNZ 0x00026331
LEA ESI,[ESI]
MOV EDX,dword ptr [ESP + 0x10]
MOV EBP,dword ptr [ESP + 0x14]
TEST EDX,EDX
JNZ 0x000265c5
MOV EDI,dword ptr [ESP + 0x4]
MOV ESI,dword ptr [EBP + 0xaf0]
MOVZX EAX,byte ptr [EDI]
CMP AL,0x5b
JZ 0x00026670
MOV dword ptr [ESP + 0xc],0x0
CMP AL,0x7b
JNZ 0x00026538
MOV EAX,dword ptr [ESP + 0x8]
IMUL ESI,ESI,0x1c
ADD EDI,0x1
MOV dword ptr [ESP + 0x4],EDI
ADD EAX,0x1
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x18]
ADD ESI,EBP
LEA ECX,[EAX + 0x1]
MOV dword ptr [ESP + 0x10],ECX
MOV ECX,dword ptr [EBP + 0xaf8]
MOV dword ptr [ESI + 0x4],EAX
MOV EAX,EDI
MOV EDI,ESI
MOV dword ptr [ESI],0x1
MOV dword ptr [ESI + 0xc],0x0
MOV dword ptr [ESI + 0x10],0x0
MOV dword ptr [ESI + 0x8],0x0
MOV ESI,EAX
MOVZX EAX,byte ptr [ESI]
CMP AL,0x5c
JZ 0x0002643a
JG 0x000264f0
CMP AL,0x2c
JZ 0x00026940
CMP AL,0x5b
JZ 0x00026ae0
TEST AL,AL
JZ 0x00026af0
ADD dword ptr [ESP + 0xc],0x1
ADD ESI,0x1
MOV byte ptr [ECX],AL
MOVZX EAX,byte ptr [ESI]
ADD ECX,0x1
CMP AL,0x5c
JNZ 0x00026408
MOVZX EDX,byte ptr [ESI + 0x1]
MOV byte ptr [ESP + 0x14],DL
LEA EDX,[ESI + 0x1]
MOV dword ptr [ESP + 0x18],EDX
MOV EDX,dword ptr [ESP + 0xc]
ADD EDX,0x1
CMP byte ptr [ESP + 0x14],0x0
JZ 0x00026c08
ADD ESI,0x2
ADD dword ptr [ESP + 0xc],0x2
MOVZX EAX,byte ptr [ESP + 0x14]
JMP 0x0002642e
MOV ECX,dword ptr [ESP + 0x4]
MOVZX EBP,byte ptr [ECX + 0x1]
MOV ECX,EBP
AND ECX,0xffffffdf
SUB ECX,0x5b
AND ECX,0xfd
JNZ 0x00026361
MOV EDX,dword ptr [ESP + 0x4]
MOV EDI,dword ptr [ESP + 0x8]
MOV EAX,EBP
ADD EDX,0x2
ADD EDI,0x2
JMP 0x00026361
XOR EBP,EBP
MOV EDI,0x1
NOP
MOV EAX,dword ptr [ESP + 0x4]
ADD EDI,0x1
SUB ESP,0xc
MOVZX EAX,byte ptr [EAX + EDI*0x1 + -0x1]
MOV byte ptr [ESP + 0x28],AL
PUSH EAX
CALL 0x00028030
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000264b0
MOVZX EDX,byte ptr [ESP + 0x1c]
CMP DL,0x2e
JZ 0x000264b0
CMP DL,0x25
JZ 0x000264b0
CMP DL,0x3a
JNZ 0x00026568
ADD EBP,0x1
JMP 0x000264b0
CMP AL,0x7b
JZ 0x00026ae0
CMP AL,0x7d
JZ 0x00026a58
CMP AL,0x5d
JNZ 0x00026426
LEA EAX,[EBX + 0xffff56ac]
MOV dword ptr [EBP + 0xb00],EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0xc],0x3
MOV ESI,dword ptr [EBP + 0xaf0]
MOV dword ptr [EBP + 0xb04],EAX
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x18],EAX
ADD ESI,0x1
MOV dword ptr [EBP + 0xaf0],ESI
CMP ESI,0x63
JBE 0x00026300
LEA EAX,[EBX + 0xffff56ef]
MOV dword ptr [EBP + 0xb00],EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [EBP + 0xb04],EAX
JMP 0x000268b2
CMP DL,0x5d
JZ 0x000265a8
MOV EAX,dword ptr [ESP + 0x4]
CMP byte ptr [EAX + 0x1],0x5d
JNZ 0x00026380
MOV EDI,0x2
SUB ESP,0x4
PUSH EDI
MOV EBP,dword ptr [ESP + 0xc]
PUSH EBP
PUSH ESI
CALL 0x000141c0
MOV EDX,EBP
ADD dword ptr [ESP + 0x20],EDI
LEA ECX,[ESI + EDI*0x1]
ADD EDX,EDI
ADD ESP,0x10
JMP 0x0002636f
CMP EBP,0x1
JBE 0x00026730
TEST EDI,EDI
JNZ 0x00026580
MOV EDX,dword ptr [ESP + 0x10]
MOV EBP,dword ptr [ESP + 0x14]
TEST EDX,EDX
JZ 0x00026390
MOV byte ptr [ESI],0x0
MOV ESI,dword ptr [EBP + 0xaf0]
SUB ESP,0xc
MOV EAX,dword ptr [EBP + 0xaf8]
IMUL EDI,ESI,0x1c
MOV dword ptr [ESP + 0x20],EAX
ADD EDI,EBP
MOV dword ptr [EDI],0x1
MOV dword ptr [EDI + 0xc],0x1
MOV dword ptr [EDI + 0x10],0x0
MOV dword ptr [EDI + 0x4],0xffffffff
PUSH 0x4
CALL 0x000141e0
ADD ESP,0x10
MOV dword ptr [EDI + 0x8],EAX
TEST EAX,EAX
JZ 0x00026900
MOV dword ptr [ESP + 0x1c],EAX
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0x1c]
ADD EAX,0x1
PUSH EAX
CALL 0x000141e0
MOV EDX,dword ptr [ESP + 0x2c]
ADD ESP,0x10
MOV EDI,EAX
MOV dword ptr [EDX],EAX
TEST EAX,EAX
JZ 0x00026900
SUB ESP,0x4
ADD ESI,0x1
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x1c]
PUSH EAX
CALL 0x000141c0
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [EBP + 0xaf0],ESI
ADD ESP,0x10
MOV byte ptr [EDI + EAX*0x1],0x0
CMP ESI,0x63
JBE 0x00026300
JMP 0x0002654a
MOV ECX,dword ptr [ESP + 0x4]
MOV EDX,dword ptr [ESP + 0x18]
ADD dword ptr [ESP + 0x8],0x1
SUB ESP,0xc
LEA EAX,[ECX + 0x1]
LEA EDI,[EDX + 0x1]
MOV dword ptr [ESP + 0x18],EAX
IMUL EAX,ESI,0x1c
MOV dword ptr [ESP + 0x1c],EDI
LEA EDI,[EBP + EAX*0x1]
MOV dword ptr [EDI + 0x4],EDX
MOVZX EAX,byte ptr [ECX + 0x1]
PUSH EAX
CALL 0x000280f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00026748
SUB ESP,0xc
MOV dword ptr [EDI],0x2
LEA EAX,[ESP + 0x53]
PUSH EAX
LEA EAX,[ESP + 0x56]
PUSH EAX
LEA EAX,[ESP + 0x59]
PUSH EAX
LEA EAX,[EBX + 0xffff56c5]
PUSH EAX
PUSH dword ptr [ESP + 0x28]
CALL 0x000143b0
ADD ESP,0x20
CMP EAX,0x3
JZ 0x00026b38
LEA EAX,[EBX + 0xffff56cd]
MOV dword ptr [EBP + 0xb00],EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [EBP + 0xb04],EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV ESI,dword ptr [EBP + 0xaf0]
MOV dword ptr [ESP + 0xc],0x3
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,dword ptr [ESP + 0x10]
ADD ESI,0x1
MOV dword ptr [EBP + 0xaf0],ESI
MOV dword ptr [ESP + 0x18],EAX
CMP ESI,0x63
JBE 0x00026300
JMP 0x0002654a
MOV EAX,dword ptr [ESP + 0x4]
CMP byte ptr [EAX + 0x1],0x5d
JNZ 0x000265b1
JMP 0x0002657b
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0x10]
MOVZX EAX,byte ptr [EAX + 0x1]
PUSH EAX
CALL 0x00028000
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00026c90
MOV EAX,dword ptr [ESP + 0x4]
MOV dword ptr [EDI],0x3
MOV dword ptr [EDI + 0x10],0x0
MOVZX EAX,byte ptr [EAX + 0x1]
CMP AL,0x30
JZ 0x00026a10
CALL 0x000142a0
SUB ESP,0x4
MOV dword ptr [ESP + 0x8],EAX
MOV dword ptr [EAX],0x0
PUSH 0xa
LEA ECX,[ESP + 0x50]
MOV dword ptr [ESP + 0x20],ECX
PUSH ECX
PUSH dword ptr [ESP + 0x18]
CALL 0x00014620
MOV ECX,EAX
MOV EAX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000266e1
MOV EAX,dword ptr [ESP + 0x48]
CMP dword ptr [ESP + 0xc],EAX
JZ 0x000266e1
CMP byte ptr [EAX],0x2d
JNZ 0x000266e1
LEA EDX,[EAX + 0x1]
MOVZX EAX,byte ptr [EAX + 0x1]
MOV dword ptr [ESP + 0x1c],EDX
TEST AL,AL
JZ 0x0002680e
CMP AL,0x20
JZ 0x000267ec
CMP AL,0x9
JNZ 0x0002680a
MOV EDX,dword ptr [ESP + 0x1c]
ADD EDX,0x1
MOVZX EAX,byte ptr [EDX]
TEST AL,AL
JZ 0x00026e10
CMP AL,0x20
JZ 0x000267f0
CMP AL,0x9
JZ 0x000267f0
MOV dword ptr [ESP + 0x1c],EDX
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP + 0x34],ECX
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x00028000
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x34]
TEST EAX,EAX
JZ 0x00026880
MOV EAX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x14],ECX
SUB ESP,0x4
MOV dword ptr [EAX],0x0
PUSH 0xa
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x28]
CALL 0x00014620
ADD ESP,0x10
MOV EDX,EAX
MOV EAX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x00026880
MOV EAX,dword ptr [ESP + 0x48]
MOV ECX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x34],EAX
MOVZX EAX,byte ptr [EAX]
CMP AL,0x3a
JZ 0x00026eb5
CMP AL,0x5d
JZ 0x00026e24
LEA ESI,[ESI]
NOP
MOV ESI,dword ptr [ESP + 0x1c]
SUB ESI,dword ptr [ESP + 0xc]
ADD dword ptr [ESP + 0x8],ESI
JMP 0x000266e1
MOV EBP,dword ptr [ESP + 0x14]
LEA EAX,[EBX + 0xffff5647]
MOV dword ptr [EBP + 0xb00],EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [EBP + 0xb04],EAX
MOV EAX,dword ptr [ESP + 0x30]
TEST EAX,EAX
JNZ 0x000269d0
MOV dword ptr [ESP + 0xc],0x3
SUB ESP,0xc
PUSH EBP
CALL 0x00026180
MOV EAX,dword ptr [ESP + 0x38]
ADD ESP,0x10
MOV dword ptr [EAX],0x1
MOV EBX,dword ptr [ESP + 0x24c]
XOR EBX,dword ptr GS:[0x14]
MOV EAX,dword ptr [ESP + 0xc]
JNZ 0x00026f48
ADD ESP,0x25c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBX + 0xfffe4404]
ADD ESI,0x1
MOV dword ptr [EBP + 0xb04],0x0
MOV dword ptr [EBP + 0xb00],EAX
MOV dword ptr [ESP + 0xc],0x1b
MOV dword ptr [EBP + 0xaf0],ESI
CMP ESI,0x63
JBE 0x00026300
JMP 0x0002654a
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x20],EAX
MOV byte ptr [ECX],0x0
MOV EAX,dword ptr [EDI + 0x8]
TEST EAX,EAX
JZ 0x00026c18
MOV EDX,dword ptr [EDI + 0xc]
SUB ESP,0x8
LEA EDX,[EDX*0x4 + 0x4]
PUSH EDX
PUSH EAX
CALL 0x00014770
ADD ESP,0x10
MOV ECX,EAX
TEST EAX,EAX
JZ 0x00026c32
MOV dword ptr [EDI + 0x8],EAX
MOV EDX,dword ptr [EDI + 0xc]
MOV dword ptr [ESP + 0x18],ECX
SUB ESP,0xc
MOV dword ptr [ESP + 0x20],EDX
PUSH dword ptr [EBP + 0xaf8]
CALL 0x00014110
MOV EDX,dword ptr [ESP + 0x24]
MOV ECX,dword ptr [ESP + 0x28]
ADD ESP,0x10
MOV dword ptr [ECX + EDX*0x4],EAX
TEST EAX,EAX
JZ 0x00026c32
LEA EAX,[EDX + 0x1]
ADD ESI,0x1
MOV dword ptr [EDI + 0xc],EAX
MOVZX EAX,byte ptr [ESI + -0x1]
CMP AL,0x7d
JZ 0x00026cc0
MOV ECX,dword ptr [EBP + 0xaf8]
ADD dword ptr [ESP + 0xc],0x1
JMP 0x00026401
MOV dword ptr [ESP + 0xc],0x3
MOV EAX,dword ptr [EBP + 0xb00]
MOV EDX,dword ptr [EBP + 0xb04]
TEST EDX,EDX
JNZ 0x00026dd8
PUSH EAX
LEA EAX,[EBX + 0xffff423c]
PUSH dword ptr [ESP + 0x10]
PUSH EAX
PUSH dword ptr [ESP + 0x3c]
CALL 0x000145c0
ADD ESP,0x10
JMP 0x000268c6
MOV EDX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x4],ESI
MOV ESI,EDI
MOV EDI,EDX
JMP 0x00026a2a
ADD EDI,0x1
ADD dword ptr [ESI + 0x10],0x1
MOVZX EAX,byte ptr [EDI]
SUB ESP,0xc
PUSH EAX
CALL 0x00028000
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00026a20
MOV EDI,ESI
MOV ESI,dword ptr [ESP + 0x4]
JMP 0x00026781
MOV dword ptr [ESP + 0xc],0x1b
JMP 0x000268dc
CMP dword ptr [ESP + 0x4],ESI
JZ 0x00026e19
MOV EDX,dword ptr [EDI + 0xc]
ADD EDX,0x1
JZ 0x00026cb0
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x14],EDX
IMUL EAX,EDX
XOR EDX,EDX
MOV dword ptr [ESP + 0x18],EAX
DIV dword ptr [ESP + 0x14]
CMP EAX,dword ptr [ESP + 0x20]
JZ 0x00026938
MOV dword ptr [EBP + 0xb04],0x0
LEA EAX,[EBX + 0xffff569d]
MOV dword ptr [EBP + 0xb00],EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV ESI,dword ptr [EBP + 0xaf0]
MOV dword ptr [ESP + 0xc],0x3
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x10]
ADD ESI,0x1
MOV dword ptr [EBP + 0xaf0],ESI
MOV dword ptr [ESP + 0x18],EAX
CMP ESI,0x63
JBE 0x00026300
JMP 0x0002654a
LEA EAX,[EBX + 0xffff5675]
JMP 0x0002650e
LEA EAX,[EBX + 0xffff5665]
MOV dword ptr [EBP + 0xb00],EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [EBP + 0xb04],EAX
JMP 0x00026aa3
MOV EDX,dword ptr [ESP + 0xc]
TEST EDX,EDX
JNZ 0x00026f4d
MOV EAX,dword ptr [ESP + 0x28]
MOV EBX,dword ptr [ESP + 0x20]
MOV dword ptr [EAX],EBX
MOV EAX,dword ptr [ESP + 0x2c]
MOV dword ptr [EAX],EBP
JMP 0x000268dc
MOVZX EAX,byte ptr [ESP + 0x47]
CMP AL,0x3a
JZ 0x00026d10
CMP AL,0x5d
JNZ 0x000266e1
MOVZX EDX,byte ptr [ESP + 0x45]
MOVZX ECX,byte ptr [ESP + 0x46]
ADD dword ptr [ESP + 0x4],0x5
MOV EAX,dword ptr [ESP + 0x4]
SUB EAX,dword ptr [ESP + 0xc]
ADD dword ptr [ESP + 0x8],EAX
CMP DL,CL
JZ 0x00026dac
MOV dword ptr [ESP + 0x18],0x1
MOV dword ptr [ESP + 0x14],0x1
CMP CL,DL
JL 0x000266e1
MOVSX ESI,DL
MOVSX EAX,CL
MOV dword ptr [ESP + 0x1c],ESI
MOV ESI,EAX
SUB ESI,dword ptr [ESP + 0x1c]
CMP ESI,dword ptr [ESP + 0x14]
JC 0x000266e1
CMP ESI,0x19
JG 0x000266e1
SUB EAX,dword ptr [ESP + 0x1c]
MOV ESI,dword ptr [ESP + 0x18]
MOV byte ptr [EDI + 0x8],DL
MOV byte ptr [EDI + 0xa],DL
CDQ
IDIV ESI
MOV byte ptr [EDI + 0x9],CL
MOV dword ptr [EDI + 0xc],ESI
ADD EAX,0x1
MOV ECX,EAX
JZ 0x00026dc8
MOV EDI,dword ptr [ESP + 0x20]
XOR EDX,EDX
MOV ESI,EDI
IMUL ESI,EAX
MOV EAX,ESI
DIV ECX
CMP EAX,EDI
JNZ 0x00026cf0
MOV dword ptr [ESP + 0x20],ESI
MOV EAX,dword ptr [ESP + 0x10]
MOV ESI,dword ptr [EBP + 0xaf0]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x18],EAX
JMP 0x00026538
MOV dword ptr [ESP + 0xc],EDX
MOV ESI,dword ptr [ESP + 0x18]
JMP 0x0002642e
SUB ESP,0xc
PUSH 0x4
CALL 0x000141e0
ADD ESP,0x10
MOV ECX,EAX
MOV dword ptr [EDI + 0x8],EAX
TEST EAX,EAX
JNZ 0x00026972
LEA EAX,[EBX + 0xfffe4404]
MOV ESI,dword ptr [EBP + 0xaf0]
MOV dword ptr [EBP + 0xb04],0x0
MOV dword ptr [EBP + 0xb00],EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0xc],0x1b
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x18],EAX
JMP 0x00026538
SUB ESP,0xc
PUSH EDI
CALL 0x000144b0
ADD ESP,0x10
MOV dword ptr [ESP + 0xc],0x1b
JMP 0x000268dc
LEA EAX,[EBX + 0xffff56d7]
MOV dword ptr [EBP + 0xb00],EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [EBP + 0xb04],EAX
JMP 0x000266f7
MOV dword ptr [ESP + 0x20],0x0
JMP 0x00026940
MOV EAX,dword ptr [ESP + 0xc]
MOV EDI,ESI
MOV dword ptr [ESP + 0xc],0x0
MOV ESI,dword ptr [EBP + 0xaf0]
MOV dword ptr [ESP + 0x4],EDI
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x18],EAX
JMP 0x00026538
LEA EAX,[EBX + 0xffff569d]
MOV dword ptr [EBP + 0xb00],EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [EBP + 0xb04],EAX
JMP 0x000266f7
CALL 0x000142a0
MOV EDX,dword ptr [ESP + 0x4]
SUB ESP,0x4
MOV dword ptr [ESP + 0x1c],EAX
MOV dword ptr [EAX],0x0
ADD EDX,0x5
PUSH 0xa
LEA EAX,[ESP + 0x50]
PUSH EAX
PUSH EDX
MOV dword ptr [ESP + 0x14],EDX
CALL 0x00014620
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ECX]
TEST EAX,EAX
JNZ 0x000266e1
MOV EAX,dword ptr [ESP + 0x48]
MOV EDX,dword ptr [ESP + 0x4]
CMP EDX,EAX
JZ 0x000266e1
CMP byte ptr [EAX],0x5d
JNZ 0x000266e1
ADD EAX,0x1
MOV dword ptr [ESP + 0x4],EAX
SUB EAX,dword ptr [ESP + 0xc]
ADD dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x14]
TEST EAX,EAX
JZ 0x000266e1
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x18],EAX
JS 0x000266e1
MOVZX EDX,byte ptr [ESP + 0x45]
MOVZX ECX,byte ptr [ESP + 0x46]
CMP DL,CL
JNZ 0x00026b80
CMP EAX,0x1
JNZ 0x000266e1
MOVSX ESI,DL
MOVSX EAX,CL
MOV dword ptr [ESP + 0x18],0x1
MOV dword ptr [ESP + 0x1c],ESI
JMP 0x00026bab
MOV dword ptr [ESP + 0x20],0x0
JMP 0x00026be8
LEA ECX,[EBX + 0xfffdf32c]
PUSH ECX
LEA ECX,[EDX + -0x1]
PUSH ECX
PUSH dword ptr [ESP + 0x2c]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffff5704]
PUSH EAX
PUSH 0x200
LEA ESI,[ESP + 0x68]
PUSH ESI
CALL 0x000143f0
ADD ESP,0x20
MOV EAX,ESI
JMP 0x000269ec
MOV dword ptr [ESP + 0x1c],EDX
JMP 0x0002680e
LEA EAX,[EBX + 0xffff5682]
JMP 0x0002650e
MOV EAX,dword ptr [ESP + 0x34]
MOV dword ptr [ESP + 0x14],0x1
ADD EAX,0x1
MOV dword ptr [ESP + 0x4],EAX
SUB EAX,dword ptr [ESP + 0xc]
ADD dword ptr [ESP + 0x8],EAX
NOP
CMP ECX,EDX
JZ 0x00026e58
JA 0x000266e1
MOV EAX,EDX
SUB EAX,ECX
CMP EAX,dword ptr [ESP + 0x14]
JC 0x000266e1
IMUL ESI,ESI,0x1c
MOV dword ptr [EDI + 0x8],ECX
MOV dword ptr [EDI + 0x14],ECX
MOV ECX,dword ptr [ESP + 0x14]
MOV dword ptr [EDI + 0xc],EDX
XOR EDX,EDX
MOV dword ptr [EBP + ESI*0x1 + 0x18],ECX
MOV EAX,dword ptr [EDI + 0xc]
SUB EAX,dword ptr [EDI + 0x8]
DIV ECX
ADD EAX,0x1
MOV ECX,EAX
JZ 0x00026e96
MOV EDI,dword ptr [ESP + 0x20]
XOR EDX,EDX
MOV ESI,EDI
IMUL ESI,EAX
MOV EAX,ESI
DIV ECX
CMP EAX,EDI
JNZ 0x00026cf0
MOV ECX,ESI
MOV EAX,dword ptr [ESP + 0x10]
MOV ESI,dword ptr [EBP + 0xaf0]
MOV dword ptr [ESP + 0x20],ECX
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x18],EAX
JMP 0x00026538
MOV EAX,dword ptr [ESP + 0x34]
MOV dword ptr [ESP + 0x3c],EDX
SUB ESP,0x4
MOV dword ptr [ESP + 0x3c],ECX
ADD EAX,0x1
MOV dword ptr [ESP + 0x20],EAX
PUSH 0xa
PUSH dword ptr [ESP + 0x20]
PUSH EAX
CALL 0x00014620
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x00026880
MOV EAX,dword ptr [ESP + 0x48]
TEST EAX,EAX
JZ 0x00026880
CMP byte ptr [EAX],0x5d
MOV ECX,dword ptr [ESP + 0x38]
MOV EDX,dword ptr [ESP + 0x3c]
JNZ 0x00026880
ADD EAX,0x1
MOV dword ptr [ESP + 0x4],EAX
SUB EAX,dword ptr [ESP + 0xc]
ADD dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x48]
TEST EAX,EAX
JZ 0x000266e1
MOV EAX,dword ptr [ESP + 0x14]
TEST EAX,EAX
JZ 0x000266e1
CMP ECX,EDX
JNZ 0x00026e40
CMP dword ptr [ESP + 0x14],0x1
JZ 0x00026e40
JMP 0x000266e1
CALL 0x00028220
CMP dword ptr [ESP + 0x30],0x0
JZ 0x000268c6
MOV EAX,dword ptr [EBP + 0xb00]
TEST EAX,EAX
JZ 0x000268c6
JMP 0x000269de
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nint FUN_00026230(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  void *pvVar7;\n  void *__dest;\n  int iVar8;\n  int iVar9;\n  ulong uVar10;\n  ulong uVar11;\n  void *pvVar12;\n  char *pcVar13;\n  undefined1 *puVar14;\n  int *piVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  size_t __n;\n  undefined4 *puVar23;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char local_227;\n  char local_226;\n  char local_225;\n  byte *local_224;\n  undefined1 local_220 [512];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x26239;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  *param_1 = 0;\n  sVar5 = strlen((char *)param_2);\n  puVar6 = (undefined1 *)malloc(sVar5 + 1);\n  if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00028220();\n  }\n  return (int)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }\n  uVar21 = puVar18[3] + 1;\n  if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar16;\n  *pbVar17 = 0;\n  if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }\n  iVar1 = puVar18[3];\n  pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));\n  *(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;\n  if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n  *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar20;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  local_268 = pbVar20;\nLAB_00026538:\n  uVar21 = iVar9 + 1;\n  *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\njoined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";\n  *(byte **)((int)pvVar7 + 0xb04) = local_264;\nLAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }\nLAB_000268c6:\n  FUN_00026180(pvVar7);\n  *param_3 = 1;\n  goto LAB_000268dc;\n}\n\n" comment comment (function_definition "int FUN_00026230(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  void *pvVar7;\n  void *__dest;\n  int iVar8;\n  int iVar9;\n  ulong uVar10;\n  ulong uVar11;\n  void *pvVar12;\n  char *pcVar13;\n  undefined1 *puVar14;\n  int *piVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  size_t __n;\n  undefined4 *puVar23;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char local_227;\n  char local_226;\n  char local_225;\n  byte *local_224;\n  undefined1 local_220 [512];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x26239;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  *param_1 = 0;\n  sVar5 = strlen((char *)param_2);\n  puVar6 = (undefined1 *)malloc(sVar5 + 1);\n  if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00028220();\n  }\n  return (int)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }\n  uVar21 = puVar18[3] + 1;\n  if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar16;\n  *pbVar17 = 0;\n  if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }\n  iVar1 = puVar18[3];\n  pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));\n  *(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;\n  if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n  *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar20;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  local_268 = pbVar20;\nLAB_00026538:\n  uVar21 = iVar9 + 1;\n  *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\njoined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";\n  *(byte **)((int)pvVar7 + 0xb04) = local_264;\nLAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }\nLAB_000268c6:\n  FUN_00026180(pvVar7);\n  *param_3 = 1;\n  goto LAB_000268dc;\n}" primitive_type (function_declarator "FUN_00026230(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)" identifier (parameter_list "(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  void *pvVar7;\n  void *__dest;\n  int iVar8;\n  int iVar9;\n  ulong uVar10;\n  ulong uVar11;\n  void *pvVar12;\n  char *pcVar13;\n  undefined1 *puVar14;\n  int *piVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  size_t __n;\n  undefined4 *puVar23;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char local_227;\n  char local_226;\n  char local_225;\n  byte *local_224;\n  undefined1 local_220 [512];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x26239;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  *param_1 = 0;\n  sVar5 = strlen((char *)param_2);\n  puVar6 = (undefined1 *)malloc(sVar5 + 1);\n  if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00028220();\n  }\n  return (int)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }\n  uVar21 = puVar18[3] + 1;\n  if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar16;\n  *pbVar17 = 0;\n  if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }\n  iVar1 = puVar18[3];\n  pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));\n  *(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;\n  if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n  *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar20;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  local_268 = pbVar20;\nLAB_00026538:\n  uVar21 = iVar9 + 1;\n  *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\njoined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";\n  *(byte **)((int)pvVar7 + 0xb04) = local_264;\nLAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }\nLAB_000268c6:\n  FUN_00026180(pvVar7);\n  *param_3 = 1;\n  goto LAB_000268dc;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "void *pvVar7;" primitive_type (pointer_declarator "*pvVar7" * identifier) ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "void *pvVar12;" primitive_type (pointer_declarator "*pvVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte *local_268;" type_identifier (pointer_declarator "*local_268" * identifier) ;) (declaration "byte *local_264;" type_identifier (pointer_declarator "*local_264" * identifier) ;) (declaration "byte *local_260;" type_identifier (pointer_declarator "*local_260" * identifier) ;) (declaration "size_t local_25c;" primitive_type identifier ;) (declaration "uint local_258;" type_identifier identifier ;) (declaration "uint local_254;" type_identifier identifier ;) (declaration "byte *local_250;" type_identifier (pointer_declarator "*local_250" * identifier) ;) (declaration "uint local_24c;" type_identifier identifier ;) (declaration "char local_227;" primitive_type identifier ;) (declaration "char local_226;" primitive_type identifier ;) (declaration "char local_225;" primitive_type identifier ;) (declaration "byte *local_224;" type_identifier (pointer_declarator "*local_224" * identifier) ;) (declaration "undefined1 local_220 [512];" type_identifier (array_declarator "local_220 [512]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x26239;" (assignment_expression "uStack_14 = 0x26239" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)param_2);" (assignment_expression "sVar5 = strlen((char *)param_2)" identifier = (call_expression "strlen((char *)param_2)" identifier (argument_list "((char *)param_2)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar6 = (undefined1 *)malloc(sVar5 + 1);" (assignment_expression "puVar6 = (undefined1 *)malloc(sVar5 + 1)" identifier = (cast_expression "(undefined1 *)malloc(sVar5 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(sVar5 + 1)" identifier (argument_list "(sVar5 + 1)" ( (binary_expression "sVar5 + 1" identifier + number_literal) ))))) ;) (if_statement "if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }" if (parenthesized_expression "(puVar6 == (undefined1 *)0x0)" ( (binary_expression "puVar6 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_260 = (byte *)0x1b;\n  }" { (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }" else (compound_statement "{\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }" { (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "pvVar7 = calloc(1,0xb08);" (assignment_expression "pvVar7 = calloc(1,0xb08)" identifier = (call_expression "calloc(1,0xb08)" identifier (argument_list "(1,0xb08)" ( number_literal , number_literal )))) ;) (if_statement "if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }" if (parenthesized_expression "(pvVar7 != (void *)0x0)" ( (binary_expression "pvVar7 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }" { (expression_statement "*(size_t *)((int)pvVar7 + 0xaf4) = sVar5;" (assignment_expression "*(size_t *)((int)pvVar7 + 0xaf4) = sVar5" (pointer_expression "*(size_t *)((int)pvVar7 + 0xaf4)" * (cast_expression "(size_t *)((int)pvVar7 + 0xaf4)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf4)" ( (binary_expression "(int)pvVar7 + 0xaf4" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;" (assignment_expression "*(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6" (pointer_expression "*(undefined1 **)((int)pvVar7 + 0xaf8)" * (cast_expression "(undefined1 **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_264 = (byte *)0x1;" (assignment_expression "local_264 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_268 = param_2;" (assignment_expression "local_268 = param_2" identifier = identifier) ;) (expression_statement "local_24c = 1;" (assignment_expression "local_24c = 1" identifier = number_literal) ;) (expression_statement "local_254 = 0;" (assignment_expression "local_254 = 0" identifier = number_literal) ;) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);" statement_identifier : (do_statement "do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);" do (compound_statement "{\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      }" { (expression_statement "bVar4 = *local_268;" (assignment_expression "bVar4 = *local_268" identifier = (pointer_expression "*local_268" * identifier)) ;) (if_statement "if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }" { (if_statement "if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }" if (parenthesized_expression "(local_260 == (byte *)0x0)" ( (binary_expression "local_260 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }" { (expression_statement "*param_3 = local_24c;" (assignment_expression "*param_3 = local_24c" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "*param_1 = pvVar7;" (assignment_expression "*param_1 = pvVar7" (pointer_expression "*param_1" * identifier) = identifier) ;) (goto_statement "goto LAB_000268dc;" goto statement_identifier ;) })) (labeled_statement "LAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;" statement_identifier : (if_statement "if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;" if (parenthesized_expression "((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))" ( (binary_expression "(param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0)" (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) || (parenthesized_expression "(puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0)" ( (comma_expression "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0" (assignment_expression "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00)" identifier = (pointer_expression "*(undefined1 **)((int)pvVar7 + 0xb00)" * (cast_expression "(undefined1 **)((int)pvVar7 + 0xb00)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "puVar6 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000268c6;" goto statement_identifier ;))) (goto_statement "goto LAB_000269de;" goto statement_identifier ;) })) (if_statement "if (local_260 != (byte *)0x0) goto LAB_00026f4d;" if (parenthesized_expression "(local_260 != (byte *)0x0)" ( (binary_expression "local_260 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026f4d;" goto statement_identifier ;)) (expression_statement "local_25c = 0;" (assignment_expression "local_25c = 0" identifier = number_literal) ;) (expression_statement "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);" (assignment_expression "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8)" identifier = (pointer_expression "*(byte **)((int)pvVar7 + 0xaf8)" * (cast_expression "(byte **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (while_statement "while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }" while (parenthesized_expression "((bVar4 != 0 && (bVar4 != 0x7b)))" ( (parenthesized_expression "(bVar4 != 0 && (bVar4 != 0x7b))" ( (binary_expression "bVar4 != 0 && (bVar4 != 0x7b)" (binary_expression "bVar4 != 0" identifier != number_literal) && (parenthesized_expression "(bVar4 != 0x7b)" ( (binary_expression "bVar4 != 0x7b" identifier != number_literal) ))) )) )) (compound_statement "{\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }" { (if_statement "if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }" if (parenthesized_expression "(bVar4 == 0x5b)" ( (binary_expression "bVar4 == 0x5b" identifier == number_literal) )) (compound_statement "{\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "sVar5 = 1;" (assignment_expression "sVar5 = 1" identifier = number_literal) ;) (while_statement "while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }" { (do_statement "do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));" do (compound_statement "{\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              }" { (do_statement "do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);" do (compound_statement "{\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                }" { (expression_statement "__n = sVar5 + 1;" (assignment_expression "__n = sVar5 + 1" identifier = (binary_expression "sVar5 + 1" identifier + number_literal)) ;) (expression_statement "bVar4 = local_268[sVar5];" (assignment_expression "bVar4 = local_268[sVar5]" identifier = (subscript_expression "local_268[sVar5]" identifier [ identifier ])) ;) (expression_statement "iVar9 = FUN_00028030(bVar4);" (assignment_expression "iVar9 = FUN_00028030(bVar4)" identifier = (call_expression "FUN_00028030(bVar4)" identifier (argument_list "(bVar4)" ( identifier )))) ;) (expression_statement "sVar5 = __n;" (assignment_expression "sVar5 = __n" identifier = identifier) ;) }) while (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) ;) }) while (parenthesized_expression "((bVar4 == 0x2e) || (bVar4 == 0x25))" ( (binary_expression "(bVar4 == 0x2e) || (bVar4 == 0x25)" (parenthesized_expression "(bVar4 == 0x2e)" ( (binary_expression "bVar4 == 0x2e" identifier == number_literal) )) || (parenthesized_expression "(bVar4 == 0x25)" ( (binary_expression "bVar4 == 0x25" identifier == number_literal) ))) )) ;) (if_statement "if (bVar4 != 0x3a) break;" if (parenthesized_expression "(bVar4 != 0x3a)" ( (binary_expression "bVar4 != 0x3a" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" if (parenthesized_expression "(bVar4 == 0x5d)" ( (binary_expression "bVar4 == 0x5d" identifier == number_literal) )) (compound_statement "{\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }" { (if_statement "if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;" if (parenthesized_expression "((uVar21 < 2) && (local_268[1] == 0x5d))" ( (binary_expression "(uVar21 < 2) && (local_268[1] == 0x5d)" (parenthesized_expression "(uVar21 < 2)" ( (binary_expression "uVar21 < 2" identifier < number_literal) )) && (parenthesized_expression "(local_268[1] == 0x5d)" ( (binary_expression "local_268[1] == 0x5d" (subscript_expression "local_268[1]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_0002657b;" goto statement_identifier ;)) (if_statement "if (__n == 0) break;" if (parenthesized_expression "(__n == 0)" ( (binary_expression "__n == 0" identifier == number_literal) )) (break_statement "break;" break ;)) }) (else_clause "else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" else (compound_statement "{\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" { (if_statement "if (local_268[1] != 0x5d) break;" if (parenthesized_expression "(local_268[1] != 0x5d)" ( (binary_expression "local_268[1] != 0x5d" (subscript_expression "local_268[1]" identifier [ number_literal ]) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0002657b:\n              __n = 2;" statement_identifier : (expression_statement "__n = 2;" (assignment_expression "__n = 2" identifier = number_literal) ;)) }))) (expression_statement "memcpy(pbVar17,local_268,__n);" (call_expression "memcpy(pbVar17,local_268,__n)" identifier (argument_list "(pbVar17,local_268,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_25c = local_25c + __n;" (assignment_expression "local_25c = local_25c + __n" identifier = (binary_expression "local_25c + __n" identifier + identifier)) ;) (expression_statement "pbVar19 = pbVar17 + __n;" (assignment_expression "pbVar19 = pbVar17 + __n" identifier = (binary_expression "pbVar17 + __n" identifier + identifier)) ;) (expression_statement "pbVar20 = local_268 + __n;" (assignment_expression "pbVar20 = local_268 + __n" identifier = (binary_expression "local_268 + __n" identifier + identifier)) ;) }) (else_clause "else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }" else (compound_statement "{\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }" { (if_statement "if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }" if (parenthesized_expression "((bVar4 & 0xdf) == 0x5d)" ( (binary_expression "(bVar4 & 0xdf) == 0x5d" (parenthesized_expression "(bVar4 & 0xdf)" ( (binary_expression "bVar4 & 0xdf" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }" { (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""unmatched close brace/bracket"" " string_content ")) ;) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000268b2;" goto statement_identifier ;) })) (expression_statement "pbVar20 = local_268 + 1;" (assignment_expression "pbVar20 = local_268 + 1" identifier = (binary_expression "local_268 + 1" identifier + number_literal)) ;) (expression_statement "pbVar22 = local_264 + 1;" (assignment_expression "pbVar22 = local_264 + 1" identifier = (binary_expression "local_264 + 1" identifier + number_literal)) ;) (if_statement "if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }" if (parenthesized_expression "((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0))" ( (binary_expression "(bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)" (parenthesized_expression "(bVar4 == 0x5c)" ( (binary_expression "bVar4 == 0x5c" identifier == number_literal) )) && (parenthesized_expression "(((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)" ( (binary_expression "((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0" (parenthesized_expression "((local_268[1] & 0xdf) + 0xa5 & 0xfd)" ( (binary_expression "(local_268[1] & 0xdf) + 0xa5 & 0xfd" (binary_expression "(local_268[1] & 0xdf) + 0xa5" (parenthesized_expression "(local_268[1] & 0xdf)" ( (binary_expression "local_268[1] & 0xdf" (subscript_expression "local_268[1]" identifier [ number_literal ]) & number_literal) )) + number_literal) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }" { (expression_statement "pbVar20 = local_268 + 2;" (assignment_expression "pbVar20 = local_268 + 2" identifier = (binary_expression "local_268 + 2" identifier + number_literal)) ;) (expression_statement "pbVar22 = local_264 + 2;" (assignment_expression "pbVar22 = local_264 + 2" identifier = (binary_expression "local_264 + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = local_268[1];" (assignment_expression "bVar4 = local_268[1]" identifier = (subscript_expression "local_268[1]" identifier [ number_literal ])) ;) })) (expression_statement "local_25c = local_25c + 1;" (assignment_expression "local_25c = local_25c + 1" identifier = (binary_expression "local_25c + 1" identifier + number_literal)) ;) (expression_statement "pbVar19 = pbVar17 + 1;" (assignment_expression "pbVar19 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar17 = bVar4;" (assignment_expression "*pbVar17 = bVar4" (pointer_expression "*pbVar17" * identifier) = identifier) ;) (expression_statement "local_264 = pbVar22;" (assignment_expression "local_264 = pbVar22" identifier = identifier) ;) }))) (expression_statement "pbVar17 = pbVar19;" (assignment_expression "pbVar17 = pbVar19" identifier = identifier) ;) (expression_statement "local_268 = pbVar20;" (assignment_expression "local_268 = pbVar20" identifier = identifier) ;) (expression_statement "bVar4 = *pbVar20;" (assignment_expression "bVar4 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) })) (if_statement "if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }" if (parenthesized_expression "(local_25c != 0)" ( (binary_expression "local_25c != 0" identifier != number_literal) )) (compound_statement "{\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }" { (expression_statement "*pbVar17 = 0;" (assignment_expression "*pbVar17 = 0" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pvVar12 = *(void **)((int)pvVar7 + 0xaf8);" (assignment_expression "pvVar12 = *(void **)((int)pvVar7 + 0xaf8)" identifier = (pointer_expression "*(void **)((int)pvVar7 + 0xaf8)" * (cast_expression "(void **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);" (assignment_expression "puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" identifier = (cast_expression "(undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 0x1c + (int)pvVar7)" ( (binary_expression "iVar9 * 0x1c + (int)pvVar7" (binary_expression "iVar9 * 0x1c" identifier * number_literal) + (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*puVar23 = 1;" (assignment_expression "*puVar23 = 1" (pointer_expression "*puVar23" * identifier) = number_literal) ;) (expression_statement "puVar23[3] = 1;" (assignment_expression "puVar23[3] = 1" (subscript_expression "puVar23[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar23[4] = 0;" (assignment_expression "puVar23[4] = 0" (subscript_expression "puVar23[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar23[1] = 0xffffffff;" (assignment_expression "puVar23[1] = 0xffffffff" (subscript_expression "puVar23[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar18 = (undefined4 *)malloc(4);" (assignment_expression "puVar18 = (undefined4 *)malloc(4)" identifier = (cast_expression "(undefined4 *)malloc(4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "puVar23[2] = puVar18;" (assignment_expression "puVar23[2] = puVar18" (subscript_expression "puVar23[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }" if (parenthesized_expression "(puVar18 == (undefined4 *)0x0)" ( (binary_expression "puVar18 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }" { (labeled_statement "LAB_00026900:\n            uVar21 = iVar9 + 1;" statement_identifier : (expression_statement "uVar21 = iVar9 + 1;" (assignment_expression "uVar21 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)pvVar7 + 0xb04) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar7 + 0xb04) = 0" (pointer_expression "*(undefined4 *)((int)pvVar7 + 0xb04)" * (cast_expression "(undefined4 *)((int)pvVar7 + 0xb04)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "out of memory";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "out of memory"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""out of memory"" " string_content ")) ;) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" * (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }" else (compound_statement "{\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }" { (expression_statement "__dest = malloc(local_25c + 1);" (assignment_expression "__dest = malloc(local_25c + 1)" identifier = (call_expression "malloc(local_25c + 1)" identifier (argument_list "(local_25c + 1)" ( (binary_expression "local_25c + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar18 = __dest;" (assignment_expression "*puVar18 = __dest" (pointer_expression "*puVar18" * identifier) = identifier) ;) (if_statement "if (__dest == (void *)0x0) goto LAB_00026900;" if (parenthesized_expression "(__dest == (void *)0x0)" ( (binary_expression "__dest == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026900;" goto statement_identifier ;)) (expression_statement "uVar21 = iVar9 + 1;" (assignment_expression "uVar21 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "memcpy(__dest,pvVar12,local_25c);" (call_expression "memcpy(__dest,pvVar12,local_25c)" identifier (argument_list "(__dest,pvVar12,local_25c)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" * (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)__dest + local_25c) = 0;" (assignment_expression "*(undefined1 *)((int)__dest + local_25c) = 0" (pointer_expression "*(undefined1 *)((int)__dest + local_25c)" * (cast_expression "(undefined1 *)((int)__dest + local_25c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + local_25c)" ( (binary_expression "(int)__dest + local_25c" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) }))) (goto_statement "goto joined_r0x00026acd;" goto statement_identifier ;) })) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }" if (parenthesized_expression "(*local_268 != 0x5b)" ( (binary_expression "*local_268 != 0x5b" (pointer_expression "*local_268" * identifier) != number_literal) )) (compound_statement "{\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }" { (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }" if (parenthesized_expression "(*local_268 == 0x7b)" ( (binary_expression "*local_268 == 0x7b" (pointer_expression "*local_268" * identifier) == number_literal) )) (compound_statement "{\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }" { (expression_statement "local_268 = local_268 + 1;" (assignment_expression "local_268 = local_268 + 1" identifier = (binary_expression "local_268 + 1" identifier + number_literal)) ;) (expression_statement "puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);" (assignment_expression "puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" identifier = (cast_expression "(undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 0x1c + (int)pvVar7)" ( (binary_expression "iVar9 * 0x1c + (int)pvVar7" (binary_expression "iVar9 * 0x1c" identifier * number_literal) + (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar9 = local_254 + 1;" (assignment_expression "iVar9 = local_254 + 1" identifier = (binary_expression "local_254 + 1" identifier + number_literal)) ;) (expression_statement "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);" (assignment_expression "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8)" identifier = (pointer_expression "*(byte **)((int)pvVar7 + 0xaf8)" * (cast_expression "(byte **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar18[1] = local_254;" (assignment_expression "puVar18[1] = local_254" (subscript_expression "puVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar18 = 1;" (assignment_expression "*puVar18 = 1" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "puVar18[3] = 0;" (assignment_expression "puVar18[3] = 0" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar18[4] = 0;" (assignment_expression "puVar18[4] = 0" (subscript_expression "puVar18[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar18[2] = 0;" (assignment_expression "puVar18[2] = 0" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar20 = local_268;" (assignment_expression "pbVar20 = local_268" identifier = identifier) ;) (expression_statement "local_260 = local_264;" (assignment_expression "local_260 = local_264" identifier = identifier) ;) (labeled_statement "LAB_00026401:\n            local_260 = local_260 + 1;" statement_identifier : (expression_statement "local_260 = local_260 + 1;" (assignment_expression "local_260 = local_260 + 1" identifier = (binary_expression "local_260 + 1" identifier + number_literal)) ;)) (expression_statement "bVar4 = *pbVar20;" (assignment_expression "bVar4 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) (expression_statement "cVar2 = bVar4 + 0xa4;" (assignment_expression "cVar2 = bVar4 + 0xa4" identifier = (binary_expression "bVar4 + 0xa4" identifier + number_literal)) ;) (expression_statement "bVar24 = bVar4 == 0x5c;" (assignment_expression "bVar24 = bVar4 == 0x5c" identifier = (binary_expression "bVar4 == 0x5c" identifier == number_literal)) ;) (expression_statement "pbVar19 = pbVar20;" (assignment_expression "pbVar19 = pbVar20" identifier = identifier) ;) (if_statement "if (bVar24) goto LAB_0002643a;" if (parenthesized_expression "(bVar24)" ( identifier )) (goto_statement "goto LAB_0002643a;" goto statement_identifier ;)) (do_statement "do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );" do (compound_statement "{\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            }" { (expression_statement "pbVar20 = local_260;" (assignment_expression "pbVar20 = local_260" identifier = identifier) ;) (expression_statement "local_254 = iVar9;" (assignment_expression "local_254 = iVar9" identifier = identifier) ;) (if_statement "if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" if (parenthesized_expression "(bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0')" ( (binary_expression "bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0'" identifier || (binary_expression "SBORROW1(bVar4,'\\') != cVar2 < '\0'" (call_expression "SBORROW1(bVar4,'\\')" identifier (argument_list "(bVar4,'\\')" ( identifier , (char_literal "'\\'" ' escape_sequence ') ))) != (binary_expression "cVar2 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')))) )) (compound_statement "{\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }" { (expression_statement "uVar16 = local_24c;" (assignment_expression "uVar16 = local_24c" identifier = identifier) ;) (if_statement "if (bVar4 == 0x2c) goto LAB_00026940;" if (parenthesized_expression "(bVar4 == 0x2c)" ( (binary_expression "bVar4 == 0x2c" identifier == number_literal) )) (goto_statement "goto LAB_00026940;" goto statement_identifier ;)) (if_statement "if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }" if (parenthesized_expression "(bVar4 == 0x5b)" ( (binary_expression "bVar4 == 0x5b" identifier == number_literal) )) (compound_statement "{\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }" { (labeled_statement "LAB_00026ae0:\n                  pcVar13 = "nested brace";" statement_identifier : (expression_statement "pcVar13 = "nested brace";" (assignment_expression "pcVar13 = "nested brace"" identifier = (string_literal ""nested brace"" " string_content ")) ;)) (goto_statement "goto LAB_0002650e;" goto statement_identifier ;) })) (if_statement "if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }" { (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "unmatched brace";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "unmatched brace"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""unmatched brace"" " string_content ")) ;) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00026aa3;" goto statement_identifier ;) })) }) (else_clause "else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" else (compound_statement "{\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" { (if_statement "if (bVar4 == 0x7b) goto LAB_00026ae0;" if (parenthesized_expression "(bVar4 == 0x7b)" ( (binary_expression "bVar4 == 0x7b" identifier == number_literal) )) (goto_statement "goto LAB_00026ae0;" goto statement_identifier ;)) (if_statement "if (bVar4 == 0x7d) goto LAB_00026a58;" if (parenthesized_expression "(bVar4 == 0x7d)" ( (binary_expression "bVar4 == 0x7d" identifier == number_literal) )) (goto_statement "goto LAB_00026a58;" goto statement_identifier ;)) (if_statement "if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }" if (parenthesized_expression "(bVar4 == 0x5d)" ( (binary_expression "bVar4 == 0x5d" identifier == number_literal) )) (compound_statement "{\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }" { (expression_statement "pcVar13 = "unexpected close bracket";" (assignment_expression "pcVar13 = "unexpected close bracket"" identifier = (string_literal ""unexpected close bracket"" " string_content ")) ;) (goto_statement "goto LAB_0002650e;" goto statement_identifier ;) })) }))) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pbVar22 = local_260 + 1;" (assignment_expression "pbVar22 = local_260 + 1" identifier = (binary_expression "local_260 + 1" identifier + number_literal)) ;) (while_statement "while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }" { (expression_statement "local_260 = pbVar22;" (assignment_expression "local_260 = pbVar22" identifier = identifier) ;) (expression_statement "*pbVar17 = bVar4;" (assignment_expression "*pbVar17 = bVar4" (pointer_expression "*pbVar17" * identifier) = identifier) ;) (expression_statement "bVar4 = *pbVar19;" (assignment_expression "bVar4 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = bVar4 + 0xa4;" (assignment_expression "cVar2 = bVar4 + 0xa4" identifier = (binary_expression "bVar4 + 0xa4" identifier + number_literal)) ;) (expression_statement "bVar24 = cVar2 == '\0';" (assignment_expression "bVar24 = cVar2 == '\0'" identifier = (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (if_statement "if (!bVar24) break;" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0002643a:\n                pbVar19 = pbVar20 + 1;" statement_identifier : (expression_statement "pbVar19 = pbVar20 + 1;" (assignment_expression "pbVar19 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;)) (expression_statement "pbVar22 = local_260 + 1;" (assignment_expression "pbVar22 = local_260 + 1" identifier = (binary_expression "local_260 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }" if (parenthesized_expression "(pbVar20[1] != 0)" ( (binary_expression "pbVar20[1] != 0" (subscript_expression "pbVar20[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }" { (expression_statement "pbVar19 = pbVar20 + 2;" (assignment_expression "pbVar19 = pbVar20 + 2" identifier = (binary_expression "pbVar20 + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = pbVar20[1];" (assignment_expression "bVar4 = pbVar20[1]" identifier = (subscript_expression "pbVar20[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = local_260 + 2;" (assignment_expression "pbVar22 = local_260 + 2" identifier = (binary_expression "local_260 + 2" identifier + number_literal)) ;) })) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) })) (expression_statement "local_264 = local_264 + 1;" (assignment_expression "local_264 = local_264 + 1" identifier = (binary_expression "local_264 + 1" identifier + number_literal)) ;) (expression_statement "pbVar17 = local_268 + 1;" (assignment_expression "pbVar17 = local_268 + 1" identifier = (binary_expression "local_268 + 1" identifier + number_literal)) ;) (expression_statement "iVar1 = local_254 + 1;" (assignment_expression "iVar1 = local_254 + 1" identifier = (binary_expression "local_254 + 1" identifier + number_literal)) ;) (expression_statement "puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);" (assignment_expression "puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c)" identifier = (cast_expression "(undefined4 *)((int)pvVar7 + iVar9 * 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + iVar9 * 0x1c)" ( (binary_expression "(int)pvVar7 + iVar9 * 0x1c" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar9 * 0x1c" identifier * number_literal)) )))) ;) (expression_statement "puVar18[1] = local_254;" (assignment_expression "puVar18[1] = local_254" (subscript_expression "puVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar8 = FUN_000280f0(local_268[1]);" (assignment_expression "iVar8 = FUN_000280f0(local_268[1])" identifier = (call_expression "FUN_000280f0(local_268[1])" identifier (argument_list "(local_268[1])" ( (subscript_expression "local_268[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" { (expression_statement "iVar8 = FUN_00028000(local_268[1]);" (assignment_expression "iVar8 = FUN_00028000(local_268[1])" identifier = (call_expression "FUN_00028000(local_268[1])" identifier (argument_list "(local_268[1])" ( (subscript_expression "local_268[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }" { (expression_statement "*puVar18 = 3;" (assignment_expression "*puVar18 = 3" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "puVar18[4] = 0;" (assignment_expression "puVar18[4] = 0" (subscript_expression "puVar18[4]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }" if (parenthesized_expression "(local_268[1] == 0x30)" ( (binary_expression "local_268[1] == 0x30" (subscript_expression "local_268[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }" { (expression_statement "bVar4 = 0x30;" (assignment_expression "bVar4 = 0x30" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar17;" (assignment_expression "pbVar20 = pbVar17" identifier = identifier) ;) (while_statement "while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }" while (parenthesized_expression "(iVar8 = FUN_00028000(bVar4), iVar8 != 0)" ( (comma_expression "iVar8 = FUN_00028000(bVar4), iVar8 != 0" (assignment_expression "iVar8 = FUN_00028000(bVar4)" identifier = (call_expression "FUN_00028000(bVar4)" identifier (argument_list "(bVar4)" ( identifier )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )) (compound_statement "{\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }" { (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (expression_statement "puVar18[4] = puVar18[4] + 1;" (assignment_expression "puVar18[4] = puVar18[4] + 1" (subscript_expression "puVar18[4]" identifier [ number_literal ]) = (binary_expression "puVar18[4] + 1" (subscript_expression "puVar18[4]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "bVar4 = *pbVar20;" (assignment_expression "bVar4 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) })) })) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" * identifier) = number_literal) ;) (expression_statement "uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);" (assignment_expression "uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10)" identifier = (call_expression "strtoul((char *)pbVar17,(char **)&local_224,10)" identifier (argument_list "((char *)pbVar17,(char **)&local_224,10)" ( (cast_expression "(char *)pbVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)&local_224" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_224" & identifier)) , number_literal )))) ;) (if_statement "if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;" if (parenthesized_expression "(((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))" ( (binary_expression "((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d)" (parenthesized_expression "((*piVar15 != 0) || (pbVar17 == local_224))" ( (binary_expression "(*piVar15 != 0) || (pbVar17 == local_224)" (parenthesized_expression "(*piVar15 != 0)" ( (binary_expression "*piVar15 != 0" (pointer_expression "*piVar15" * identifier) != number_literal) )) || (parenthesized_expression "(pbVar17 == local_224)" ( (binary_expression "pbVar17 == local_224" identifier == identifier) ))) )) || (parenthesized_expression "(*local_224 != 0x2d)" ( (binary_expression "*local_224 != 0x2d" (pointer_expression "*local_224" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;)) (expression_statement "local_250 = local_224 + 1;" (assignment_expression "local_250 = local_224 + 1" identifier = (binary_expression "local_224 + 1" identifier + number_literal)) ;) (expression_statement "bVar4 = local_224[1];" (assignment_expression "bVar4 = local_224[1]" identifier = (subscript_expression "local_224[1]" identifier [ number_literal ])) ;) (while_statement "while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }" while (parenthesized_expression "((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))))" ( (parenthesized_expression "(bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))" ( (comma_expression "bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))" (assignment_expression "bVar3 = 0" identifier = number_literal) , (binary_expression "bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))" (binary_expression "bVar4 != 0" identifier != number_literal) && (parenthesized_expression "((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))" ( (parenthesized_expression "(bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))" ( (binary_expression "bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)" (binary_expression "bVar4 == 0x20" identifier == number_literal) || (parenthesized_expression "(bVar3 = bVar4, bVar4 == 9)" ( (comma_expression "bVar3 = bVar4, bVar4 == 9" (assignment_expression "bVar3 = bVar4" identifier = identifier) , (binary_expression "bVar4 == 9" identifier == number_literal)) ))) )) )))) )) )) (compound_statement "{\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }" { (expression_statement "local_250 = (byte *)((int)local_250 + 1);" (assignment_expression "local_250 = (byte *)((int)local_250 + 1)" identifier = (cast_expression "(byte *)((int)local_250 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_250 + 1)" ( (binary_expression "(int)local_250 + 1" (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar4 = *local_250;" (assignment_expression "bVar4 = *local_250" identifier = (pointer_expression "*local_250" * identifier)) ;) })) (expression_statement "iVar8 = FUN_00028000(bVar3);" (assignment_expression "iVar8 = FUN_00028000(bVar3)" identifier = (call_expression "FUN_00028000(bVar3)" identifier (argument_list "(bVar3)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }" { (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" * identifier) = number_literal) ;) (expression_statement "uVar11 = strtoul((char *)local_250,(char **)&local_224,10);" (assignment_expression "uVar11 = strtoul((char *)local_250,(char **)&local_224,10)" identifier = (call_expression "strtoul((char *)local_250,(char **)&local_224,10)" identifier (argument_list "((char *)local_250,(char **)&local_224,10)" ( (cast_expression "(char *)local_250" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)&local_224" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_224" & identifier)) , number_literal )))) ;) (if_statement "if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }" if (parenthesized_expression "(*piVar15 == 0)" ( (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" * identifier) == number_literal) )) (compound_statement "{\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }" { (if_statement "if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" if (parenthesized_expression "(*local_224 == 0x3a)" ( (binary_expression "*local_224 == 0x3a" (pointer_expression "*local_224" * identifier) == number_literal) )) (compound_statement "{\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }" { (expression_statement "local_250 = local_224 + 1;" (assignment_expression "local_250 = local_224 + 1" identifier = (binary_expression "local_224 + 1" identifier + number_literal)) ;) (expression_statement "local_258 = strtoul((char *)local_250,(char **)&local_224,10);" (assignment_expression "local_258 = strtoul((char *)local_250,(char **)&local_224,10)" identifier = (call_expression "strtoul((char *)local_250,(char **)&local_224,10)" identifier (argument_list "((char *)local_250,(char **)&local_224,10)" ( (cast_expression "(char *)local_250" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)&local_224" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_224" & identifier)) , number_literal )))) ;) (if_statement "if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }" if (parenthesized_expression "(((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d))" ( (binary_expression "((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)" (parenthesized_expression "((*piVar15 == 0) && (local_224 != (byte *)0x0))" ( (binary_expression "(*piVar15 == 0) && (local_224 != (byte *)0x0)" (parenthesized_expression "(*piVar15 == 0)" ( (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" * identifier) == number_literal) )) && (parenthesized_expression "(local_224 != (byte *)0x0)" ( (binary_expression "local_224 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(*local_224 == 0x5d)" ( (binary_expression "*local_224 == 0x5d" (pointer_expression "*local_224" * identifier) == number_literal) ))) )) (compound_statement "{\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }" { (expression_statement "local_268 = local_224 + 1;" (assignment_expression "local_268 = local_224 + 1" identifier = (binary_expression "local_224 + 1" identifier + number_literal)) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar17)" ( (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;" if (parenthesized_expression "(((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1))))" ( (binary_expression "((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))" (parenthesized_expression "((local_224 == (byte *)0x0) || (local_258 == 0))" ( (binary_expression "(local_224 == (byte *)0x0) || (local_258 == 0)" (parenthesized_expression "(local_224 == (byte *)0x0)" ( (binary_expression "local_224 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_258 == 0)" ( (binary_expression "local_258 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((uVar10 == uVar11 && (local_258 != 1)))" ( (parenthesized_expression "(uVar10 == uVar11 && (local_258 != 1))" ( (binary_expression "uVar10 == uVar11 && (local_258 != 1)" (binary_expression "uVar10 == uVar11" identifier == identifier) && (parenthesized_expression "(local_258 != 1)" ( (binary_expression "local_258 != 1" identifier != number_literal) ))) )) ))) )) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;)) (goto_statement "goto LAB_00026e40;" goto statement_identifier ;) })) }) (else_clause "else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" else (if_statement "if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" if (parenthesized_expression "(*local_224 == 0x5d)" ( (binary_expression "*local_224 == 0x5d" (pointer_expression "*local_224" * identifier) == number_literal) )) (compound_statement "{\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" { (expression_statement "local_258 = 1;" (assignment_expression "local_258 = 1" identifier = number_literal) ;) (expression_statement "local_268 = local_224 + 1;" (assignment_expression "local_268 = local_224 + 1" identifier = (binary_expression "local_224 + 1" identifier + number_literal)) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar17)" ( (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;" statement_identifier : (if_statement "if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;" if (parenthesized_expression "((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))" ( (binary_expression "(uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258)))" (parenthesized_expression "(uVar10 != uVar11)" ( (binary_expression "uVar10 != uVar11" identifier != identifier) )) && (parenthesized_expression "((uVar11 < uVar10 || (uVar11 - uVar10 < local_258)))" ( (parenthesized_expression "(uVar11 < uVar10 || (uVar11 - uVar10 < local_258))" ( (binary_expression "uVar11 < uVar10 || (uVar11 - uVar10 < local_258)" (binary_expression "uVar11 < uVar10" identifier < identifier) || (parenthesized_expression "(uVar11 - uVar10 < local_258)" ( (binary_expression "uVar11 - uVar10 < local_258" (binary_expression "uVar11 - uVar10" identifier - identifier) < identifier) ))) )) ))) )) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;))) (expression_statement "puVar18[2] = uVar10;" (assignment_expression "puVar18[2] = uVar10" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18[5] = uVar10;" (assignment_expression "puVar18[5] = uVar10" (subscript_expression "puVar18[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18[3] = uVar11;" (assignment_expression "puVar18[3] = uVar11" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;" (assignment_expression "*(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258" (pointer_expression "*(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18)" * (cast_expression "(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + iVar9 * 0x1c + 0x18)" ( (binary_expression "(int)pvVar7 + iVar9 * 0x1c + 0x18" (binary_expression "(int)pvVar7 + iVar9 * 0x1c" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar9 * 0x1c" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;" (assignment_expression "uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1" identifier = (binary_expression "(uint)(puVar18[3] - puVar18[2]) / local_258 + 1" (binary_expression "(uint)(puVar18[3] - puVar18[2]) / local_258" (call_expression "(uint)(puVar18[3] - puVar18[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar18[3] - puVar18[2])" ( (binary_expression "puVar18[3] - puVar18[2]" (subscript_expression "puVar18[3]" identifier [ number_literal ]) - (subscript_expression "puVar18[2]" identifier [ number_literal ])) ))) / identifier) + number_literal)) ;) (expression_statement "uVar21 = uVar16;" (assignment_expression "uVar21 = uVar16" identifier = identifier) ;) (if_statement "if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }" if (parenthesized_expression "((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))" ( (binary_expression "(uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c)" (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c)" ( (comma_expression "uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c" (assignment_expression "uVar21 = local_24c * uVar16" identifier = (binary_expression "local_24c * uVar16" identifier * identifier)) , (binary_expression "uVar21 / uVar16 == local_24c" (binary_expression "uVar21 / uVar16" identifier / identifier) == identifier)) ))) )) (compound_statement "{\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }" { (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_254 = iVar1;" (assignment_expression "local_254 = iVar1" identifier = identifier) ;) (expression_statement "local_24c = uVar21;" (assignment_expression "local_24c = uVar21" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) })) (goto_statement "goto LAB_00026cf0;" goto statement_identifier ;) })))) })) })) (expression_statement "local_264 = local_250 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_250 + ((int)local_264 - (int)pbVar17)" identifier = (binary_expression "local_250 + ((int)local_264 - (int)pbVar17)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar17)" ( (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;) })) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "bad range specification";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "bad range specification"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""bad range specification"" " string_content ")) ;) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" else (compound_statement "{\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" { (expression_statement "*puVar18 = 2;" (assignment_expression "*puVar18 = 2" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);" (assignment_expression "iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225)" identifier = (call_expression "__isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225)" identifier (argument_list "(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225)" ( identifier , (string_literal ""%c-%c%c"" " string_content ") , (pointer_expression "&local_227" & identifier) , (pointer_expression "&local_226" & identifier) , (pointer_expression "&local_225" & identifier) )))) ;) (if_statement "if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }" if (parenthesized_expression "(iVar9 == 3)" ( (binary_expression "iVar9 == 3" identifier == number_literal) )) (compound_statement "{\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }" { (if_statement "if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" if (parenthesized_expression "(local_225 == ':')" ( (binary_expression "local_225 == ':'" identifier == (char_literal "':'" ' character ')) )) (compound_statement "{\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }" { (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" * identifier) = number_literal) ;) (expression_statement "local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);" (assignment_expression "local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10)" identifier = (call_expression "strtoul((char *)(local_268 + 5),(char **)&local_224,10)" identifier (argument_list "((char *)(local_268 + 5),(char **)&local_224,10)" ( (cast_expression "(char *)(local_268 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_268 + 5)" ( (binary_expression "local_268 + 5" identifier + number_literal) ))) , (cast_expression "(char **)&local_224" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_224" & identifier)) , number_literal )))) ;) (if_statement "if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }" if (parenthesized_expression "(((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d))" ( (binary_expression "((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)" (parenthesized_expression "((*piVar15 == 0) && (local_268 + 5 != local_224))" ( (binary_expression "(*piVar15 == 0) && (local_268 + 5 != local_224)" (parenthesized_expression "(*piVar15 == 0)" ( (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" * identifier) == number_literal) )) && (parenthesized_expression "(local_268 + 5 != local_224)" ( (binary_expression "local_268 + 5 != local_224" (binary_expression "local_268 + 5" identifier + number_literal) != identifier) ))) )) && (parenthesized_expression "(*local_224 == 0x5d)" ( (binary_expression "*local_224 == 0x5d" (pointer_expression "*local_224" * identifier) == number_literal) ))) )) (compound_statement "{\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }" { (expression_statement "local_268 = local_224 + 1;" (assignment_expression "local_268 = local_224 + 1" identifier = (binary_expression "local_224 + 1" identifier + number_literal)) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar17)" ( (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }" if (parenthesized_expression "((local_254 != 0) && (-1 < (int)local_254))" ( (binary_expression "(local_254 != 0) && (-1 < (int)local_254)" (parenthesized_expression "(local_254 != 0)" ( (binary_expression "local_254 != 0" identifier != number_literal) )) && (parenthesized_expression "(-1 < (int)local_254)" ( (binary_expression "-1 < (int)local_254" number_literal < (cast_expression "(int)local_254" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }" { (if_statement "if (local_227 != local_226) goto LAB_00026b80;" if (parenthesized_expression "(local_227 != local_226)" ( (binary_expression "local_227 != local_226" identifier != identifier) )) (goto_statement "goto LAB_00026b80;" goto statement_identifier ;)) (if_statement "if (local_254 == 1) goto LAB_00026dac;" if (parenthesized_expression "(local_254 == 1)" ( (binary_expression "local_254 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00026dac;" goto statement_identifier ;)) })) })) }) (else_clause "else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" else (if_statement "if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" if (parenthesized_expression "(local_225 == ']')" ( (binary_expression "local_225 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" { (expression_statement "local_268 = local_268 + 5;" (assignment_expression "local_268 = local_268 + 5" identifier = (binary_expression "local_268 + 5" identifier + number_literal)) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar17)" ( (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }" if (parenthesized_expression "(local_227 == local_226)" ( (binary_expression "local_227 == local_226" identifier == identifier) )) (compound_statement "{\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }" { (labeled_statement "LAB_00026dac:\n                local_250 = (byte *)(int)local_227;" statement_identifier : (expression_statement "local_250 = (byte *)(int)local_227;" (assignment_expression "local_250 = (byte *)(int)local_227" identifier = (cast_expression "(byte *)(int)local_227" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)local_227" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "iVar9 = (int)local_226;" (assignment_expression "iVar9 = (int)local_226" identifier = (cast_expression "(int)local_226" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_254 = 1;" (assignment_expression "local_254 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;" statement_identifier : (expression_statement "*(char *)(puVar18 + 2) = local_227;" (assignment_expression "*(char *)(puVar18 + 2) = local_227" (pointer_expression "*(char *)(puVar18 + 2)" * (cast_expression "(char *)(puVar18 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(char *)((int)puVar18 + 10) = local_227;" (assignment_expression "*(char *)((int)puVar18 + 10) = local_227" (pointer_expression "*(char *)((int)puVar18 + 10)" * (cast_expression "(char *)((int)puVar18 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 10)" ( (binary_expression "(int)puVar18 + 10" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char *)((int)puVar18 + 9) = local_226;" (assignment_expression "*(char *)((int)puVar18 + 9) = local_226" (pointer_expression "*(char *)((int)puVar18 + 9)" * (cast_expression "(char *)((int)puVar18 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 9)" ( (binary_expression "(int)puVar18 + 9" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar18[3] = local_254;" (assignment_expression "puVar18[3] = local_254" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;" (assignment_expression "uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1" identifier = (binary_expression "(iVar9 - (int)local_250) / (int)local_254 + 1" (binary_expression "(iVar9 - (int)local_250) / (int)local_254" (parenthesized_expression "(iVar9 - (int)local_250)" ( (binary_expression "iVar9 - (int)local_250" identifier - (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier)) )) / (cast_expression "(int)local_254" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (if_statement "if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }" { (expression_statement "local_24c = 0;" (assignment_expression "local_24c = 0" identifier = number_literal) ;) (expression_statement "uVar16 = local_24c;" (assignment_expression "uVar16 = local_24c" identifier = identifier) ;) }) (else_clause "else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }" else (compound_statement "{\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }" { (expression_statement "uVar16 = local_24c * uVar21;" (assignment_expression "uVar16 = local_24c * uVar21" identifier = (binary_expression "local_24c * uVar21" identifier * identifier)) ;) (if_statement "if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }" if (parenthesized_expression "((local_24c * uVar21) / uVar21 != local_24c)" ( (binary_expression "(local_24c * uVar21) / uVar21 != local_24c" (binary_expression "(local_24c * uVar21) / uVar21" (parenthesized_expression "(local_24c * uVar21)" ( (binary_expression "local_24c * uVar21" identifier * identifier) )) / identifier) != identifier) )) (compound_statement "{\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }" { (labeled_statement "LAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";" statement_identifier : (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "range overflow";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "range overflow"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""range overflow"" " string_content ")) ;)) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000266f7;" goto statement_identifier ;) })) }))) (expression_statement "local_24c = uVar16;" (assignment_expression "local_24c = uVar16" identifier = identifier) ;) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_254 = iVar1;" (assignment_expression "local_254 = iVar1" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) })) (expression_statement "local_254 = 1;" (assignment_expression "local_254 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" statement_identifier : (if_statement "if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" if (parenthesized_expression "(local_227 <= local_226)" ( (binary_expression "local_227 <= local_226" identifier <= identifier) )) (compound_statement "{\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" { (expression_statement "local_250 = (byte *)(int)local_227;" (assignment_expression "local_250 = (byte *)(int)local_227" identifier = (cast_expression "(byte *)(int)local_227" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)local_227" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar9 = (int)local_226;" (assignment_expression "iVar9 = (int)local_226" identifier = (cast_expression "(int)local_226" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;" if (parenthesized_expression "((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   )" ( (binary_expression "(local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)" (parenthesized_expression "(local_254 <= (uint)(iVar9 - (int)local_250))" ( (binary_expression "local_254 <= (uint)(iVar9 - (int)local_250)" identifier <= (call_expression "(uint)(iVar9 - (int)local_250)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar9 - (int)local_250)" ( (binary_expression "iVar9 - (int)local_250" identifier - (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) && (parenthesized_expression "(iVar9 - (int)local_250 < 0x1a)" ( (binary_expression "iVar9 - (int)local_250 < 0x1a" (binary_expression "iVar9 - (int)local_250" identifier - (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier)) < number_literal) ))) )) (goto_statement "goto LAB_00026bab;" goto statement_identifier ;)) }))) })))) })) (labeled_statement "LAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";" statement_identifier : (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "bad range";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "bad range"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""bad range"" " string_content ")) ;)) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }))) (labeled_statement "LAB_000266f7:\n        local_260 = (byte *)0x3;" statement_identifier : (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;" (assignment_expression "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1" identifier = (binary_expression "*(int *)((int)pvVar7 + 0xaf0) + 1" (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" * (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_268 = pbVar17;" (assignment_expression "local_268 = pbVar17" identifier = identifier) ;) (expression_statement "local_254 = iVar1;" (assignment_expression "local_254 = iVar1" identifier = identifier) ;) }) while (parenthesized_expression "(uVar21 < 100)" ( (binary_expression "uVar21 < 100" identifier < number_literal) )) ;)) (goto_statement "goto LAB_0002654a;" goto statement_identifier ;) })) (expression_statement "free(puVar6);" (call_expression "free(puVar6)" identifier (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00028220();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00028220();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00028220();\n  }" { comment (expression_statement "FUN_00028220();" (call_expression "FUN_00028220()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return (int)local_260;" return (cast_expression "(int)local_260" ( (type_descriptor "int" primitive_type) ) identifier) ;) (labeled_statement "LAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }" statement_identifier : (if_statement "if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }" if (parenthesized_expression "(local_268 == pbVar19)" ( (binary_expression "local_268 == pbVar19" identifier == identifier) )) (compound_statement "{\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }" { (expression_statement "pcVar13 = "empty string within braces";" (assignment_expression "pcVar13 = "empty string within braces"" identifier = (string_literal ""empty string within braces"" " string_content ")) ;) (labeled_statement "LAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;" statement_identifier : (expression_statement "*(char **)((int)pvVar7 + 0xb00) = pcVar13;" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = pcVar13" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = pbVar20;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = pbVar20" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_264 = pbVar20;" (assignment_expression "local_264 = pbVar20" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) }))) (expression_statement "uVar21 = puVar18[3] + 1;" (assignment_expression "uVar21 = puVar18[3] + 1" identifier = (binary_expression "puVar18[3] + 1" (subscript_expression "puVar18[3]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n    local_24c = 0;\n    uVar16 = local_24c;\n  }" { (expression_statement "local_24c = 0;" (assignment_expression "local_24c = 0" identifier = number_literal) ;) (expression_statement "uVar16 = local_24c;" (assignment_expression "uVar16 = local_24c" identifier = identifier) ;) }) (else_clause "else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }" else (compound_statement "{\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }" { (expression_statement "uVar16 = local_24c * uVar21;" (assignment_expression "uVar16 = local_24c * uVar21" identifier = (binary_expression "local_24c * uVar21" identifier * identifier)) ;) (if_statement "if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }" if (parenthesized_expression "((local_24c * uVar21) / uVar21 != local_24c)" ( (binary_expression "(local_24c * uVar21) / uVar21 != local_24c" (binary_expression "(local_24c * uVar21) / uVar21" (parenthesized_expression "(local_24c * uVar21)" ( (binary_expression "local_24c * uVar21" identifier * identifier) )) / identifier) != identifier) )) (compound_statement "{\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }" { (expression_statement "*(undefined4 *)((int)pvVar7 + 0xb04) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar7 + 0xb04) = 0" (pointer_expression "*(undefined4 *)((int)pvVar7 + 0xb04)" * (cast_expression "(undefined4 *)((int)pvVar7 + 0xb04)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "range overflow";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "range overflow"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""range overflow"" " string_content ")) ;) (labeled_statement "LAB_00026aa3:\n      local_260 = (byte *)0x3;" statement_identifier : (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;" (assignment_expression "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1" identifier = (binary_expression "*(int *)((int)pvVar7 + 0xaf0) + 1" (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" * (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_264 = pbVar20;" (assignment_expression "local_264 = pbVar20" identifier = identifier) ;) (goto_statement "goto joined_r0x00026acd;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00026940:\n  local_24c = uVar16;" statement_identifier : (expression_statement "local_24c = uVar16;" (assignment_expression "local_24c = uVar16" identifier = identifier) ;)) (expression_statement "*pbVar17 = 0;" (assignment_expression "*pbVar17 = 0" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (if_statement "if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }" if (parenthesized_expression "((void *)puVar18[2] == (void *)0x0)" ( (binary_expression "(void *)puVar18[2] == (void *)0x0" (cast_expression "(void *)puVar18[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[2]" identifier [ number_literal ])) == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }" { (expression_statement "pvVar12 = malloc(4);" (assignment_expression "pvVar12 = malloc(4)" identifier = (call_expression "malloc(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (expression_statement "puVar18[2] = pvVar12;" (assignment_expression "puVar18[2] = pvVar12" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pvVar12 == (void *)0x0) goto LAB_00026c32;" if (parenthesized_expression "(pvVar12 == (void *)0x0)" ( (binary_expression "pvVar12 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026c32;" goto statement_identifier ;)) }) (else_clause "else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }" else (compound_statement "{\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }" { (expression_statement "pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);" (assignment_expression "pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4)" identifier = (call_expression "realloc((void *)puVar18[2],puVar18[3] * 4 + 4)" identifier (argument_list "((void *)puVar18[2],puVar18[3] * 4 + 4)" ( (cast_expression "(void *)puVar18[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[2]" identifier [ number_literal ])) , (binary_expression "puVar18[3] * 4 + 4" (binary_expression "puVar18[3] * 4" (subscript_expression "puVar18[3]" identifier [ number_literal ]) * number_literal) + number_literal) )))) ;) (if_statement "if (pvVar12 == (void *)0x0) goto LAB_00026c32;" if (parenthesized_expression "(pvVar12 == (void *)0x0)" ( (binary_expression "pvVar12 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026c32;" goto statement_identifier ;)) (expression_statement "puVar18[2] = pvVar12;" (assignment_expression "puVar18[2] = pvVar12" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "iVar1 = puVar18[3];" (assignment_expression "iVar1 = puVar18[3]" identifier = (subscript_expression "puVar18[3]" identifier [ number_literal ])) ;) (expression_statement "pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));" (assignment_expression "pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8))" identifier = (call_expression "strdup(*(char **)((int)pvVar7 + 0xaf8))" identifier (argument_list "(*(char **)((int)pvVar7 + 0xaf8))" ( (pointer_expression "*(char **)((int)pvVar7 + 0xaf8)" * (cast_expression "(char **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;" (assignment_expression "*(char **)((int)pvVar12 + iVar1 * 4) = pcVar13" (pointer_expression "*(char **)((int)pvVar12 + iVar1 * 4)" * (cast_expression "(char **)((int)pvVar12 + iVar1 * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar12 + iVar1 * 4)" ( (binary_expression "(int)pvVar12 + iVar1 * 4" (cast_expression "(int)pvVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) = identifier) ;) (if_statement "if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }" if (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }" { (expression_statement "pbVar20 = pbVar19 + 1;" (assignment_expression "pbVar20 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "puVar18[3] = iVar1 + 1;" (assignment_expression "puVar18[3] = iVar1 + 1" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (if_statement "if (*pbVar19 == 0x7d) goto LAB_00026cc0;" if (parenthesized_expression "(*pbVar19 == 0x7d)" ( (binary_expression "*pbVar19 == 0x7d" (pointer_expression "*pbVar19" * identifier) == number_literal) )) (goto_statement "goto LAB_00026cc0;" goto statement_identifier ;)) (expression_statement "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);" (assignment_expression "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8)" identifier = (pointer_expression "*(byte **)((int)pvVar7 + 0xaf8)" * (cast_expression "(byte **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_00026401;" goto statement_identifier ;) })) (labeled_statement "LAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);" statement_identifier : (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)pvVar7 + 0xb04) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar7 + 0xb04) = 0" (pointer_expression "*(undefined4 *)((int)pvVar7 + 0xb04)" * (cast_expression "(undefined4 *)((int)pvVar7 + 0xb04)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "out of memory";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "out of memory"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""out of memory"" " string_content ")) ;) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_264 = pbVar20;" (assignment_expression "local_264 = pbVar20" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) (labeled_statement "LAB_00026cc0:\n  local_264 = local_260;" statement_identifier : (expression_statement "local_264 = local_260;" (assignment_expression "local_264 = local_260" identifier = identifier) ;)) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_268 = pbVar20;" (assignment_expression "local_268 = pbVar20" identifier = identifier) ;) (labeled_statement "LAB_00026538:\n  uVar21 = iVar9 + 1;" statement_identifier : (expression_statement "uVar21 = iVar9 + 1;" (assignment_expression "uVar21 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;)) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" * (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (labeled_statement "joined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;" statement_identifier : (if_statement "if (99 < uVar21) goto LAB_0002654a;" if (parenthesized_expression "(99 < uVar21)" ( (binary_expression "99 < uVar21" number_literal < identifier) )) (goto_statement "goto LAB_0002654a;" goto statement_identifier ;))) (goto_statement "goto LAB_00026300;" goto statement_identifier ;) (labeled_statement "LAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";" statement_identifier : (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "too many globs";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "too many globs"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""too many globs"" " string_content ")) ;)) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" statement_identifier : (if_statement "if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    local_260 = (byte *)0x3;\n  }" { (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" else (compound_statement "{\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" { (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);" (assignment_expression "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00)" identifier = (pointer_expression "*(undefined1 **)((int)pvVar7 + 0xb00)" * (cast_expression "(undefined1 **)((int)pvVar7 + 0xb00)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (labeled_statement "LAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);" statement_identifier : (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xb04);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xb04)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xb04)" * (cast_expression "(int *)((int)pvVar7 + 0xb04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "puVar14 = puVar6;" (assignment_expression "puVar14 = puVar6" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }" { (expression_statement "puVar14 = local_220;" (assignment_expression "puVar14 = local_220" identifier = identifier) ;) (expression_statement "curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);" (call_expression "curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4)" identifier (argument_list "(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4)" ( identifier , number_literal , (string_literal ""%s in URL position %zu:\n%s\n%*s^"" " string_content escape_sequence string_content escape_sequence string_content ") , identifier , identifier , identifier , (binary_expression "iVar9 + -1" identifier + number_literal) , (pointer_expression "&DAT_000290e4" & identifier) ))) ;) })) (expression_statement "curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);" (call_expression "curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14)" identifier (argument_list "(param_4,"curl: (%d) %s\n",local_260,puVar14)" ( identifier , (string_literal ""curl: (%d) %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })))) (labeled_statement "LAB_000268c6:\n  FUN_00026180(pvVar7);" statement_identifier : (expression_statement "FUN_00026180(pvVar7);" (call_expression "FUN_00026180(pvVar7)" identifier (argument_list "(pvVar7)" ( identifier ))) ;)) (expression_statement "*param_3 = 1;" (assignment_expression "*param_3 = 1" (pointer_expression "*param_3" * identifier) = number_literal) ;) (goto_statement "goto LAB_000268dc;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Unknown calling convention */\n\nCURLcode glob_url(URLGlob **glob,char *url,ulong *urlnum,FILE *error)\n\n{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  size_t sVar4;\n  char *pcVar5;\n  URLGlob *glob_00;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  ulong uVar9;\n  ulong uVar10;\n  char **ppcVar11;\n  int *piVar12;\n  uint uVar13;\n  byte *pbVar14;\n  URLPattern *pUVar15;\n  byte *pbVar16;\n  size_t sVar17;\n  byte *pbVar18;\n  uint uVar19;\n  byte *pbVar20;\n  size_t __n;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char min_c;\n  char max_c;\n  char end_c;\n  char *endp;\n  char text [512];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  *glob = (URLGlob *)0x0;\n  sVar4 = strlen(url);\n  pcVar5 = (char *)malloc(sVar4 + 1);\n  if (pcVar5 == (char *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *pcVar5 = '\0';\n    glob_00 = (URLGlob *)calloc(1,0xb08);\n    if (glob_00 != (URLGlob *)0x0) {\n      glob_00->urllen = sVar4;\n      glob_00->glob_buffer = pcVar5;\n      local_264 = (byte *)0x1;\n      local_268 = (byte *)url;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      } while (uVar19 < 100);\n      goto LAB_0002654a;\n    }\n    free(pcVar5);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return (CURLcode)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar16) {\n    pcVar5 = "empty string within braces";\nLAB_0002650e:\n    glob_00->error = pcVar5;\n    local_260 = (byte *)0x3;\n    sVar17 = glob_00->size;\n    glob_00->pos = (size_t)pbVar18;\n    local_264 = pbVar18;\n    goto LAB_00026538;\n  }\n  uVar19 = (pUVar15->content).Set.size + 1;\n  if (uVar19 == 0) {\n    local_24c = 0;\n    uVar13 = local_24c;\n  }\n  else {\n    uVar13 = local_24c * uVar19;\n    if ((local_24c * uVar19) / uVar19 != local_24c) {\n      glob_00->pos = 0;\n      glob_00->error = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar19 = glob_00->size + 1;\n      glob_00->size = uVar19;\n      local_264 = pbVar18;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar13;\n  *pbVar14 = 0;\n  ppcVar11 = (pUVar15->content).Set.elements;\n  if (ppcVar11 == (char **)0x0) {\n    ppcVar11 = (char **)malloc(4);\n    (pUVar15->content).Set.elements = ppcVar11;\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n  }\n  else {\n    ppcVar11 = (char **)realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4);\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n    (pUVar15->content).Set.elements = ppcVar11;\n  }\n  iVar8 = (pUVar15->content).Set.size;\n  pcVar5 = strdup(glob_00->glob_buffer);\n  ppcVar11[iVar8] = pcVar5;\n  if (pcVar5 != (char *)0x0) {\n    pbVar18 = pbVar16 + 1;\n    (pUVar15->content).Set.size = iVar8 + 1;\n    if (*pbVar16 == 0x7d) goto LAB_00026cc0;\n    pbVar14 = (byte *)glob_00->glob_buffer;\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  sVar17 = glob_00->size;\n  glob_00->pos = 0;\n  glob_00->error = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar18;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  sVar17 = glob_00->size;\n  local_268 = pbVar18;\nLAB_00026538:\n  uVar19 = sVar17 + 1;\n  glob_00->size = uVar19;\njoined_r0x00026acd:\n  if (99 < uVar19) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  glob_00->error = "too many globs";\n  glob_00->pos = (size_t)local_264;\nLAB_000268b2:\n  if (error == (FILE *)0x0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    pcVar5 = glob_00->error;\nLAB_000269de:\n    sVar17 = glob_00->pos;\n    pcVar7 = pcVar5;\n    if (sVar17 != 0) {\n      pcVar7 = text;\n      curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4);\n    }\n    curl_mfprintf(error,"curl: (%d) %s\n",local_260,pcVar7);\n  }\nLAB_000268c6:\n  glob_cleanup(glob_00);\n  *urlnum = 1;\n  goto LAB_000268dc;\n}\n\n" comment comment comment (function_definition "CURLcode glob_url(URLGlob **glob,char *url,ulong *urlnum,FILE *error)\n\n{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  size_t sVar4;\n  char *pcVar5;\n  URLGlob *glob_00;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  ulong uVar9;\n  ulong uVar10;\n  char **ppcVar11;\n  int *piVar12;\n  uint uVar13;\n  byte *pbVar14;\n  URLPattern *pUVar15;\n  byte *pbVar16;\n  size_t sVar17;\n  byte *pbVar18;\n  uint uVar19;\n  byte *pbVar20;\n  size_t __n;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char min_c;\n  char max_c;\n  char end_c;\n  char *endp;\n  char text [512];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  *glob = (URLGlob *)0x0;\n  sVar4 = strlen(url);\n  pcVar5 = (char *)malloc(sVar4 + 1);\n  if (pcVar5 == (char *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *pcVar5 = '\0';\n    glob_00 = (URLGlob *)calloc(1,0xb08);\n    if (glob_00 != (URLGlob *)0x0) {\n      glob_00->urllen = sVar4;\n      glob_00->glob_buffer = pcVar5;\n      local_264 = (byte *)0x1;\n      local_268 = (byte *)url;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      } while (uVar19 < 100);\n      goto LAB_0002654a;\n    }\n    free(pcVar5);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return (CURLcode)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar16) {\n    pcVar5 = "empty string within braces";\nLAB_0002650e:\n    glob_00->error = pcVar5;\n    local_260 = (byte *)0x3;\n    sVar17 = glob_00->size;\n    glob_00->pos = (size_t)pbVar18;\n    local_264 = pbVar18;\n    goto LAB_00026538;\n  }\n  uVar19 = (pUVar15->content).Set.size + 1;\n  if (uVar19 == 0) {\n    local_24c = 0;\n    uVar13 = local_24c;\n  }\n  else {\n    uVar13 = local_24c * uVar19;\n    if ((local_24c * uVar19) / uVar19 != local_24c) {\n      glob_00->pos = 0;\n      glob_00->error = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar19 = glob_00->size + 1;\n      glob_00->size = uVar19;\n      local_264 = pbVar18;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar13;\n  *pbVar14 = 0;\n  ppcVar11 = (pUVar15->content).Set.elements;\n  if (ppcVar11 == (char **)0x0) {\n    ppcVar11 = (char **)malloc(4);\n    (pUVar15->content).Set.elements = ppcVar11;\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n  }\n  else {\n    ppcVar11 = (char **)realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4);\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n    (pUVar15->content).Set.elements = ppcVar11;\n  }\n  iVar8 = (pUVar15->content).Set.size;\n  pcVar5 = strdup(glob_00->glob_buffer);\n  ppcVar11[iVar8] = pcVar5;\n  if (pcVar5 != (char *)0x0) {\n    pbVar18 = pbVar16 + 1;\n    (pUVar15->content).Set.size = iVar8 + 1;\n    if (*pbVar16 == 0x7d) goto LAB_00026cc0;\n    pbVar14 = (byte *)glob_00->glob_buffer;\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  sVar17 = glob_00->size;\n  glob_00->pos = 0;\n  glob_00->error = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar18;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  sVar17 = glob_00->size;\n  local_268 = pbVar18;\nLAB_00026538:\n  uVar19 = sVar17 + 1;\n  glob_00->size = uVar19;\njoined_r0x00026acd:\n  if (99 < uVar19) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  glob_00->error = "too many globs";\n  glob_00->pos = (size_t)local_264;\nLAB_000268b2:\n  if (error == (FILE *)0x0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    pcVar5 = glob_00->error;\nLAB_000269de:\n    sVar17 = glob_00->pos;\n    pcVar7 = pcVar5;\n    if (sVar17 != 0) {\n      pcVar7 = text;\n      curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4);\n    }\n    curl_mfprintf(error,"curl: (%d) %s\n",local_260,pcVar7);\n  }\nLAB_000268c6:\n  glob_cleanup(glob_00);\n  *urlnum = 1;\n  goto LAB_000268dc;\n}" type_identifier (function_declarator "glob_url(URLGlob **glob,char *url,ulong *urlnum,FILE *error)" identifier (parameter_list "(URLGlob **glob,char *url,ulong *urlnum,FILE *error)" ( (parameter_declaration "URLGlob **glob" type_identifier (pointer_declarator "**glob" * (pointer_declarator "*glob" * identifier))) , (parameter_declaration "char *url" primitive_type (pointer_declarator "*url" * identifier)) , (parameter_declaration "ulong *urlnum" type_identifier (pointer_declarator "*urlnum" * identifier)) , (parameter_declaration "FILE *error" type_identifier (pointer_declarator "*error" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  size_t sVar4;\n  char *pcVar5;\n  URLGlob *glob_00;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  ulong uVar9;\n  ulong uVar10;\n  char **ppcVar11;\n  int *piVar12;\n  uint uVar13;\n  byte *pbVar14;\n  URLPattern *pUVar15;\n  byte *pbVar16;\n  size_t sVar17;\n  byte *pbVar18;\n  uint uVar19;\n  byte *pbVar20;\n  size_t __n;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char min_c;\n  char max_c;\n  char end_c;\n  char *endp;\n  char text [512];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  *glob = (URLGlob *)0x0;\n  sVar4 = strlen(url);\n  pcVar5 = (char *)malloc(sVar4 + 1);\n  if (pcVar5 == (char *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *pcVar5 = '\0';\n    glob_00 = (URLGlob *)calloc(1,0xb08);\n    if (glob_00 != (URLGlob *)0x0) {\n      glob_00->urllen = sVar4;\n      glob_00->glob_buffer = pcVar5;\n      local_264 = (byte *)0x1;\n      local_268 = (byte *)url;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      } while (uVar19 < 100);\n      goto LAB_0002654a;\n    }\n    free(pcVar5);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return (CURLcode)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar16) {\n    pcVar5 = "empty string within braces";\nLAB_0002650e:\n    glob_00->error = pcVar5;\n    local_260 = (byte *)0x3;\n    sVar17 = glob_00->size;\n    glob_00->pos = (size_t)pbVar18;\n    local_264 = pbVar18;\n    goto LAB_00026538;\n  }\n  uVar19 = (pUVar15->content).Set.size + 1;\n  if (uVar19 == 0) {\n    local_24c = 0;\n    uVar13 = local_24c;\n  }\n  else {\n    uVar13 = local_24c * uVar19;\n    if ((local_24c * uVar19) / uVar19 != local_24c) {\n      glob_00->pos = 0;\n      glob_00->error = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar19 = glob_00->size + 1;\n      glob_00->size = uVar19;\n      local_264 = pbVar18;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar13;\n  *pbVar14 = 0;\n  ppcVar11 = (pUVar15->content).Set.elements;\n  if (ppcVar11 == (char **)0x0) {\n    ppcVar11 = (char **)malloc(4);\n    (pUVar15->content).Set.elements = ppcVar11;\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n  }\n  else {\n    ppcVar11 = (char **)realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4);\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n    (pUVar15->content).Set.elements = ppcVar11;\n  }\n  iVar8 = (pUVar15->content).Set.size;\n  pcVar5 = strdup(glob_00->glob_buffer);\n  ppcVar11[iVar8] = pcVar5;\n  if (pcVar5 != (char *)0x0) {\n    pbVar18 = pbVar16 + 1;\n    (pUVar15->content).Set.size = iVar8 + 1;\n    if (*pbVar16 == 0x7d) goto LAB_00026cc0;\n    pbVar14 = (byte *)glob_00->glob_buffer;\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  sVar17 = glob_00->size;\n  glob_00->pos = 0;\n  glob_00->error = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar18;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  sVar17 = glob_00->size;\n  local_268 = pbVar18;\nLAB_00026538:\n  uVar19 = sVar17 + 1;\n  glob_00->size = uVar19;\njoined_r0x00026acd:\n  if (99 < uVar19) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  glob_00->error = "too many globs";\n  glob_00->pos = (size_t)local_264;\nLAB_000268b2:\n  if (error == (FILE *)0x0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    pcVar5 = glob_00->error;\nLAB_000269de:\n    sVar17 = glob_00->pos;\n    pcVar7 = pcVar5;\n    if (sVar17 != 0) {\n      pcVar7 = text;\n      curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4);\n    }\n    curl_mfprintf(error,"curl: (%d) %s\n",local_260,pcVar7);\n  }\nLAB_000268c6:\n  glob_cleanup(glob_00);\n  *urlnum = 1;\n  goto LAB_000268dc;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "URLGlob *glob_00;" type_identifier (pointer_declarator "*glob_00" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "char **ppcVar11;" primitive_type (pointer_declarator "**ppcVar11" * (pointer_declarator "*ppcVar11" * identifier)) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "URLPattern *pUVar15;" type_identifier (pointer_declarator "*pUVar15" * identifier) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "byte *local_268;" type_identifier (pointer_declarator "*local_268" * identifier) ;) (declaration "byte *local_264;" type_identifier (pointer_declarator "*local_264" * identifier) ;) (declaration "byte *local_260;" type_identifier (pointer_declarator "*local_260" * identifier) ;) (declaration "size_t local_25c;" primitive_type identifier ;) (declaration "uint local_258;" type_identifier identifier ;) (declaration "uint local_254;" type_identifier identifier ;) (declaration "byte *local_250;" type_identifier (pointer_declarator "*local_250" * identifier) ;) (declaration "uint local_24c;" type_identifier identifier ;) (declaration "char min_c;" primitive_type identifier ;) (declaration "char max_c;" primitive_type identifier ;) (declaration "char end_c;" primitive_type identifier ;) (declaration "char *endp;" primitive_type (pointer_declarator "*endp" * identifier) ;) (declaration "char text [512];" primitive_type (array_declarator "text [512]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*glob = (URLGlob *)0x0;" (assignment_expression "*glob = (URLGlob *)0x0" (pointer_expression "*glob" * identifier) = (cast_expression "(URLGlob *)0x0" ( (type_descriptor "URLGlob *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar4 = strlen(url);" (assignment_expression "sVar4 = strlen(url)" identifier = (call_expression "strlen(url)" identifier (argument_list "(url)" ( identifier )))) ;) (expression_statement "pcVar5 = (char *)malloc(sVar4 + 1);" (assignment_expression "pcVar5 = (char *)malloc(sVar4 + 1)" identifier = (cast_expression "(char *)malloc(sVar4 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(sVar4 + 1)" identifier (argument_list "(sVar4 + 1)" ( (binary_expression "sVar4 + 1" identifier + number_literal) ))))) ;) (if_statement "if (pcVar5 == (char *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *pcVar5 = '\0';\n    glob_00 = (URLGlob *)calloc(1,0xb08);\n    if (glob_00 != (URLGlob *)0x0) {\n      glob_00->urllen = sVar4;\n      glob_00->glob_buffer = pcVar5;\n      local_264 = (byte *)0x1;\n      local_268 = (byte *)url;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      } while (uVar19 < 100);\n      goto LAB_0002654a;\n    }\n    free(pcVar5);\n    local_260 = (byte *)0x1b;\n  }" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_260 = (byte *)0x1b;\n  }" { (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    *pcVar5 = '\0';\n    glob_00 = (URLGlob *)calloc(1,0xb08);\n    if (glob_00 != (URLGlob *)0x0) {\n      glob_00->urllen = sVar4;\n      glob_00->glob_buffer = pcVar5;\n      local_264 = (byte *)0x1;\n      local_268 = (byte *)url;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      } while (uVar19 < 100);\n      goto LAB_0002654a;\n    }\n    free(pcVar5);\n    local_260 = (byte *)0x1b;\n  }" else (compound_statement "{\n    *pcVar5 = '\0';\n    glob_00 = (URLGlob *)calloc(1,0xb08);\n    if (glob_00 != (URLGlob *)0x0) {\n      glob_00->urllen = sVar4;\n      glob_00->glob_buffer = pcVar5;\n      local_264 = (byte *)0x1;\n      local_268 = (byte *)url;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      } while (uVar19 < 100);\n      goto LAB_0002654a;\n    }\n    free(pcVar5);\n    local_260 = (byte *)0x1b;\n  }" { (expression_statement "*pcVar5 = '\0';" (assignment_expression "*pcVar5 = '\0'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "glob_00 = (URLGlob *)calloc(1,0xb08);" (assignment_expression "glob_00 = (URLGlob *)calloc(1,0xb08)" identifier = (cast_expression "(URLGlob *)calloc(1,0xb08)" ( (type_descriptor "URLGlob *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(1,0xb08)" identifier (argument_list "(1,0xb08)" ( number_literal , number_literal ))))) ;) (if_statement "if (glob_00 != (URLGlob *)0x0) {\n      glob_00->urllen = sVar4;\n      glob_00->glob_buffer = pcVar5;\n      local_264 = (byte *)0x1;\n      local_268 = (byte *)url;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      } while (uVar19 < 100);\n      goto LAB_0002654a;\n    }" if (parenthesized_expression "(glob_00 != (URLGlob *)0x0)" ( (binary_expression "glob_00 != (URLGlob *)0x0" identifier != (cast_expression "(URLGlob *)0x0" ( (type_descriptor "URLGlob *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      glob_00->urllen = sVar4;\n      glob_00->glob_buffer = pcVar5;\n      local_264 = (byte *)0x1;\n      local_268 = (byte *)url;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      } while (uVar19 < 100);\n      goto LAB_0002654a;\n    }" { (expression_statement "glob_00->urllen = sVar4;" (assignment_expression "glob_00->urllen = sVar4" (field_expression "glob_00->urllen" identifier -> field_identifier) = identifier) ;) (expression_statement "glob_00->glob_buffer = pcVar5;" (assignment_expression "glob_00->glob_buffer = pcVar5" (field_expression "glob_00->glob_buffer" identifier -> field_identifier) = identifier) ;) (expression_statement "local_264 = (byte *)0x1;" (assignment_expression "local_264 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_268 = (byte *)url;" (assignment_expression "local_268 = (byte *)url" identifier = (cast_expression "(byte *)url" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_24c = 1;" (assignment_expression "local_24c = 1" identifier = number_literal) ;) (expression_statement "local_254 = 0;" (assignment_expression "local_254 = 0" identifier = number_literal) ;) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00026300:\n      do {\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      } while (uVar19 < 100);" statement_identifier : (do_statement "do {\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      } while (uVar19 < 100);" do (compound_statement "{\n        bVar3 = *local_268;\n        if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar14 = (byte *)glob_00->glob_buffer;\n        while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }\n        if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }\n        sVar17 = glob_00->size;\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar14 = local_268 + 1;\n        iVar6 = local_254 + 1;\n        pUVar15 = glob_00->pattern + sVar17;\n        pUVar15->globindex = local_254;\n        iVar8 = Curl_isalpha((uint)local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar19 = glob_00->size + 1;\n        glob_00->size = uVar19;\n        local_268 = pbVar14;\n        local_254 = iVar6;\n      }" { (expression_statement "bVar3 = *local_268;" (assignment_expression "bVar3 = *local_268" identifier = (pointer_expression "*local_268" * identifier)) ;) (if_statement "if (bVar3 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }" if (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }" { (if_statement "if (local_260 == (byte *)0x0) {\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }" if (parenthesized_expression "(local_260 == (byte *)0x0)" ( (binary_expression "local_260 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *urlnum = local_24c;\n            *glob = glob_00;\n            goto LAB_000268dc;\n          }" { (expression_statement "*urlnum = local_24c;" (assignment_expression "*urlnum = local_24c" (pointer_expression "*urlnum" * identifier) = identifier) ;) (expression_statement "*glob = glob_00;" (assignment_expression "*glob = glob_00" (pointer_expression "*glob" * identifier) = identifier) ;) (goto_statement "goto LAB_000268dc;" goto statement_identifier ;) })) (labeled_statement "LAB_00026f4d:\n          if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;" statement_identifier : (if_statement "if ((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))\n          goto LAB_000268c6;" if (parenthesized_expression "((error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0))" ( (binary_expression "(error == (FILE *)0x0) || (pcVar5 = glob_00->error, pcVar5 == (char *)0x0)" (parenthesized_expression "(error == (FILE *)0x0)" ( (binary_expression "error == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar5 = glob_00->error, pcVar5 == (char *)0x0)" ( (comma_expression "pcVar5 = glob_00->error, pcVar5 == (char *)0x0" (assignment_expression "pcVar5 = glob_00->error" identifier = (field_expression "glob_00->error" identifier -> field_identifier)) , (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000268c6;" goto statement_identifier ;))) (goto_statement "goto LAB_000269de;" goto statement_identifier ;) })) (if_statement "if (local_260 != (byte *)0x0) goto LAB_00026f4d;" if (parenthesized_expression "(local_260 != (byte *)0x0)" ( (binary_expression "local_260 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026f4d;" goto statement_identifier ;)) (expression_statement "local_25c = 0;" (assignment_expression "local_25c = 0" identifier = number_literal) ;) (expression_statement "pbVar14 = (byte *)glob_00->glob_buffer;" (assignment_expression "pbVar14 = (byte *)glob_00->glob_buffer" identifier = (cast_expression "(byte *)glob_00->glob_buffer" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "glob_00->glob_buffer" identifier -> field_identifier))) ;) (while_statement "while ((bVar3 != 0 && (bVar3 != 0x7b))) {\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }" while (parenthesized_expression "((bVar3 != 0 && (bVar3 != 0x7b)))" ( (parenthesized_expression "(bVar3 != 0 && (bVar3 != 0x7b))" ( (binary_expression "bVar3 != 0 && (bVar3 != 0x7b)" (binary_expression "bVar3 != 0" identifier != number_literal) && (parenthesized_expression "(bVar3 != 0x7b)" ( (binary_expression "bVar3 != 0x7b" identifier != number_literal) ))) )) )) (compound_statement "{\n          if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }\n          pbVar14 = pbVar16;\n          local_268 = pbVar18;\n          bVar3 = *pbVar18;\n        }" { (if_statement "if (bVar3 == 0x5b) {\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }\n          else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }" if (parenthesized_expression "(bVar3 == 0x5b)" ( (binary_expression "bVar3 == 0x5b" identifier == number_literal) )) (compound_statement "{\n            uVar19 = 0;\n            sVar4 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }\n            if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar14,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar16 = pbVar14 + __n;\n            pbVar18 = local_268 + __n;\n          }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "sVar4 = 1;" (assignment_expression "sVar4 = 1" identifier = number_literal) ;) (while_statement "while( true ) {\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));\n              if (bVar3 != 0x3a) break;\n              uVar19 = uVar19 + 1;\n            }" { (do_statement "do {\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              } while ((bVar3 == 0x2e) || (bVar3 == 0x25));" do (compound_statement "{\n                do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);\n              }" { (do_statement "do {\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                } while (iVar6 != 0);" do (compound_statement "{\n                  __n = sVar4 + 1;\n                  bVar3 = local_268[sVar4];\n                  iVar6 = Curl_isalnum((uint)bVar3);\n                  sVar4 = __n;\n                }" { (expression_statement "__n = sVar4 + 1;" (assignment_expression "__n = sVar4 + 1" identifier = (binary_expression "sVar4 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = local_268[sVar4];" (assignment_expression "bVar3 = local_268[sVar4]" identifier = (subscript_expression "local_268[sVar4]" identifier [ identifier ])) ;) (expression_statement "iVar6 = Curl_isalnum((uint)bVar3);" (assignment_expression "iVar6 = Curl_isalnum((uint)bVar3)" identifier = (call_expression "Curl_isalnum((uint)bVar3)" identifier (argument_list "((uint)bVar3)" ( (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "sVar4 = __n;" (assignment_expression "sVar4 = __n" identifier = identifier) ;) }) while (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) ;) }) while (parenthesized_expression "((bVar3 == 0x2e) || (bVar3 == 0x25))" ( (binary_expression "(bVar3 == 0x2e) || (bVar3 == 0x25)" (parenthesized_expression "(bVar3 == 0x2e)" ( (binary_expression "bVar3 == 0x2e" identifier == number_literal) )) || (parenthesized_expression "(bVar3 == 0x25)" ( (binary_expression "bVar3 == 0x25" identifier == number_literal) ))) )) ;) (if_statement "if (bVar3 != 0x3a) break;" if (parenthesized_expression "(bVar3 != 0x3a)" ( (binary_expression "bVar3 != 0x3a" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar3 == 0x5d) {\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" if (parenthesized_expression "(bVar3 == 0x5d)" ( (binary_expression "bVar3 == 0x5d" identifier == number_literal) )) (compound_statement "{\n              if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }" { (if_statement "if ((uVar19 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;" if (parenthesized_expression "((uVar19 < 2) && (local_268[1] == 0x5d))" ( (binary_expression "(uVar19 < 2) && (local_268[1] == 0x5d)" (parenthesized_expression "(uVar19 < 2)" ( (binary_expression "uVar19 < 2" identifier < number_literal) )) && (parenthesized_expression "(local_268[1] == 0x5d)" ( (binary_expression "local_268[1] == 0x5d" (subscript_expression "local_268[1]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_0002657b;" goto statement_identifier ;)) (if_statement "if (__n == 0) break;" if (parenthesized_expression "(__n == 0)" ( (binary_expression "__n == 0" identifier == number_literal) )) (break_statement "break;" break ;)) }) (else_clause "else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" else (compound_statement "{\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" { (if_statement "if (local_268[1] != 0x5d) break;" if (parenthesized_expression "(local_268[1] != 0x5d)" ( (binary_expression "local_268[1] != 0x5d" (subscript_expression "local_268[1]" identifier [ number_literal ]) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0002657b:\n              __n = 2;" statement_identifier : (expression_statement "__n = 2;" (assignment_expression "__n = 2" identifier = number_literal) ;)) }))) (expression_statement "memcpy(pbVar14,local_268,__n);" (call_expression "memcpy(pbVar14,local_268,__n)" identifier (argument_list "(pbVar14,local_268,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_25c = local_25c + __n;" (assignment_expression "local_25c = local_25c + __n" identifier = (binary_expression "local_25c + __n" identifier + identifier)) ;) (expression_statement "pbVar16 = pbVar14 + __n;" (assignment_expression "pbVar16 = pbVar14 + __n" identifier = (binary_expression "pbVar14 + __n" identifier + identifier)) ;) (expression_statement "pbVar18 = local_268 + __n;" (assignment_expression "pbVar18 = local_268 + __n" identifier = (binary_expression "local_268 + __n" identifier + identifier)) ;) }) (else_clause "else {\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }" else (compound_statement "{\n            if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }\n            pbVar18 = local_268 + 1;\n            pbVar20 = local_264 + 1;\n            if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar16 = pbVar14 + 1;\n            *pbVar14 = bVar3;\n            local_264 = pbVar20;\n          }" { (if_statement "if ((bVar3 & 0xdf) == 0x5d) {\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }" if (parenthesized_expression "((bVar3 & 0xdf) == 0x5d)" ( (binary_expression "(bVar3 & 0xdf) == 0x5d" (parenthesized_expression "(bVar3 & 0xdf)" ( (binary_expression "bVar3 & 0xdf" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              glob_00->error = "unmatched close brace/bracket";\n              glob_00->pos = (size_t)local_264;\n              goto LAB_000268b2;\n            }" { (expression_statement "glob_00->error = "unmatched close brace/bracket";" (assignment_expression "glob_00->error = "unmatched close brace/bracket"" (field_expression "glob_00->error" identifier -> field_identifier) = (string_literal ""unmatched close brace/bracket"" " string_content ")) ;) (expression_statement "glob_00->pos = (size_t)local_264;" (assignment_expression "glob_00->pos = (size_t)local_264" (field_expression "glob_00->pos" identifier -> field_identifier) = (cast_expression "(size_t)local_264" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_000268b2;" goto statement_identifier ;) })) (expression_statement "pbVar18 = local_268 + 1;" (assignment_expression "pbVar18 = local_268 + 1" identifier = (binary_expression "local_268 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = local_264 + 1;" (assignment_expression "pbVar20 = local_264 + 1" identifier = (binary_expression "local_264 + 1" identifier + number_literal)) ;) (if_statement "if ((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }" if (parenthesized_expression "((bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0))" ( (binary_expression "(bVar3 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)" (parenthesized_expression "(bVar3 == 0x5c)" ( (binary_expression "bVar3 == 0x5c" identifier == number_literal) )) && (parenthesized_expression "(((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)" ( (binary_expression "((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0" (parenthesized_expression "((local_268[1] & 0xdf) + 0xa5 & 0xfd)" ( (binary_expression "(local_268[1] & 0xdf) + 0xa5 & 0xfd" (binary_expression "(local_268[1] & 0xdf) + 0xa5" (parenthesized_expression "(local_268[1] & 0xdf)" ( (binary_expression "local_268[1] & 0xdf" (subscript_expression "local_268[1]" identifier [ number_literal ]) & number_literal) )) + number_literal) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              pbVar18 = local_268 + 2;\n              pbVar20 = local_264 + 2;\n              bVar3 = local_268[1];\n            }" { (expression_statement "pbVar18 = local_268 + 2;" (assignment_expression "pbVar18 = local_268 + 2" identifier = (binary_expression "local_268 + 2" identifier + number_literal)) ;) (expression_statement "pbVar20 = local_264 + 2;" (assignment_expression "pbVar20 = local_264 + 2" identifier = (binary_expression "local_264 + 2" identifier + number_literal)) ;) (expression_statement "bVar3 = local_268[1];" (assignment_expression "bVar3 = local_268[1]" identifier = (subscript_expression "local_268[1]" identifier [ number_literal ])) ;) })) (expression_statement "local_25c = local_25c + 1;" (assignment_expression "local_25c = local_25c + 1" identifier = (binary_expression "local_25c + 1" identifier + number_literal)) ;) (expression_statement "pbVar16 = pbVar14 + 1;" (assignment_expression "pbVar16 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar14 = bVar3;" (assignment_expression "*pbVar14 = bVar3" (pointer_expression "*pbVar14" * identifier) = identifier) ;) (expression_statement "local_264 = pbVar20;" (assignment_expression "local_264 = pbVar20" identifier = identifier) ;) }))) (expression_statement "pbVar14 = pbVar16;" (assignment_expression "pbVar14 = pbVar16" identifier = identifier) ;) (expression_statement "local_268 = pbVar18;" (assignment_expression "local_268 = pbVar18" identifier = identifier) ;) (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) })) (if_statement "if (local_25c != 0) {\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }" if (parenthesized_expression "(local_25c != 0)" ( (binary_expression "local_25c != 0" identifier != number_literal) )) (compound_statement "{\n          *pbVar14 = 0;\n          sVar17 = glob_00->size;\n          pcVar5 = glob_00->glob_buffer;\n          pUVar15 = glob_00->pattern + sVar17;\n          pUVar15->type = UPTSet;\n          (pUVar15->content).Set.size = 1;\n          (pUVar15->content).Set.ptr_s = 0;\n          pUVar15->globindex = -1;\n          ppcVar11 = (char **)malloc(4);\n          (pUVar15->content).Set.elements = ppcVar11;\n          if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }\n          goto joined_r0x00026acd;\n        }" { (expression_statement "*pbVar14 = 0;" (assignment_expression "*pbVar14 = 0" (pointer_expression "*pbVar14" * identifier) = number_literal) ;) (expression_statement "sVar17 = glob_00->size;" (assignment_expression "sVar17 = glob_00->size" identifier = (field_expression "glob_00->size" identifier -> field_identifier)) ;) (expression_statement "pcVar5 = glob_00->glob_buffer;" (assignment_expression "pcVar5 = glob_00->glob_buffer" identifier = (field_expression "glob_00->glob_buffer" identifier -> field_identifier)) ;) (expression_statement "pUVar15 = glob_00->pattern + sVar17;" (assignment_expression "pUVar15 = glob_00->pattern + sVar17" identifier = (binary_expression "glob_00->pattern + sVar17" (field_expression "glob_00->pattern" identifier -> field_identifier) + identifier)) ;) (expression_statement "pUVar15->type = UPTSet;" (assignment_expression "pUVar15->type = UPTSet" (field_expression "pUVar15->type" identifier -> field_identifier) = identifier) ;) (expression_statement "(pUVar15->content).Set.size = 1;" (assignment_expression "(pUVar15->content).Set.size = 1" (field_expression "(pUVar15->content).Set.size" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pUVar15->content).Set.ptr_s = 0;" (assignment_expression "(pUVar15->content).Set.ptr_s = 0" (field_expression "(pUVar15->content).Set.ptr_s" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "pUVar15->globindex = -1;" (assignment_expression "pUVar15->globindex = -1" (field_expression "pUVar15->globindex" identifier -> field_identifier) = number_literal) ;) (expression_statement "ppcVar11 = (char **)malloc(4);" (assignment_expression "ppcVar11 = (char **)malloc(4)" identifier = (cast_expression "(char **)malloc(4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "malloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "(pUVar15->content).Set.elements = ppcVar11;" (assignment_expression "(pUVar15->content).Set.elements = ppcVar11" (field_expression "(pUVar15->content).Set.elements" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (ppcVar11 == (char **)0x0) {\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }\n          else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }" if (parenthesized_expression "(ppcVar11 == (char **)0x0)" ( (binary_expression "ppcVar11 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_00026900:\n            uVar19 = sVar17 + 1;\n            glob_00->pos = 0;\n            glob_00->error = "out of memory";\n            local_260 = (byte *)0x1b;\n            glob_00->size = uVar19;\n          }" { (labeled_statement "LAB_00026900:\n            uVar19 = sVar17 + 1;" statement_identifier : (expression_statement "uVar19 = sVar17 + 1;" (assignment_expression "uVar19 = sVar17 + 1" identifier = (binary_expression "sVar17 + 1" identifier + number_literal)) ;)) (expression_statement "glob_00->pos = 0;" (assignment_expression "glob_00->pos = 0" (field_expression "glob_00->pos" identifier -> field_identifier) = number_literal) ;) (expression_statement "glob_00->error = "out of memory";" (assignment_expression "glob_00->error = "out of memory"" (field_expression "glob_00->error" identifier -> field_identifier) = (string_literal ""out of memory"" " string_content ")) ;) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "glob_00->size = uVar19;" (assignment_expression "glob_00->size = uVar19" (field_expression "glob_00->size" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }" else (compound_statement "{\n            pcVar7 = (char *)malloc(local_25c + 1);\n            *ppcVar11 = pcVar7;\n            if (pcVar7 == (char *)0x0) goto LAB_00026900;\n            uVar19 = sVar17 + 1;\n            memcpy(pcVar7,pcVar5,local_25c);\n            glob_00->size = uVar19;\n            pcVar7[local_25c] = '\0';\n          }" { (expression_statement "pcVar7 = (char *)malloc(local_25c + 1);" (assignment_expression "pcVar7 = (char *)malloc(local_25c + 1)" identifier = (cast_expression "(char *)malloc(local_25c + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(local_25c + 1)" identifier (argument_list "(local_25c + 1)" ( (binary_expression "local_25c + 1" identifier + number_literal) ))))) ;) (expression_statement "*ppcVar11 = pcVar7;" (assignment_expression "*ppcVar11 = pcVar7" (pointer_expression "*ppcVar11" * identifier) = identifier) ;) (if_statement "if (pcVar7 == (char *)0x0) goto LAB_00026900;" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026900;" goto statement_identifier ;)) (expression_statement "uVar19 = sVar17 + 1;" (assignment_expression "uVar19 = sVar17 + 1" identifier = (binary_expression "sVar17 + 1" identifier + number_literal)) ;) (expression_statement "memcpy(pcVar7,pcVar5,local_25c);" (call_expression "memcpy(pcVar7,pcVar5,local_25c)" identifier (argument_list "(pcVar7,pcVar5,local_25c)" ( identifier , identifier , identifier ))) ;) (expression_statement "glob_00->size = uVar19;" (assignment_expression "glob_00->size = uVar19" (field_expression "glob_00->size" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar7[local_25c] = '\0';" (assignment_expression "pcVar7[local_25c] = '\0'" (subscript_expression "pcVar7[local_25c]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (goto_statement "goto joined_r0x00026acd;" goto statement_identifier ;) })) (expression_statement "sVar17 = glob_00->size;" (assignment_expression "sVar17 = glob_00->size" identifier = (field_expression "glob_00->size" identifier -> field_identifier)) ;) (if_statement "if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }" if (parenthesized_expression "(*local_268 != 0x5b)" ( (binary_expression "*local_268 != 0x5b" (pointer_expression "*local_268" * identifier) != number_literal) )) (compound_statement "{\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }" { (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }" if (parenthesized_expression "(*local_268 == 0x7b)" ( (binary_expression "*local_268 == 0x7b" (pointer_expression "*local_268" * identifier) == number_literal) )) (compound_statement "{\n            local_268 = local_268 + 1;\n            pUVar15 = glob_00->pattern + sVar17;\n            iVar6 = local_254 + 1;\n            pbVar14 = (byte *)glob_00->glob_buffer;\n            pUVar15->globindex = local_254;\n            pUVar15->type = UPTSet;\n            (pUVar15->content).Set.size = 0;\n            (pUVar15->content).Set.ptr_s = 0;\n            (pUVar15->content).Set.elements = (char **)0x0;\n            pbVar18 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar3 = *pbVar18;\n            cVar2 = bVar3 + 0xa4;\n            bVar21 = bVar3 == 0x5c;\n            pbVar16 = pbVar18;\n            if (bVar21) goto LAB_0002643a;\n            do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }" { (expression_statement "local_268 = local_268 + 1;" (assignment_expression "local_268 = local_268 + 1" identifier = (binary_expression "local_268 + 1" identifier + number_literal)) ;) (expression_statement "pUVar15 = glob_00->pattern + sVar17;" (assignment_expression "pUVar15 = glob_00->pattern + sVar17" identifier = (binary_expression "glob_00->pattern + sVar17" (field_expression "glob_00->pattern" identifier -> field_identifier) + identifier)) ;) (expression_statement "iVar6 = local_254 + 1;" (assignment_expression "iVar6 = local_254 + 1" identifier = (binary_expression "local_254 + 1" identifier + number_literal)) ;) (expression_statement "pbVar14 = (byte *)glob_00->glob_buffer;" (assignment_expression "pbVar14 = (byte *)glob_00->glob_buffer" identifier = (cast_expression "(byte *)glob_00->glob_buffer" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "glob_00->glob_buffer" identifier -> field_identifier))) ;) (expression_statement "pUVar15->globindex = local_254;" (assignment_expression "pUVar15->globindex = local_254" (field_expression "pUVar15->globindex" identifier -> field_identifier) = identifier) ;) (expression_statement "pUVar15->type = UPTSet;" (assignment_expression "pUVar15->type = UPTSet" (field_expression "pUVar15->type" identifier -> field_identifier) = identifier) ;) (expression_statement "(pUVar15->content).Set.size = 0;" (assignment_expression "(pUVar15->content).Set.size = 0" (field_expression "(pUVar15->content).Set.size" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pUVar15->content).Set.ptr_s = 0;" (assignment_expression "(pUVar15->content).Set.ptr_s = 0" (field_expression "(pUVar15->content).Set.ptr_s" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pUVar15->content).Set.elements = (char **)0x0;" (assignment_expression "(pUVar15->content).Set.elements = (char **)0x0" (field_expression "(pUVar15->content).Set.elements" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pbVar18 = local_268;" (assignment_expression "pbVar18 = local_268" identifier = identifier) ;) (expression_statement "local_260 = local_264;" (assignment_expression "local_260 = local_264" identifier = identifier) ;) (labeled_statement "LAB_00026401:\n            local_260 = local_260 + 1;" statement_identifier : (expression_statement "local_260 = local_260 + 1;" (assignment_expression "local_260 = local_260 + 1" identifier = (binary_expression "local_260 + 1" identifier + number_literal)) ;)) (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "cVar2 = bVar3 + 0xa4;" (assignment_expression "cVar2 = bVar3 + 0xa4" identifier = (binary_expression "bVar3 + 0xa4" identifier + number_literal)) ;) (expression_statement "bVar21 = bVar3 == 0x5c;" (assignment_expression "bVar21 = bVar3 == 0x5c" identifier = (binary_expression "bVar3 == 0x5c" identifier == number_literal)) ;) (expression_statement "pbVar16 = pbVar18;" (assignment_expression "pbVar16 = pbVar18" identifier = identifier) ;) (if_statement "if (bVar21) goto LAB_0002643a;" if (parenthesized_expression "(bVar21)" ( identifier )) (goto_statement "goto LAB_0002643a;" goto statement_identifier ;)) (do_statement "do {\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            } while( true );" do (compound_statement "{\n              pbVar18 = local_260;\n              local_254 = iVar6;\n              if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar16 = pbVar16 + 1;\n              pbVar20 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }\n            }" { (expression_statement "pbVar18 = local_260;" (assignment_expression "pbVar18 = local_260" identifier = identifier) ;) (expression_statement "local_254 = iVar6;" (assignment_expression "local_254 = iVar6" identifier = identifier) ;) (if_statement "if (bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0') {\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" if (parenthesized_expression "(bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0')" ( (binary_expression "bVar21 || SBORROW1(bVar3,'\\') != cVar2 < '\0'" identifier || (binary_expression "SBORROW1(bVar3,'\\') != cVar2 < '\0'" (call_expression "SBORROW1(bVar3,'\\')" identifier (argument_list "(bVar3,'\\')" ( identifier , (char_literal "'\\'" ' escape_sequence ') ))) != (binary_expression "cVar2 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')))) )) (compound_statement "{\n                uVar13 = local_24c;\n                if (bVar3 == 0x2c) goto LAB_00026940;\n                if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }\n              }" { (expression_statement "uVar13 = local_24c;" (assignment_expression "uVar13 = local_24c" identifier = identifier) ;) (if_statement "if (bVar3 == 0x2c) goto LAB_00026940;" if (parenthesized_expression "(bVar3 == 0x2c)" ( (binary_expression "bVar3 == 0x2c" identifier == number_literal) )) (goto_statement "goto LAB_00026940;" goto statement_identifier ;)) (if_statement "if (bVar3 == 0x5b) {\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }" if (parenthesized_expression "(bVar3 == 0x5b)" ( (binary_expression "bVar3 == 0x5b" identifier == number_literal) )) (compound_statement "{\nLAB_00026ae0:\n                  pcVar5 = "nested brace";\n                  goto LAB_0002650e;\n                }" { (labeled_statement "LAB_00026ae0:\n                  pcVar5 = "nested brace";" statement_identifier : (expression_statement "pcVar5 = "nested brace";" (assignment_expression "pcVar5 = "nested brace"" identifier = (string_literal ""nested brace"" " string_content ")) ;)) (goto_statement "goto LAB_0002650e;" goto statement_identifier ;) })) (if_statement "if (bVar3 == 0) {\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }" if (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                  glob_00->error = "unmatched brace";\n                  glob_00->pos = (size_t)local_264;\n                  goto LAB_00026aa3;\n                }" { (expression_statement "glob_00->error = "unmatched brace";" (assignment_expression "glob_00->error = "unmatched brace"" (field_expression "glob_00->error" identifier -> field_identifier) = (string_literal ""unmatched brace"" " string_content ")) ;) (expression_statement "glob_00->pos = (size_t)local_264;" (assignment_expression "glob_00->pos = (size_t)local_264" (field_expression "glob_00->pos" identifier -> field_identifier) = (cast_expression "(size_t)local_264" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_00026aa3;" goto statement_identifier ;) })) }) (else_clause "else {\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" else (compound_statement "{\n                if (bVar3 == 0x7b) goto LAB_00026ae0;\n                if (bVar3 == 0x7d) goto LAB_00026a58;\n                if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" { (if_statement "if (bVar3 == 0x7b) goto LAB_00026ae0;" if (parenthesized_expression "(bVar3 == 0x7b)" ( (binary_expression "bVar3 == 0x7b" identifier == number_literal) )) (goto_statement "goto LAB_00026ae0;" goto statement_identifier ;)) (if_statement "if (bVar3 == 0x7d) goto LAB_00026a58;" if (parenthesized_expression "(bVar3 == 0x7d)" ( (binary_expression "bVar3 == 0x7d" identifier == number_literal) )) (goto_statement "goto LAB_00026a58;" goto statement_identifier ;)) (if_statement "if (bVar3 == 0x5d) {\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }" if (parenthesized_expression "(bVar3 == 0x5d)" ( (binary_expression "bVar3 == 0x5d" identifier == number_literal) )) (compound_statement "{\n                  pcVar5 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }" { (expression_statement "pcVar5 = "unexpected close bracket";" (assignment_expression "pcVar5 = "unexpected close bracket"" identifier = (string_literal ""unexpected close bracket"" " string_content ")) ;) (goto_statement "goto LAB_0002650e;" goto statement_identifier ;) })) }))) (expression_statement "pbVar16 = pbVar16 + 1;" (assignment_expression "pbVar16 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = local_260 + 1;" (assignment_expression "pbVar20 = local_260 + 1" identifier = (binary_expression "local_260 + 1" identifier + number_literal)) ;) (while_statement "while( true ) {\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                local_260 = pbVar20;\n                *pbVar14 = bVar3;\n                bVar3 = *pbVar16;\n                pbVar14 = pbVar14 + 1;\n                cVar2 = bVar3 + 0xa4;\n                bVar21 = cVar2 == '\0';\n                pbVar18 = pbVar16;\n                if (!bVar21) break;\nLAB_0002643a:\n                pbVar16 = pbVar18 + 1;\n                pbVar20 = local_260 + 1;\n                if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }\n              }" { (expression_statement "local_260 = pbVar20;" (assignment_expression "local_260 = pbVar20" identifier = identifier) ;) (expression_statement "*pbVar14 = bVar3;" (assignment_expression "*pbVar14 = bVar3" (pointer_expression "*pbVar14" * identifier) = identifier) ;) (expression_statement "bVar3 = *pbVar16;" (assignment_expression "bVar3 = *pbVar16" identifier = (pointer_expression "*pbVar16" * identifier)) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = bVar3 + 0xa4;" (assignment_expression "cVar2 = bVar3 + 0xa4" identifier = (binary_expression "bVar3 + 0xa4" identifier + number_literal)) ;) (expression_statement "bVar21 = cVar2 == '\0';" (assignment_expression "bVar21 = cVar2 == '\0'" identifier = (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "pbVar18 = pbVar16;" (assignment_expression "pbVar18 = pbVar16" identifier = identifier) ;) (if_statement "if (!bVar21) break;" if (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0002643a:\n                pbVar16 = pbVar18 + 1;" statement_identifier : (expression_statement "pbVar16 = pbVar18 + 1;" (assignment_expression "pbVar16 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;)) (expression_statement "pbVar20 = local_260 + 1;" (assignment_expression "pbVar20 = local_260 + 1" identifier = (binary_expression "local_260 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar18[1] != 0) {\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }" if (parenthesized_expression "(pbVar18[1] != 0)" ( (binary_expression "pbVar18[1] != 0" (subscript_expression "pbVar18[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  pbVar16 = pbVar18 + 2;\n                  bVar3 = pbVar18[1];\n                  pbVar20 = local_260 + 2;\n                }" { (expression_statement "pbVar16 = pbVar18 + 2;" (assignment_expression "pbVar16 = pbVar18 + 2" identifier = (binary_expression "pbVar18 + 2" identifier + number_literal)) ;) (expression_statement "bVar3 = pbVar18[1];" (assignment_expression "bVar3 = pbVar18[1]" identifier = (subscript_expression "pbVar18[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar20 = local_260 + 2;" (assignment_expression "pbVar20 = local_260 + 2" identifier = (binary_expression "local_260 + 2" identifier + number_literal)) ;) })) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) })) (expression_statement "local_264 = local_264 + 1;" (assignment_expression "local_264 = local_264 + 1" identifier = (binary_expression "local_264 + 1" identifier + number_literal)) ;) (expression_statement "pbVar14 = local_268 + 1;" (assignment_expression "pbVar14 = local_268 + 1" identifier = (binary_expression "local_268 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = local_254 + 1;" (assignment_expression "iVar6 = local_254 + 1" identifier = (binary_expression "local_254 + 1" identifier + number_literal)) ;) (expression_statement "pUVar15 = glob_00->pattern + sVar17;" (assignment_expression "pUVar15 = glob_00->pattern + sVar17" identifier = (binary_expression "glob_00->pattern + sVar17" (field_expression "glob_00->pattern" identifier -> field_identifier) + identifier)) ;) (expression_statement "pUVar15->globindex = local_254;" (assignment_expression "pUVar15->globindex = local_254" (field_expression "pUVar15->globindex" identifier -> field_identifier) = identifier) ;) (expression_statement "iVar8 = Curl_isalpha((uint)local_268[1]);" (assignment_expression "iVar8 = Curl_isalpha((uint)local_268[1])" identifier = (call_expression "Curl_isalpha((uint)local_268[1])" identifier (argument_list "((uint)local_268[1])" ( (cast_expression "(uint)local_268[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_268[1]" identifier [ number_literal ])) )))) ;) (if_statement "if (iVar8 == 0) {\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }\n        else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar8 = Curl_isdigit((uint)local_268[1]);\n          if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }\n          glob_00->error = "bad range specification";\n          glob_00->pos = (size_t)local_264;\n        }" { (expression_statement "iVar8 = Curl_isdigit((uint)local_268[1]);" (assignment_expression "iVar8 = Curl_isdigit((uint)local_268[1])" identifier = (call_expression "Curl_isdigit((uint)local_268[1])" identifier (argument_list "((uint)local_268[1])" ( (cast_expression "(uint)local_268[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_268[1]" identifier [ number_literal ])) )))) ;) (if_statement "if (iVar8 != 0) {\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            pUVar15->type = UPTNumRange;\n            (pUVar15->content).Set.ptr_s = 0;\n            if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }\n            piVar12 = __errno_location();\n            *piVar12 = 0;\n            uVar9 = strtoul((char *)pbVar14,&endp,10);\n            if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;\n            local_250 = (byte *)(endp + 1);\n            local_258 = 0;\n            bVar3 = endp[1];\n            while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }\n            iVar8 = Curl_isdigit(local_258);\n            if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar14);\n            goto LAB_000266e1;\n          }" { (expression_statement "pUVar15->type = UPTNumRange;" (assignment_expression "pUVar15->type = UPTNumRange" (field_expression "pUVar15->type" identifier -> field_identifier) = identifier) ;) (expression_statement "(pUVar15->content).Set.ptr_s = 0;" (assignment_expression "(pUVar15->content).Set.ptr_s = 0" (field_expression "(pUVar15->content).Set.ptr_s" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (local_268[1] == 0x30) {\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }" if (parenthesized_expression "(local_268[1] == 0x30)" ( (binary_expression "local_268[1] == 0x30" (subscript_expression "local_268[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              bVar3 = 0x30;\n              pbVar18 = pbVar14;\n              while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }\n            }" { (expression_statement "bVar3 = 0x30;" (assignment_expression "bVar3 = 0x30" identifier = number_literal) ;) (expression_statement "pbVar18 = pbVar14;" (assignment_expression "pbVar18 = pbVar14" identifier = identifier) ;) (while_statement "while (iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0) {\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }" while (parenthesized_expression "(iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0)" ( (comma_expression "iVar8 = Curl_isdigit((uint)bVar3), iVar8 != 0" (assignment_expression "iVar8 = Curl_isdigit((uint)bVar3)" identifier = (call_expression "Curl_isdigit((uint)bVar3)" identifier (argument_list "((uint)bVar3)" ( (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier) )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )) (compound_statement "{\n                pbVar18 = pbVar18 + 1;\n                piVar12 = &(pUVar15->content).Set.ptr_s;\n                *piVar12 = *piVar12 + 1;\n                bVar3 = *pbVar18;\n              }" { (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "piVar12 = &(pUVar15->content).Set.ptr_s;" (assignment_expression "piVar12 = &(pUVar15->content).Set.ptr_s" identifier = (pointer_expression "&(pUVar15->content).Set.ptr_s" & (field_expression "(pUVar15->content).Set.ptr_s" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "*piVar12 = *piVar12 + 1;" (assignment_expression "*piVar12 = *piVar12 + 1" (pointer_expression "*piVar12" * identifier) = (binary_expression "*piVar12 + 1" (pointer_expression "*piVar12" * identifier) + number_literal)) ;) (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) })) })) (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar12 = 0;" (assignment_expression "*piVar12 = 0" (pointer_expression "*piVar12" * identifier) = number_literal) ;) (expression_statement "uVar9 = strtoul((char *)pbVar14,&endp,10);" (assignment_expression "uVar9 = strtoul((char *)pbVar14,&endp,10)" identifier = (call_expression "strtoul((char *)pbVar14,&endp,10)" identifier (argument_list "((char *)pbVar14,&endp,10)" ( (cast_expression "(char *)pbVar14" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&endp" & identifier) , number_literal )))) ;) (if_statement "if (((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')) goto LAB_000266e1;" if (parenthesized_expression "(((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-'))" ( (binary_expression "((*piVar12 != 0) || (pbVar14 == (byte *)endp)) || (*endp != '-')" (parenthesized_expression "((*piVar12 != 0) || (pbVar14 == (byte *)endp))" ( (binary_expression "(*piVar12 != 0) || (pbVar14 == (byte *)endp)" (parenthesized_expression "(*piVar12 != 0)" ( (binary_expression "*piVar12 != 0" (pointer_expression "*piVar12" * identifier) != number_literal) )) || (parenthesized_expression "(pbVar14 == (byte *)endp)" ( (binary_expression "pbVar14 == (byte *)endp" identifier == (cast_expression "(byte *)endp" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) || (parenthesized_expression "(*endp != '-')" ( (binary_expression "*endp != '-'" (pointer_expression "*endp" * identifier) != (char_literal "'-'" ' character ')) ))) )) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;)) (expression_statement "local_250 = (byte *)(endp + 1);" (assignment_expression "local_250 = (byte *)(endp + 1)" identifier = (cast_expression "(byte *)(endp + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(endp + 1)" ( (binary_expression "endp + 1" identifier + number_literal) )))) ;) (expression_statement "local_258 = 0;" (assignment_expression "local_258 = 0" identifier = number_literal) ;) (expression_statement "bVar3 = endp[1];" (assignment_expression "bVar3 = endp[1]" identifier = (subscript_expression "endp[1]" identifier [ number_literal ])) ;) (while_statement "while (bVar3 != 0) {\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }" while (parenthesized_expression "(bVar3 != 0)" ( (binary_expression "bVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar3 = *local_250;\n            }" { (if_statement "if ((bVar3 != 0x20) && (bVar3 != 9)) {\n                local_258 = (uint)bVar3;\n                break;\n              }" if (parenthesized_expression "((bVar3 != 0x20) && (bVar3 != 9))" ( (binary_expression "(bVar3 != 0x20) && (bVar3 != 9)" (parenthesized_expression "(bVar3 != 0x20)" ( (binary_expression "bVar3 != 0x20" identifier != number_literal) )) && (parenthesized_expression "(bVar3 != 9)" ( (binary_expression "bVar3 != 9" identifier != number_literal) ))) )) (compound_statement "{\n                local_258 = (uint)bVar3;\n                break;\n              }" { (expression_statement "local_258 = (uint)bVar3;" (assignment_expression "local_258 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (break_statement "break;" break ;) })) (expression_statement "local_250 = (byte *)((int)local_250 + 1);" (assignment_expression "local_250 = (byte *)((int)local_250 + 1)" identifier = (cast_expression "(byte *)((int)local_250 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_250 + 1)" ( (binary_expression "(int)local_250 + 1" (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar3 = *local_250;" (assignment_expression "bVar3 = *local_250" identifier = (pointer_expression "*local_250" * identifier)) ;) })) (expression_statement "iVar8 = Curl_isdigit(local_258);" (assignment_expression "iVar8 = Curl_isdigit(local_258)" identifier = (call_expression "Curl_isdigit(local_258)" identifier (argument_list "(local_258)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              *piVar12 = 0;\n              uVar10 = strtoul((char *)local_250,&endp,10);\n              if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }" { (expression_statement "*piVar12 = 0;" (assignment_expression "*piVar12 = 0" (pointer_expression "*piVar12" * identifier) = number_literal) ;) (expression_statement "uVar10 = strtoul((char *)local_250,&endp,10);" (assignment_expression "uVar10 = strtoul((char *)local_250,&endp,10)" identifier = (call_expression "strtoul((char *)local_250,&endp,10)" identifier (argument_list "((char *)local_250,&endp,10)" ( (cast_expression "(char *)local_250" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&endp" & identifier) , number_literal )))) ;) (if_statement "if (*piVar12 == 0) {\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }" if (parenthesized_expression "(*piVar12 == 0)" ( (binary_expression "*piVar12 == 0" (pointer_expression "*piVar12" * identifier) == number_literal) )) (compound_statement "{\n                if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }" { (if_statement "if (*endp == ':') {\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" if (parenthesized_expression "(*endp == ':')" ( (binary_expression "*endp == ':'" (pointer_expression "*endp" * identifier) == (char_literal "':'" ' character ')) )) (compound_statement "{\n                  local_250 = (byte *)(endp + 1);\n                  local_258 = strtoul((char *)local_250,&endp,10);\n                  if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }" { (expression_statement "local_250 = (byte *)(endp + 1);" (assignment_expression "local_250 = (byte *)(endp + 1)" identifier = (cast_expression "(byte *)(endp + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(endp + 1)" ( (binary_expression "endp + 1" identifier + number_literal) )))) ;) (expression_statement "local_258 = strtoul((char *)local_250,&endp,10);" (assignment_expression "local_258 = strtoul((char *)local_250,&endp,10)" identifier = (call_expression "strtoul((char *)local_250,&endp,10)" identifier (argument_list "((char *)local_250,&endp,10)" ( (cast_expression "(char *)local_250" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&endp" & identifier) , number_literal )))) ;) (if_statement "if (((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')) {\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }" if (parenthesized_expression "(((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']'))" ( (binary_expression "((*piVar12 == 0) && (endp != (char *)0x0)) && (*endp == ']')" (parenthesized_expression "((*piVar12 == 0) && (endp != (char *)0x0))" ( (binary_expression "(*piVar12 == 0) && (endp != (char *)0x0)" (parenthesized_expression "(*piVar12 == 0)" ( (binary_expression "*piVar12 == 0" (pointer_expression "*piVar12" * identifier) == number_literal) )) && (parenthesized_expression "(endp != (char *)0x0)" ( (binary_expression "endp != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(*endp == ']')" ( (binary_expression "*endp == ']'" (pointer_expression "*endp" * identifier) == (char_literal "']'" ' character ')) ))) )) (compound_statement "{\n                    local_268 = (byte *)(endp + 1);\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                    if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }" { (expression_statement "local_268 = (byte *)(endp + 1);" (assignment_expression "local_268 = (byte *)(endp + 1)" identifier = (cast_expression "(byte *)(endp + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(endp + 1)" ( (binary_expression "endp + 1" identifier + number_literal) )))) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar14);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar14)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar14)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar14)" ( (binary_expression "(int)local_264 - (int)pbVar14" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))) goto LAB_000266e1;" if (parenthesized_expression "(((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1))))" ( (binary_expression "((endp == (char *)0x0) || (local_258 == 0)) ||\n                       ((uVar9 == uVar10 && (local_258 != 1)))" (parenthesized_expression "((endp == (char *)0x0) || (local_258 == 0))" ( (binary_expression "(endp == (char *)0x0) || (local_258 == 0)" (parenthesized_expression "(endp == (char *)0x0)" ( (binary_expression "endp == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_258 == 0)" ( (binary_expression "local_258 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((uVar9 == uVar10 && (local_258 != 1)))" ( (parenthesized_expression "(uVar9 == uVar10 && (local_258 != 1))" ( (binary_expression "uVar9 == uVar10 && (local_258 != 1)" (binary_expression "uVar9 == uVar10" identifier == identifier) && (parenthesized_expression "(local_258 != 1)" ( (binary_expression "local_258 != 1" identifier != number_literal) ))) )) ))) )) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;)) (goto_statement "goto LAB_00026e40;" goto statement_identifier ;) })) }) (else_clause "else if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" else (if_statement "if (*endp == ']') {\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" if (parenthesized_expression "(*endp == ']')" ( (binary_expression "*endp == ']'" (pointer_expression "*endp" * identifier) == (char_literal "']'" ' character ')) )) (compound_statement "{\n                  local_258 = 1;\n                  local_268 = (byte *)(endp + 1);\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar14);\nLAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;\n                  (pUVar15->content).NumRange.min_n = uVar9;\n                  (pUVar15->content).NumRange.ptr_n = uVar9;\n                  (pUVar15->content).NumRange.max_n = uVar10;\n                  glob_00->pattern[sVar17].content.NumRange.step = local_258;\n                  uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;\n                  uVar19 = uVar13;\n                  if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" { (expression_statement "local_258 = 1;" (assignment_expression "local_258 = 1" identifier = number_literal) ;) (expression_statement "local_268 = (byte *)(endp + 1);" (assignment_expression "local_268 = (byte *)(endp + 1)" identifier = (cast_expression "(byte *)(endp + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(endp + 1)" ( (binary_expression "endp + 1" identifier + number_literal) )))) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar14);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar14)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar14)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar14)" ( (binary_expression "(int)local_264 - (int)pbVar14" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_00026e40:\n                  if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;" statement_identifier : (if_statement "if ((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))\n                  goto LAB_000266e1;" if (parenthesized_expression "((uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258))))" ( (binary_expression "(uVar9 != uVar10) && ((uVar10 < uVar9 || (uVar10 - uVar9 < local_258)))" (parenthesized_expression "(uVar9 != uVar10)" ( (binary_expression "uVar9 != uVar10" identifier != identifier) )) && (parenthesized_expression "((uVar10 < uVar9 || (uVar10 - uVar9 < local_258)))" ( (parenthesized_expression "(uVar10 < uVar9 || (uVar10 - uVar9 < local_258))" ( (binary_expression "uVar10 < uVar9 || (uVar10 - uVar9 < local_258)" (binary_expression "uVar10 < uVar9" identifier < identifier) || (parenthesized_expression "(uVar10 - uVar9 < local_258)" ( (binary_expression "uVar10 - uVar9 < local_258" (binary_expression "uVar10 - uVar9" identifier - identifier) < identifier) ))) )) ))) )) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;))) (expression_statement "(pUVar15->content).NumRange.min_n = uVar9;" (assignment_expression "(pUVar15->content).NumRange.min_n = uVar9" (field_expression "(pUVar15->content).NumRange.min_n" (field_expression "(pUVar15->content).NumRange" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pUVar15->content).NumRange.ptr_n = uVar9;" (assignment_expression "(pUVar15->content).NumRange.ptr_n = uVar9" (field_expression "(pUVar15->content).NumRange.ptr_n" (field_expression "(pUVar15->content).NumRange" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pUVar15->content).NumRange.max_n = uVar10;" (assignment_expression "(pUVar15->content).NumRange.max_n = uVar10" (field_expression "(pUVar15->content).NumRange.max_n" (field_expression "(pUVar15->content).NumRange" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "glob_00->pattern[sVar17].content.NumRange.step = local_258;" (assignment_expression "glob_00->pattern[sVar17].content.NumRange.step = local_258" (field_expression "glob_00->pattern[sVar17].content.NumRange.step" (field_expression "glob_00->pattern[sVar17].content.NumRange" (field_expression "glob_00->pattern[sVar17].content" (subscript_expression "glob_00->pattern[sVar17]" (field_expression "glob_00->pattern" identifier -> field_identifier) [ identifier ]) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1;" (assignment_expression "uVar13 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1" identifier = (binary_expression "((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258 + 1" (binary_expression "((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /\n                           local_258" (parenthesized_expression "((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n)" ( (binary_expression "(pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n" (field_expression "(pUVar15->content).Set.size" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) - (field_expression "(pUVar15->content).NumRange.min_n" (field_expression "(pUVar15->content).NumRange" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier)) )) / identifier) + number_literal)) ;) (expression_statement "uVar19 = uVar13;" (assignment_expression "uVar19 = uVar13" identifier = identifier) ;) (if_statement "if ((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))\n                  {\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }" if (parenthesized_expression "((uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c))" ( (binary_expression "(uVar13 == 0) || (uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c)" (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c)" ( (comma_expression "uVar19 = local_24c * uVar13, uVar19 / uVar13 == local_24c" (assignment_expression "uVar19 = local_24c * uVar13" identifier = (binary_expression "local_24c * uVar13" identifier * identifier)) , (binary_expression "uVar19 / uVar13 == local_24c" (binary_expression "uVar19 / uVar13" identifier / identifier) == identifier)) ))) )) (compound_statement "{\n                    sVar17 = glob_00->size;\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar6;\n                    local_24c = uVar19;\n                    goto LAB_00026538;\n                  }" { (expression_statement "sVar17 = glob_00->size;" (assignment_expression "sVar17 = glob_00->size" identifier = (field_expression "glob_00->size" identifier -> field_identifier)) ;) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_254 = iVar6;" (assignment_expression "local_254 = iVar6" identifier = identifier) ;) (expression_statement "local_24c = uVar19;" (assignment_expression "local_24c = uVar19" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) })) (goto_statement "goto LAB_00026cf0;" goto statement_identifier ;) })))) })) })) (expression_statement "local_264 = local_250 + ((int)local_264 - (int)pbVar14);" (assignment_expression "local_264 = local_250 + ((int)local_264 - (int)pbVar14)" identifier = (binary_expression "local_250 + ((int)local_264 - (int)pbVar14)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar14)" ( (binary_expression "(int)local_264 - (int)pbVar14" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;) })) (expression_statement "glob_00->error = "bad range specification";" (assignment_expression "glob_00->error = "bad range specification"" (field_expression "glob_00->error" identifier -> field_identifier) = (string_literal ""bad range specification"" " string_content ")) ;) (expression_statement "glob_00->pos = (size_t)local_264;" (assignment_expression "glob_00->pos = (size_t)local_264" (field_expression "glob_00->pos" identifier -> field_identifier) = (cast_expression "(size_t)local_264" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }" else (compound_statement "{\n          pUVar15->type = UPTCharRange;\n          iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);\n          if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          glob_00->error = "bad range";\n          glob_00->pos = (size_t)local_264;\n        }" { (expression_statement "pUVar15->type = UPTCharRange;" (assignment_expression "pUVar15->type = UPTCharRange" (field_expression "pUVar15->type" identifier -> field_identifier) = identifier) ;) (expression_statement "iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c);" (assignment_expression "iVar8 = __isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c)" identifier = (call_expression "__isoc99_sscanf(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c)" identifier (argument_list "(pbVar14,&DAT_0003f47d,&min_c,&max_c,&end_c)" ( identifier , (pointer_expression "&DAT_0003f47d" & identifier) , (pointer_expression "&min_c" & identifier) , (pointer_expression "&max_c" & identifier) , (pointer_expression "&end_c" & identifier) )))) ;) (if_statement "if (iVar8 == 3) {\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }" if (parenthesized_expression "(iVar8 == 3)" ( (binary_expression "iVar8 == 3" identifier == number_literal) )) (compound_statement "{\n            if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }" { (if_statement "if (end_c == ':') {\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" if (parenthesized_expression "(end_c == ':')" ( (binary_expression "end_c == ':'" identifier == (char_literal "':'" ' character ')) )) (compound_statement "{\n              piVar12 = __errno_location();\n              *piVar12 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),&endp,10);\n              if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }" { (expression_statement "piVar12 = __errno_location();" (assignment_expression "piVar12 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar12 = 0;" (assignment_expression "*piVar12 = 0" (pointer_expression "*piVar12" * identifier) = number_literal) ;) (expression_statement "local_254 = strtoul((char *)(local_268 + 5),&endp,10);" (assignment_expression "local_254 = strtoul((char *)(local_268 + 5),&endp,10)" identifier = (call_expression "strtoul((char *)(local_268 + 5),&endp,10)" identifier (argument_list "((char *)(local_268 + 5),&endp,10)" ( (cast_expression "(char *)(local_268 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_268 + 5)" ( (binary_expression "local_268 + 5" identifier + number_literal) ))) , (pointer_expression "&endp" & identifier) , number_literal )))) ;) (if_statement "if (((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')) {\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }" if (parenthesized_expression "(((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']'))" ( (binary_expression "((*piVar12 == 0) && (local_268 + 5 != (byte *)endp)) && (*endp == ']')" (parenthesized_expression "((*piVar12 == 0) && (local_268 + 5 != (byte *)endp))" ( (binary_expression "(*piVar12 == 0) && (local_268 + 5 != (byte *)endp)" (parenthesized_expression "(*piVar12 == 0)" ( (binary_expression "*piVar12 == 0" (pointer_expression "*piVar12" * identifier) == number_literal) )) && (parenthesized_expression "(local_268 + 5 != (byte *)endp)" ( (binary_expression "local_268 + 5 != (byte *)endp" (binary_expression "local_268 + 5" identifier + number_literal) != (cast_expression "(byte *)endp" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) && (parenthesized_expression "(*endp == ']')" ( (binary_expression "*endp == ']'" (pointer_expression "*endp" * identifier) == (char_literal "']'" ' character ')) ))) )) (compound_statement "{\n                local_268 = (byte *)(endp + 1);\n                local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }" { (expression_statement "local_268 = (byte *)(endp + 1);" (assignment_expression "local_268 = (byte *)(endp + 1)" identifier = (cast_expression "(byte *)(endp + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(endp + 1)" ( (binary_expression "endp + 1" identifier + number_literal) )))) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar14);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar14)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar14)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar14)" ( (binary_expression "(int)local_264 - (int)pbVar14" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }" if (parenthesized_expression "((local_254 != 0) && (-1 < (int)local_254))" ( (binary_expression "(local_254 != 0) && (-1 < (int)local_254)" (parenthesized_expression "(local_254 != 0)" ( (binary_expression "local_254 != 0" identifier != number_literal) )) && (parenthesized_expression "(-1 < (int)local_254)" ( (binary_expression "-1 < (int)local_254" number_literal < (cast_expression "(int)local_254" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                  if (min_c != max_c) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }" { (if_statement "if (min_c != max_c) goto LAB_00026b80;" if (parenthesized_expression "(min_c != max_c)" ( (binary_expression "min_c != max_c" identifier != identifier) )) (goto_statement "goto LAB_00026b80;" goto statement_identifier ;)) (if_statement "if (local_254 == 1) goto LAB_00026dac;" if (parenthesized_expression "(local_254 == 1)" ( (binary_expression "local_254 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00026dac;" goto statement_identifier ;)) })) })) }) (else_clause "else if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" else (if_statement "if (end_c == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" if (parenthesized_expression "(end_c == ']')" ( (binary_expression "end_c == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar14);\n              if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" { (expression_statement "local_268 = local_268 + 5;" (assignment_expression "local_268 = local_268 + 5" identifier = (binary_expression "local_268 + 5" identifier + number_literal)) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar14);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar14)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar14)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar14)" ( (binary_expression "(int)local_264 - (int)pbVar14" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (min_c == max_c) {\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }" if (parenthesized_expression "(min_c == max_c)" ( (binary_expression "min_c == max_c" identifier == identifier) )) (compound_statement "{\nLAB_00026dac:\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                local_254 = 1;\nLAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;\n                (pUVar15->content).CharRange.ptr_c = min_c;\n                (pUVar15->content).CharRange.max_c = max_c;\n                (pUVar15->content).NumRange.max_n = local_254;\n                uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;\n                if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar13;\n                sVar17 = glob_00->size;\n                local_260 = (byte *)0x0;\n                local_254 = iVar6;\n                goto LAB_00026538;\n              }" { (labeled_statement "LAB_00026dac:\n                local_250 = (byte *)(int)min_c;" statement_identifier : (expression_statement "local_250 = (byte *)(int)min_c;" (assignment_expression "local_250 = (byte *)(int)min_c" identifier = (cast_expression "(byte *)(int)min_c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)min_c" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "iVar8 = (int)max_c;" (assignment_expression "iVar8 = (int)max_c" identifier = (cast_expression "(int)max_c" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_254 = 1;" (assignment_expression "local_254 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00026bab:\n                (pUVar15->content).CharRange.min_c = min_c;" statement_identifier : (expression_statement "(pUVar15->content).CharRange.min_c = min_c;" (assignment_expression "(pUVar15->content).CharRange.min_c = min_c" (field_expression "(pUVar15->content).CharRange.min_c" (field_expression "(pUVar15->content).CharRange" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;)) (expression_statement "(pUVar15->content).CharRange.ptr_c = min_c;" (assignment_expression "(pUVar15->content).CharRange.ptr_c = min_c" (field_expression "(pUVar15->content).CharRange.ptr_c" (field_expression "(pUVar15->content).CharRange" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pUVar15->content).CharRange.max_c = max_c;" (assignment_expression "(pUVar15->content).CharRange.max_c = max_c" (field_expression "(pUVar15->content).CharRange.max_c" (field_expression "(pUVar15->content).CharRange" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pUVar15->content).NumRange.max_n = local_254;" (assignment_expression "(pUVar15->content).NumRange.max_n = local_254" (field_expression "(pUVar15->content).NumRange.max_n" (field_expression "(pUVar15->content).NumRange" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1;" (assignment_expression "uVar19 = (iVar8 - (int)local_250) / (int)local_254 + 1" identifier = (binary_expression "(iVar8 - (int)local_250) / (int)local_254 + 1" (binary_expression "(iVar8 - (int)local_250) / (int)local_254" (parenthesized_expression "(iVar8 - (int)local_250)" ( (binary_expression "iVar8 - (int)local_250" identifier - (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier)) )) / (cast_expression "(int)local_254" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (if_statement "if (uVar19 == 0) {\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }\n                else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n                  local_24c = 0;\n                  uVar13 = local_24c;\n                }" { (expression_statement "local_24c = 0;" (assignment_expression "local_24c = 0" identifier = number_literal) ;) (expression_statement "uVar13 = local_24c;" (assignment_expression "uVar13 = local_24c" identifier = identifier) ;) }) (else_clause "else {\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }" else (compound_statement "{\n                  uVar13 = local_24c * uVar19;\n                  if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }\n                }" { (expression_statement "uVar13 = local_24c * uVar19;" (assignment_expression "uVar13 = local_24c * uVar19" identifier = (binary_expression "local_24c * uVar19" identifier * identifier)) ;) (if_statement "if ((local_24c * uVar19) / uVar19 != local_24c) {\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }" if (parenthesized_expression "((local_24c * uVar19) / uVar19 != local_24c)" ( (binary_expression "(local_24c * uVar19) / uVar19 != local_24c" (binary_expression "(local_24c * uVar19) / uVar19" (parenthesized_expression "(local_24c * uVar19)" ( (binary_expression "local_24c * uVar19" identifier * identifier) )) / identifier) != identifier) )) (compound_statement "{\nLAB_00026cf0:\n                    glob_00->error = "range overflow";\n                    glob_00->pos = (size_t)local_264;\n                    goto LAB_000266f7;\n                  }" { (labeled_statement "LAB_00026cf0:\n                    glob_00->error = "range overflow";" statement_identifier : (expression_statement "glob_00->error = "range overflow";" (assignment_expression "glob_00->error = "range overflow"" (field_expression "glob_00->error" identifier -> field_identifier) = (string_literal ""range overflow"" " string_content ")) ;)) (expression_statement "glob_00->pos = (size_t)local_264;" (assignment_expression "glob_00->pos = (size_t)local_264" (field_expression "glob_00->pos" identifier -> field_identifier) = (cast_expression "(size_t)local_264" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_000266f7;" goto statement_identifier ;) })) }))) (expression_statement "local_24c = uVar13;" (assignment_expression "local_24c = uVar13" identifier = identifier) ;) (expression_statement "sVar17 = glob_00->size;" (assignment_expression "sVar17 = glob_00->size" identifier = (field_expression "glob_00->size" identifier -> field_identifier)) ;) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_254 = iVar6;" (assignment_expression "local_254 = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) })) (expression_statement "local_254 = 1;" (assignment_expression "local_254 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00026b80:\n              if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" statement_identifier : (if_statement "if (min_c <= max_c) {\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" if (parenthesized_expression "(min_c <= max_c)" ( (binary_expression "min_c <= max_c" identifier <= identifier) )) (compound_statement "{\n                local_250 = (byte *)(int)min_c;\n                iVar8 = (int)max_c;\n                if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" { (expression_statement "local_250 = (byte *)(int)min_c;" (assignment_expression "local_250 = (byte *)(int)min_c" identifier = (cast_expression "(byte *)(int)min_c" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)min_c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar8 = (int)max_c;" (assignment_expression "iVar8 = (int)max_c" identifier = (cast_expression "(int)max_c" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;" if (parenthesized_expression "((local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)\n                   )" ( (binary_expression "(local_254 <= (uint)(iVar8 - (int)local_250)) && (iVar8 - (int)local_250 < 0x1a)" (parenthesized_expression "(local_254 <= (uint)(iVar8 - (int)local_250))" ( (binary_expression "local_254 <= (uint)(iVar8 - (int)local_250)" identifier <= (call_expression "(uint)(iVar8 - (int)local_250)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 - (int)local_250)" ( (binary_expression "iVar8 - (int)local_250" identifier - (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) && (parenthesized_expression "(iVar8 - (int)local_250 < 0x1a)" ( (binary_expression "iVar8 - (int)local_250 < 0x1a" (binary_expression "iVar8 - (int)local_250" identifier - (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier)) < number_literal) ))) )) (goto_statement "goto LAB_00026bab;" goto statement_identifier ;)) }))) })))) })) (labeled_statement "LAB_000266e1:\n          glob_00->error = "bad range";" statement_identifier : (expression_statement "glob_00->error = "bad range";" (assignment_expression "glob_00->error = "bad range"" (field_expression "glob_00->error" identifier -> field_identifier) = (string_literal ""bad range"" " string_content ")) ;)) (expression_statement "glob_00->pos = (size_t)local_264;" (assignment_expression "glob_00->pos = (size_t)local_264" (field_expression "glob_00->pos" identifier -> field_identifier) = (cast_expression "(size_t)local_264" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) }))) (labeled_statement "LAB_000266f7:\n        local_260 = (byte *)0x3;" statement_identifier : (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uVar19 = glob_00->size + 1;" (assignment_expression "uVar19 = glob_00->size + 1" identifier = (binary_expression "glob_00->size + 1" (field_expression "glob_00->size" identifier -> field_identifier) + number_literal)) ;) (expression_statement "glob_00->size = uVar19;" (assignment_expression "glob_00->size = uVar19" (field_expression "glob_00->size" identifier -> field_identifier) = identifier) ;) (expression_statement "local_268 = pbVar14;" (assignment_expression "local_268 = pbVar14" identifier = identifier) ;) (expression_statement "local_254 = iVar6;" (assignment_expression "local_254 = iVar6" identifier = identifier) ;) }) while (parenthesized_expression "(uVar19 < 100)" ( (binary_expression "uVar19 < 100" identifier < number_literal) )) ;)) (goto_statement "goto LAB_0002654a;" goto statement_identifier ;) })) (expression_statement "free(pcVar5);" (call_expression "free(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000268dc:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return (CURLcode)local_260;" return (cast_expression "(CURLcode)local_260" ( (type_descriptor "CURLcode" type_identifier) ) identifier) ;) (labeled_statement "LAB_00026a58:\n  if (local_268 == pbVar16) {\n    pcVar5 = "empty string within braces";\nLAB_0002650e:\n    glob_00->error = pcVar5;\n    local_260 = (byte *)0x3;\n    sVar17 = glob_00->size;\n    glob_00->pos = (size_t)pbVar18;\n    local_264 = pbVar18;\n    goto LAB_00026538;\n  }" statement_identifier : (if_statement "if (local_268 == pbVar16) {\n    pcVar5 = "empty string within braces";\nLAB_0002650e:\n    glob_00->error = pcVar5;\n    local_260 = (byte *)0x3;\n    sVar17 = glob_00->size;\n    glob_00->pos = (size_t)pbVar18;\n    local_264 = pbVar18;\n    goto LAB_00026538;\n  }" if (parenthesized_expression "(local_268 == pbVar16)" ( (binary_expression "local_268 == pbVar16" identifier == identifier) )) (compound_statement "{\n    pcVar5 = "empty string within braces";\nLAB_0002650e:\n    glob_00->error = pcVar5;\n    local_260 = (byte *)0x3;\n    sVar17 = glob_00->size;\n    glob_00->pos = (size_t)pbVar18;\n    local_264 = pbVar18;\n    goto LAB_00026538;\n  }" { (expression_statement "pcVar5 = "empty string within braces";" (assignment_expression "pcVar5 = "empty string within braces"" identifier = (string_literal ""empty string within braces"" " string_content ")) ;) (labeled_statement "LAB_0002650e:\n    glob_00->error = pcVar5;" statement_identifier : (expression_statement "glob_00->error = pcVar5;" (assignment_expression "glob_00->error = pcVar5" (field_expression "glob_00->error" identifier -> field_identifier) = identifier) ;)) (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar17 = glob_00->size;" (assignment_expression "sVar17 = glob_00->size" identifier = (field_expression "glob_00->size" identifier -> field_identifier)) ;) (expression_statement "glob_00->pos = (size_t)pbVar18;" (assignment_expression "glob_00->pos = (size_t)pbVar18" (field_expression "glob_00->pos" identifier -> field_identifier) = (cast_expression "(size_t)pbVar18" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "local_264 = pbVar18;" (assignment_expression "local_264 = pbVar18" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) }))) (expression_statement "uVar19 = (pUVar15->content).Set.size + 1;" (assignment_expression "uVar19 = (pUVar15->content).Set.size + 1" identifier = (binary_expression "(pUVar15->content).Set.size + 1" (field_expression "(pUVar15->content).Set.size" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) + number_literal)) ;) (if_statement "if (uVar19 == 0) {\n    local_24c = 0;\n    uVar13 = local_24c;\n  }\n  else {\n    uVar13 = local_24c * uVar19;\n    if ((local_24c * uVar19) / uVar19 != local_24c) {\n      glob_00->pos = 0;\n      glob_00->error = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar19 = glob_00->size + 1;\n      glob_00->size = uVar19;\n      local_264 = pbVar18;\n      goto joined_r0x00026acd;\n    }\n  }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    local_24c = 0;\n    uVar13 = local_24c;\n  }" { (expression_statement "local_24c = 0;" (assignment_expression "local_24c = 0" identifier = number_literal) ;) (expression_statement "uVar13 = local_24c;" (assignment_expression "uVar13 = local_24c" identifier = identifier) ;) }) (else_clause "else {\n    uVar13 = local_24c * uVar19;\n    if ((local_24c * uVar19) / uVar19 != local_24c) {\n      glob_00->pos = 0;\n      glob_00->error = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar19 = glob_00->size + 1;\n      glob_00->size = uVar19;\n      local_264 = pbVar18;\n      goto joined_r0x00026acd;\n    }\n  }" else (compound_statement "{\n    uVar13 = local_24c * uVar19;\n    if ((local_24c * uVar19) / uVar19 != local_24c) {\n      glob_00->pos = 0;\n      glob_00->error = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar19 = glob_00->size + 1;\n      glob_00->size = uVar19;\n      local_264 = pbVar18;\n      goto joined_r0x00026acd;\n    }\n  }" { (expression_statement "uVar13 = local_24c * uVar19;" (assignment_expression "uVar13 = local_24c * uVar19" identifier = (binary_expression "local_24c * uVar19" identifier * identifier)) ;) (if_statement "if ((local_24c * uVar19) / uVar19 != local_24c) {\n      glob_00->pos = 0;\n      glob_00->error = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar19 = glob_00->size + 1;\n      glob_00->size = uVar19;\n      local_264 = pbVar18;\n      goto joined_r0x00026acd;\n    }" if (parenthesized_expression "((local_24c * uVar19) / uVar19 != local_24c)" ( (binary_expression "(local_24c * uVar19) / uVar19 != local_24c" (binary_expression "(local_24c * uVar19) / uVar19" (parenthesized_expression "(local_24c * uVar19)" ( (binary_expression "local_24c * uVar19" identifier * identifier) )) / identifier) != identifier) )) (compound_statement "{\n      glob_00->pos = 0;\n      glob_00->error = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar19 = glob_00->size + 1;\n      glob_00->size = uVar19;\n      local_264 = pbVar18;\n      goto joined_r0x00026acd;\n    }" { (expression_statement "glob_00->pos = 0;" (assignment_expression "glob_00->pos = 0" (field_expression "glob_00->pos" identifier -> field_identifier) = number_literal) ;) (expression_statement "glob_00->error = "range overflow";" (assignment_expression "glob_00->error = "range overflow"" (field_expression "glob_00->error" identifier -> field_identifier) = (string_literal ""range overflow"" " string_content ")) ;) (labeled_statement "LAB_00026aa3:\n      local_260 = (byte *)0x3;" statement_identifier : (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uVar19 = glob_00->size + 1;" (assignment_expression "uVar19 = glob_00->size + 1" identifier = (binary_expression "glob_00->size + 1" (field_expression "glob_00->size" identifier -> field_identifier) + number_literal)) ;) (expression_statement "glob_00->size = uVar19;" (assignment_expression "glob_00->size = uVar19" (field_expression "glob_00->size" identifier -> field_identifier) = identifier) ;) (expression_statement "local_264 = pbVar18;" (assignment_expression "local_264 = pbVar18" identifier = identifier) ;) (goto_statement "goto joined_r0x00026acd;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00026940:\n  local_24c = uVar13;" statement_identifier : (expression_statement "local_24c = uVar13;" (assignment_expression "local_24c = uVar13" identifier = identifier) ;)) (expression_statement "*pbVar14 = 0;" (assignment_expression "*pbVar14 = 0" (pointer_expression "*pbVar14" * identifier) = number_literal) ;) (expression_statement "ppcVar11 = (pUVar15->content).Set.elements;" (assignment_expression "ppcVar11 = (pUVar15->content).Set.elements" identifier = (field_expression "(pUVar15->content).Set.elements" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (ppcVar11 == (char **)0x0) {\n    ppcVar11 = (char **)malloc(4);\n    (pUVar15->content).Set.elements = ppcVar11;\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n  }\n  else {\n    ppcVar11 = (char **)realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4);\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n    (pUVar15->content).Set.elements = ppcVar11;\n  }" if (parenthesized_expression "(ppcVar11 == (char **)0x0)" ( (binary_expression "ppcVar11 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    ppcVar11 = (char **)malloc(4);\n    (pUVar15->content).Set.elements = ppcVar11;\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n  }" { (expression_statement "ppcVar11 = (char **)malloc(4);" (assignment_expression "ppcVar11 = (char **)malloc(4)" identifier = (cast_expression "(char **)malloc(4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "malloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "(pUVar15->content).Set.elements = ppcVar11;" (assignment_expression "(pUVar15->content).Set.elements = ppcVar11" (field_expression "(pUVar15->content).Set.elements" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (ppcVar11 == (char **)0x0) goto LAB_00026c32;" if (parenthesized_expression "(ppcVar11 == (char **)0x0)" ( (binary_expression "ppcVar11 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00026c32;" goto statement_identifier ;)) }) (else_clause "else {\n    ppcVar11 = (char **)realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4);\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n    (pUVar15->content).Set.elements = ppcVar11;\n  }" else (compound_statement "{\n    ppcVar11 = (char **)realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4);\n    if (ppcVar11 == (char **)0x0) goto LAB_00026c32;\n    (pUVar15->content).Set.elements = ppcVar11;\n  }" { (expression_statement "ppcVar11 = (char **)realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4);" (assignment_expression "ppcVar11 = (char **)realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4)" identifier = (cast_expression "(char **)realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "realloc(ppcVar11,(pUVar15->content).Set.size * 4 + 4)" identifier (argument_list "(ppcVar11,(pUVar15->content).Set.size * 4 + 4)" ( identifier , (binary_expression "(pUVar15->content).Set.size * 4 + 4" (binary_expression "(pUVar15->content).Set.size * 4" (field_expression "(pUVar15->content).Set.size" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) * number_literal) + number_literal) ))))) ;) (if_statement "if (ppcVar11 == (char **)0x0) goto LAB_00026c32;" if (parenthesized_expression "(ppcVar11 == (char **)0x0)" ( (binary_expression "ppcVar11 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00026c32;" goto statement_identifier ;)) (expression_statement "(pUVar15->content).Set.elements = ppcVar11;" (assignment_expression "(pUVar15->content).Set.elements = ppcVar11" (field_expression "(pUVar15->content).Set.elements" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) }))) (expression_statement "iVar8 = (pUVar15->content).Set.size;" (assignment_expression "iVar8 = (pUVar15->content).Set.size" identifier = (field_expression "(pUVar15->content).Set.size" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "pcVar5 = strdup(glob_00->glob_buffer);" (assignment_expression "pcVar5 = strdup(glob_00->glob_buffer)" identifier = (call_expression "strdup(glob_00->glob_buffer)" identifier (argument_list "(glob_00->glob_buffer)" ( (field_expression "glob_00->glob_buffer" identifier -> field_identifier) )))) ;) (expression_statement "ppcVar11[iVar8] = pcVar5;" (assignment_expression "ppcVar11[iVar8] = pcVar5" (subscript_expression "ppcVar11[iVar8]" identifier [ identifier ]) = identifier) ;) (if_statement "if (pcVar5 != (char *)0x0) {\n    pbVar18 = pbVar16 + 1;\n    (pUVar15->content).Set.size = iVar8 + 1;\n    if (*pbVar16 == 0x7d) goto LAB_00026cc0;\n    pbVar14 = (byte *)glob_00->glob_buffer;\n    goto LAB_00026401;\n  }" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pbVar18 = pbVar16 + 1;\n    (pUVar15->content).Set.size = iVar8 + 1;\n    if (*pbVar16 == 0x7d) goto LAB_00026cc0;\n    pbVar14 = (byte *)glob_00->glob_buffer;\n    goto LAB_00026401;\n  }" { (expression_statement "pbVar18 = pbVar16 + 1;" (assignment_expression "pbVar18 = pbVar16 + 1" identifier = (binary_expression "pbVar16 + 1" identifier + number_literal)) ;) (expression_statement "(pUVar15->content).Set.size = iVar8 + 1;" (assignment_expression "(pUVar15->content).Set.size = iVar8 + 1" (field_expression "(pUVar15->content).Set.size" (field_expression "(pUVar15->content).Set" (parenthesized_expression "(pUVar15->content)" ( (field_expression "pUVar15->content" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (if_statement "if (*pbVar16 == 0x7d) goto LAB_00026cc0;" if (parenthesized_expression "(*pbVar16 == 0x7d)" ( (binary_expression "*pbVar16 == 0x7d" (pointer_expression "*pbVar16" * identifier) == number_literal) )) (goto_statement "goto LAB_00026cc0;" goto statement_identifier ;)) (expression_statement "pbVar14 = (byte *)glob_00->glob_buffer;" (assignment_expression "pbVar14 = (byte *)glob_00->glob_buffer" identifier = (cast_expression "(byte *)glob_00->glob_buffer" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "glob_00->glob_buffer" identifier -> field_identifier))) ;) (goto_statement "goto LAB_00026401;" goto statement_identifier ;) })) (labeled_statement "LAB_00026c32:\n  sVar17 = glob_00->size;" statement_identifier : (expression_statement "sVar17 = glob_00->size;" (assignment_expression "sVar17 = glob_00->size" identifier = (field_expression "glob_00->size" identifier -> field_identifier)) ;)) (expression_statement "glob_00->pos = 0;" (assignment_expression "glob_00->pos = 0" (field_expression "glob_00->pos" identifier -> field_identifier) = number_literal) ;) (expression_statement "glob_00->error = "out of memory";" (assignment_expression "glob_00->error = "out of memory"" (field_expression "glob_00->error" identifier -> field_identifier) = (string_literal ""out of memory"" " string_content ")) ;) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_264 = pbVar18;" (assignment_expression "local_264 = pbVar18" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) (labeled_statement "LAB_00026cc0:\n  local_264 = local_260;" statement_identifier : (expression_statement "local_264 = local_260;" (assignment_expression "local_264 = local_260" identifier = identifier) ;)) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar17 = glob_00->size;" (assignment_expression "sVar17 = glob_00->size" identifier = (field_expression "glob_00->size" identifier -> field_identifier)) ;) (expression_statement "local_268 = pbVar18;" (assignment_expression "local_268 = pbVar18" identifier = identifier) ;) (labeled_statement "LAB_00026538:\n  uVar19 = sVar17 + 1;" statement_identifier : (expression_statement "uVar19 = sVar17 + 1;" (assignment_expression "uVar19 = sVar17 + 1" identifier = (binary_expression "sVar17 + 1" identifier + number_literal)) ;)) (expression_statement "glob_00->size = uVar19;" (assignment_expression "glob_00->size = uVar19" (field_expression "glob_00->size" identifier -> field_identifier) = identifier) ;) (labeled_statement "joined_r0x00026acd:\n  if (99 < uVar19) goto LAB_0002654a;" statement_identifier : (if_statement "if (99 < uVar19) goto LAB_0002654a;" if (parenthesized_expression "(99 < uVar19)" ( (binary_expression "99 < uVar19" number_literal < identifier) )) (goto_statement "goto LAB_0002654a;" goto statement_identifier ;))) (goto_statement "goto LAB_00026300;" goto statement_identifier ;) (labeled_statement "LAB_0002654a:\n  glob_00->error = "too many globs";" statement_identifier : (expression_statement "glob_00->error = "too many globs";" (assignment_expression "glob_00->error = "too many globs"" (field_expression "glob_00->error" identifier -> field_identifier) = (string_literal ""too many globs"" " string_content ")) ;)) (expression_statement "glob_00->pos = (size_t)local_264;" (assignment_expression "glob_00->pos = (size_t)local_264" (field_expression "glob_00->pos" identifier -> field_identifier) = (cast_expression "(size_t)local_264" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (labeled_statement "LAB_000268b2:\n  if (error == (FILE *)0x0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    pcVar5 = glob_00->error;\nLAB_000269de:\n    sVar17 = glob_00->pos;\n    pcVar7 = pcVar5;\n    if (sVar17 != 0) {\n      pcVar7 = text;\n      curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4);\n    }\n    curl_mfprintf(error,"curl: (%d) %s\n",local_260,pcVar7);\n  }" statement_identifier : (if_statement "if (error == (FILE *)0x0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    pcVar5 = glob_00->error;\nLAB_000269de:\n    sVar17 = glob_00->pos;\n    pcVar7 = pcVar5;\n    if (sVar17 != 0) {\n      pcVar7 = text;\n      curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4);\n    }\n    curl_mfprintf(error,"curl: (%d) %s\n",local_260,pcVar7);\n  }" if (parenthesized_expression "(error == (FILE *)0x0)" ( (binary_expression "error == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_260 = (byte *)0x3;\n  }" { (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    local_260 = (byte *)0x3;\n    pcVar5 = glob_00->error;\nLAB_000269de:\n    sVar17 = glob_00->pos;\n    pcVar7 = pcVar5;\n    if (sVar17 != 0) {\n      pcVar7 = text;\n      curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4);\n    }\n    curl_mfprintf(error,"curl: (%d) %s\n",local_260,pcVar7);\n  }" else (compound_statement "{\n    local_260 = (byte *)0x3;\n    pcVar5 = glob_00->error;\nLAB_000269de:\n    sVar17 = glob_00->pos;\n    pcVar7 = pcVar5;\n    if (sVar17 != 0) {\n      pcVar7 = text;\n      curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4);\n    }\n    curl_mfprintf(error,"curl: (%d) %s\n",local_260,pcVar7);\n  }" { (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar5 = glob_00->error;" (assignment_expression "pcVar5 = glob_00->error" identifier = (field_expression "glob_00->error" identifier -> field_identifier)) ;) (labeled_statement "LAB_000269de:\n    sVar17 = glob_00->pos;" statement_identifier : (expression_statement "sVar17 = glob_00->pos;" (assignment_expression "sVar17 = glob_00->pos" identifier = (field_expression "glob_00->pos" identifier -> field_identifier)) ;)) (expression_statement "pcVar7 = pcVar5;" (assignment_expression "pcVar7 = pcVar5" identifier = identifier) ;) (if_statement "if (sVar17 != 0) {\n      pcVar7 = text;\n      curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4);\n    }" if (parenthesized_expression "(sVar17 != 0)" ( (binary_expression "sVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar7 = text;\n      curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4);\n    }" { (expression_statement "pcVar7 = text;" (assignment_expression "pcVar7 = text" identifier = identifier) ;) (expression_statement "curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4);" (call_expression "curl_msnprintf(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4)" identifier (argument_list "(pcVar7,0x200,"%s in URL position %zu:\n%s\n%*s^",pcVar5,sVar17,url,sVar17 - 1,\n                     &DAT_000290e4)" ( identifier , number_literal , (string_literal ""%s in URL position %zu:\n%s\n%*s^"" " string_content escape_sequence string_content escape_sequence string_content ") , identifier , identifier , identifier , (binary_expression "sVar17 - 1" identifier - number_literal) , (pointer_expression "&DAT_000290e4" & identifier) ))) ;) })) (expression_statement "curl_mfprintf(error,"curl: (%d) %s\n",local_260,pcVar7);" (call_expression "curl_mfprintf(error,"curl: (%d) %s\n",local_260,pcVar7)" identifier (argument_list "(error,"curl: (%d) %s\n",local_260,pcVar7)" ( identifier , (string_literal ""curl: (%d) %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })))) (labeled_statement "LAB_000268c6:\n  glob_cleanup(glob_00);" statement_identifier : (expression_statement "glob_cleanup(glob_00);" (call_expression "glob_cleanup(glob_00)" identifier (argument_list "(glob_00)" ( identifier ))) ;)) (expression_statement "*urlnum = 1;" (assignment_expression "*urlnum = 1" (pointer_expression "*urlnum" * identifier) = number_literal) ;) (goto_statement "goto LAB_000268dc;" goto statement_identifier ;) })))
(translation_unit "int FUN_00026230(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  void *pvVar7;\n  void *__dest;\n  int iVar8;\n  int iVar9;\n  ulong uVar10;\n  ulong uVar11;\n  void *pvVar12;\n  char *pcVar13;\n  undefined1 *puVar14;\n  int *piVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  size_t __n;\n  undefined4 *puVar23;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char local_227;\n  char local_226;\n  char local_225;\n  byte *local_224;\n  undefined1 local_220 [512];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x26239;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  *param_1 = 0;\n  sVar5 = strlen((char *)param_2);\n  puVar6 = (undefined1 *)malloc(sVar5 + 1);\n  if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00028220();\n  }\n  return (int)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }\n  uVar21 = puVar18[3] + 1;\n  if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar16;\n  *pbVar17 = 0;\n  if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }\n  iVar1 = puVar18[3];\n  pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));\n  *(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;\n  if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n  *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar20;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  local_268 = pbVar20;\nLAB_00026538:\n  uVar21 = iVar9 + 1;\n  *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\njoined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";\n  *(byte **)((int)pvVar7 + 0xb04) = local_264;\nLAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }\nLAB_000268c6:\n  FUN_00026180(pvVar7);\n  *param_3 = 1;\n  goto LAB_000268dc;\n}\n\n" (function_definition "int FUN_00026230(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  void *pvVar7;\n  void *__dest;\n  int iVar8;\n  int iVar9;\n  ulong uVar10;\n  ulong uVar11;\n  void *pvVar12;\n  char *pcVar13;\n  undefined1 *puVar14;\n  int *piVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  size_t __n;\n  undefined4 *puVar23;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char local_227;\n  char local_226;\n  char local_225;\n  byte *local_224;\n  undefined1 local_220 [512];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x26239;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  *param_1 = 0;\n  sVar5 = strlen((char *)param_2);\n  puVar6 = (undefined1 *)malloc(sVar5 + 1);\n  if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00028220();\n  }\n  return (int)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }\n  uVar21 = puVar18[3] + 1;\n  if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar16;\n  *pbVar17 = 0;\n  if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }\n  iVar1 = puVar18[3];\n  pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));\n  *(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;\n  if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n  *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar20;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  local_268 = pbVar20;\nLAB_00026538:\n  uVar21 = iVar9 + 1;\n  *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\njoined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";\n  *(byte **)((int)pvVar7 + 0xb04) = local_264;\nLAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }\nLAB_000268c6:\n  FUN_00026180(pvVar7);\n  *param_3 = 1;\n  goto LAB_000268dc;\n}" primitive_type (function_declarator "FUN_00026230(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)" identifier (parameter_list "(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  void *pvVar7;\n  void *__dest;\n  int iVar8;\n  int iVar9;\n  ulong uVar10;\n  ulong uVar11;\n  void *pvVar12;\n  char *pcVar13;\n  undefined1 *puVar14;\n  int *piVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  size_t __n;\n  undefined4 *puVar23;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char local_227;\n  char local_226;\n  char local_225;\n  byte *local_224;\n  undefined1 local_220 [512];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x26239;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  *param_1 = 0;\n  sVar5 = strlen((char *)param_2);\n  puVar6 = (undefined1 *)malloc(sVar5 + 1);\n  if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00028220();\n  }\n  return (int)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }\n  uVar21 = puVar18[3] + 1;\n  if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar16;\n  *pbVar17 = 0;\n  if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }\n  iVar1 = puVar18[3];\n  pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));\n  *(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;\n  if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n  *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar20;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  local_268 = pbVar20;\nLAB_00026538:\n  uVar21 = iVar9 + 1;\n  *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\njoined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";\n  *(byte **)((int)pvVar7 + 0xb04) = local_264;\nLAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }\nLAB_000268c6:\n  FUN_00026180(pvVar7);\n  *param_3 = 1;\n  goto LAB_000268dc;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "void *pvVar7;" primitive_type (pointer_declarator "*pvVar7" * identifier) ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "void *pvVar12;" primitive_type (pointer_declarator "*pvVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte *local_268;" type_identifier (pointer_declarator "*local_268" * identifier) ;) (declaration "byte *local_264;" type_identifier (pointer_declarator "*local_264" * identifier) ;) (declaration "byte *local_260;" type_identifier (pointer_declarator "*local_260" * identifier) ;) (declaration "size_t local_25c;" primitive_type identifier ;) (declaration "uint local_258;" type_identifier identifier ;) (declaration "uint local_254;" type_identifier identifier ;) (declaration "byte *local_250;" type_identifier (pointer_declarator "*local_250" * identifier) ;) (declaration "uint local_24c;" type_identifier identifier ;) (declaration "char local_227;" primitive_type identifier ;) (declaration "char local_226;" primitive_type identifier ;) (declaration "char local_225;" primitive_type identifier ;) (declaration "byte *local_224;" type_identifier (pointer_declarator "*local_224" * identifier) ;) (declaration "undefined1 local_220 [512];" type_identifier (array_declarator "local_220 [512]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x26239;" (assignment_expression "uStack_14 = 0x26239" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)param_2);" (assignment_expression "sVar5 = strlen((char *)param_2)" identifier = (call_expression "strlen((char *)param_2)" identifier (argument_list "((char *)param_2)" ( (cast_expression "(char *)param_2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar6 = (undefined1 *)malloc(sVar5 + 1);" (assignment_expression "puVar6 = (undefined1 *)malloc(sVar5 + 1)" identifier = (cast_expression "(undefined1 *)malloc(sVar5 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(sVar5 + 1)" identifier (argument_list "(sVar5 + 1)" ( (binary_expression "sVar5 + 1" identifier + number_literal) ))))) ;) (if_statement "if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }" if (parenthesized_expression "(puVar6 == (undefined1 *)0x0)" ( (binary_expression "puVar6 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_260 = (byte *)0x1b;\n  }" { (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }" else (compound_statement "{\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }" { (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "pvVar7 = calloc(1,0xb08);" (assignment_expression "pvVar7 = calloc(1,0xb08)" identifier = (call_expression "calloc(1,0xb08)" identifier (argument_list "(1,0xb08)" ( number_literal , number_literal )))) ;) (if_statement "if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }" if (parenthesized_expression "(pvVar7 != (void *)0x0)" ( (binary_expression "pvVar7 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }" { (expression_statement "*(size_t *)((int)pvVar7 + 0xaf4) = sVar5;" (assignment_expression "*(size_t *)((int)pvVar7 + 0xaf4) = sVar5" (pointer_expression "*(size_t *)((int)pvVar7 + 0xaf4)" * (cast_expression "(size_t *)((int)pvVar7 + 0xaf4)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf4)" ( (binary_expression "(int)pvVar7 + 0xaf4" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;" (assignment_expression "*(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6" (pointer_expression "*(undefined1 **)((int)pvVar7 + 0xaf8)" * (cast_expression "(undefined1 **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_264 = (byte *)0x1;" (assignment_expression "local_264 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_268 = param_2;" (assignment_expression "local_268 = param_2" identifier = identifier) ;) (expression_statement "local_24c = 1;" (assignment_expression "local_24c = 1" identifier = number_literal) ;) (expression_statement "local_254 = 0;" (assignment_expression "local_254 = 0" identifier = number_literal) ;) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);" statement_identifier : (do_statement "do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);" do (compound_statement "{\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      }" { (expression_statement "bVar4 = *local_268;" (assignment_expression "bVar4 = *local_268" identifier = (pointer_expression "*local_268" * identifier)) ;) (if_statement "if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }" { (if_statement "if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }" if (parenthesized_expression "(local_260 == (byte *)0x0)" ( (binary_expression "local_260 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }" { (expression_statement "*param_3 = local_24c;" (assignment_expression "*param_3 = local_24c" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "*param_1 = pvVar7;" (assignment_expression "*param_1 = pvVar7" (pointer_expression "*param_1" * identifier) = identifier) ;) (goto_statement "goto LAB_000268dc;" goto statement_identifier ;) })) (labeled_statement "LAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;" statement_identifier : (if_statement "if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;" if (parenthesized_expression "((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))" ( (binary_expression "(param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0)" (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) || (parenthesized_expression "(puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0)" ( (comma_expression "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0" (assignment_expression "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00)" identifier = (pointer_expression "*(undefined1 **)((int)pvVar7 + 0xb00)" * (cast_expression "(undefined1 **)((int)pvVar7 + 0xb00)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "puVar6 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000268c6;" goto statement_identifier ;))) (goto_statement "goto LAB_000269de;" goto statement_identifier ;) })) (if_statement "if (local_260 != (byte *)0x0) goto LAB_00026f4d;" if (parenthesized_expression "(local_260 != (byte *)0x0)" ( (binary_expression "local_260 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026f4d;" goto statement_identifier ;)) (expression_statement "local_25c = 0;" (assignment_expression "local_25c = 0" identifier = number_literal) ;) (expression_statement "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);" (assignment_expression "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8)" identifier = (pointer_expression "*(byte **)((int)pvVar7 + 0xaf8)" * (cast_expression "(byte **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (while_statement "while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }" while (parenthesized_expression "((bVar4 != 0 && (bVar4 != 0x7b)))" ( (parenthesized_expression "(bVar4 != 0 && (bVar4 != 0x7b))" ( (binary_expression "bVar4 != 0 && (bVar4 != 0x7b)" (binary_expression "bVar4 != 0" identifier != number_literal) && (parenthesized_expression "(bVar4 != 0x7b)" ( (binary_expression "bVar4 != 0x7b" identifier != number_literal) ))) )) )) (compound_statement "{\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }" { (if_statement "if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }" if (parenthesized_expression "(bVar4 == 0x5b)" ( (binary_expression "bVar4 == 0x5b" identifier == number_literal) )) (compound_statement "{\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "sVar5 = 1;" (assignment_expression "sVar5 = 1" identifier = number_literal) ;) (while_statement "while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }" { (do_statement "do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));" do (compound_statement "{\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              }" { (do_statement "do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);" do (compound_statement "{\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                }" { (expression_statement "__n = sVar5 + 1;" (assignment_expression "__n = sVar5 + 1" identifier = (binary_expression "sVar5 + 1" identifier + number_literal)) ;) (expression_statement "bVar4 = local_268[sVar5];" (assignment_expression "bVar4 = local_268[sVar5]" identifier = (subscript_expression "local_268[sVar5]" identifier [ identifier ])) ;) (expression_statement "iVar9 = FUN_00028030(bVar4);" (assignment_expression "iVar9 = FUN_00028030(bVar4)" identifier = (call_expression "FUN_00028030(bVar4)" identifier (argument_list "(bVar4)" ( identifier )))) ;) (expression_statement "sVar5 = __n;" (assignment_expression "sVar5 = __n" identifier = identifier) ;) }) while (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) ;) }) while (parenthesized_expression "((bVar4 == 0x2e) || (bVar4 == 0x25))" ( (binary_expression "(bVar4 == 0x2e) || (bVar4 == 0x25)" (parenthesized_expression "(bVar4 == 0x2e)" ( (binary_expression "bVar4 == 0x2e" identifier == number_literal) )) || (parenthesized_expression "(bVar4 == 0x25)" ( (binary_expression "bVar4 == 0x25" identifier == number_literal) ))) )) ;) (if_statement "if (bVar4 != 0x3a) break;" if (parenthesized_expression "(bVar4 != 0x3a)" ( (binary_expression "bVar4 != 0x3a" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" if (parenthesized_expression "(bVar4 == 0x5d)" ( (binary_expression "bVar4 == 0x5d" identifier == number_literal) )) (compound_statement "{\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }" { (if_statement "if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;" if (parenthesized_expression "((uVar21 < 2) && (local_268[1] == 0x5d))" ( (binary_expression "(uVar21 < 2) && (local_268[1] == 0x5d)" (parenthesized_expression "(uVar21 < 2)" ( (binary_expression "uVar21 < 2" identifier < number_literal) )) && (parenthesized_expression "(local_268[1] == 0x5d)" ( (binary_expression "local_268[1] == 0x5d" (subscript_expression "local_268[1]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_0002657b;" goto statement_identifier ;)) (if_statement "if (__n == 0) break;" if (parenthesized_expression "(__n == 0)" ( (binary_expression "__n == 0" identifier == number_literal) )) (break_statement "break;" break ;)) }) (else_clause "else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" else (compound_statement "{\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" { (if_statement "if (local_268[1] != 0x5d) break;" if (parenthesized_expression "(local_268[1] != 0x5d)" ( (binary_expression "local_268[1] != 0x5d" (subscript_expression "local_268[1]" identifier [ number_literal ]) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0002657b:\n              __n = 2;" statement_identifier : (expression_statement "__n = 2;" (assignment_expression "__n = 2" identifier = number_literal) ;)) }))) (expression_statement "memcpy(pbVar17,local_268,__n);" (call_expression "memcpy(pbVar17,local_268,__n)" identifier (argument_list "(pbVar17,local_268,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_25c = local_25c + __n;" (assignment_expression "local_25c = local_25c + __n" identifier = (binary_expression "local_25c + __n" identifier + identifier)) ;) (expression_statement "pbVar19 = pbVar17 + __n;" (assignment_expression "pbVar19 = pbVar17 + __n" identifier = (binary_expression "pbVar17 + __n" identifier + identifier)) ;) (expression_statement "pbVar20 = local_268 + __n;" (assignment_expression "pbVar20 = local_268 + __n" identifier = (binary_expression "local_268 + __n" identifier + identifier)) ;) }) (else_clause "else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }" else (compound_statement "{\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }" { (if_statement "if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }" if (parenthesized_expression "((bVar4 & 0xdf) == 0x5d)" ( (binary_expression "(bVar4 & 0xdf) == 0x5d" (parenthesized_expression "(bVar4 & 0xdf)" ( (binary_expression "bVar4 & 0xdf" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }" { (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""unmatched close brace/bracket"" " string_content ")) ;) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000268b2;" goto statement_identifier ;) })) (expression_statement "pbVar20 = local_268 + 1;" (assignment_expression "pbVar20 = local_268 + 1" identifier = (binary_expression "local_268 + 1" identifier + number_literal)) ;) (expression_statement "pbVar22 = local_264 + 1;" (assignment_expression "pbVar22 = local_264 + 1" identifier = (binary_expression "local_264 + 1" identifier + number_literal)) ;) (if_statement "if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }" if (parenthesized_expression "((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0))" ( (binary_expression "(bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)" (parenthesized_expression "(bVar4 == 0x5c)" ( (binary_expression "bVar4 == 0x5c" identifier == number_literal) )) && (parenthesized_expression "(((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)" ( (binary_expression "((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0" (parenthesized_expression "((local_268[1] & 0xdf) + 0xa5 & 0xfd)" ( (binary_expression "(local_268[1] & 0xdf) + 0xa5 & 0xfd" (binary_expression "(local_268[1] & 0xdf) + 0xa5" (parenthesized_expression "(local_268[1] & 0xdf)" ( (binary_expression "local_268[1] & 0xdf" (subscript_expression "local_268[1]" identifier [ number_literal ]) & number_literal) )) + number_literal) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }" { (expression_statement "pbVar20 = local_268 + 2;" (assignment_expression "pbVar20 = local_268 + 2" identifier = (binary_expression "local_268 + 2" identifier + number_literal)) ;) (expression_statement "pbVar22 = local_264 + 2;" (assignment_expression "pbVar22 = local_264 + 2" identifier = (binary_expression "local_264 + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = local_268[1];" (assignment_expression "bVar4 = local_268[1]" identifier = (subscript_expression "local_268[1]" identifier [ number_literal ])) ;) })) (expression_statement "local_25c = local_25c + 1;" (assignment_expression "local_25c = local_25c + 1" identifier = (binary_expression "local_25c + 1" identifier + number_literal)) ;) (expression_statement "pbVar19 = pbVar17 + 1;" (assignment_expression "pbVar19 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar17 = bVar4;" (assignment_expression "*pbVar17 = bVar4" (pointer_expression "*pbVar17" * identifier) = identifier) ;) (expression_statement "local_264 = pbVar22;" (assignment_expression "local_264 = pbVar22" identifier = identifier) ;) }))) (expression_statement "pbVar17 = pbVar19;" (assignment_expression "pbVar17 = pbVar19" identifier = identifier) ;) (expression_statement "local_268 = pbVar20;" (assignment_expression "local_268 = pbVar20" identifier = identifier) ;) (expression_statement "bVar4 = *pbVar20;" (assignment_expression "bVar4 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) })) (if_statement "if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }" if (parenthesized_expression "(local_25c != 0)" ( (binary_expression "local_25c != 0" identifier != number_literal) )) (compound_statement "{\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }" { (expression_statement "*pbVar17 = 0;" (assignment_expression "*pbVar17 = 0" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pvVar12 = *(void **)((int)pvVar7 + 0xaf8);" (assignment_expression "pvVar12 = *(void **)((int)pvVar7 + 0xaf8)" identifier = (pointer_expression "*(void **)((int)pvVar7 + 0xaf8)" * (cast_expression "(void **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);" (assignment_expression "puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" identifier = (cast_expression "(undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 0x1c + (int)pvVar7)" ( (binary_expression "iVar9 * 0x1c + (int)pvVar7" (binary_expression "iVar9 * 0x1c" identifier * number_literal) + (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*puVar23 = 1;" (assignment_expression "*puVar23 = 1" (pointer_expression "*puVar23" * identifier) = number_literal) ;) (expression_statement "puVar23[3] = 1;" (assignment_expression "puVar23[3] = 1" (subscript_expression "puVar23[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar23[4] = 0;" (assignment_expression "puVar23[4] = 0" (subscript_expression "puVar23[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar23[1] = 0xffffffff;" (assignment_expression "puVar23[1] = 0xffffffff" (subscript_expression "puVar23[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar18 = (undefined4 *)malloc(4);" (assignment_expression "puVar18 = (undefined4 *)malloc(4)" identifier = (cast_expression "(undefined4 *)malloc(4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "puVar23[2] = puVar18;" (assignment_expression "puVar23[2] = puVar18" (subscript_expression "puVar23[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }" if (parenthesized_expression "(puVar18 == (undefined4 *)0x0)" ( (binary_expression "puVar18 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }" { (labeled_statement "LAB_00026900:\n            uVar21 = iVar9 + 1;" statement_identifier : (expression_statement "uVar21 = iVar9 + 1;" (assignment_expression "uVar21 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)pvVar7 + 0xb04) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar7 + 0xb04) = 0" (pointer_expression "*(undefined4 *)((int)pvVar7 + 0xb04)" * (cast_expression "(undefined4 *)((int)pvVar7 + 0xb04)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "out of memory";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "out of memory"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""out of memory"" " string_content ")) ;) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" * (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }" else (compound_statement "{\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }" { (expression_statement "__dest = malloc(local_25c + 1);" (assignment_expression "__dest = malloc(local_25c + 1)" identifier = (call_expression "malloc(local_25c + 1)" identifier (argument_list "(local_25c + 1)" ( (binary_expression "local_25c + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar18 = __dest;" (assignment_expression "*puVar18 = __dest" (pointer_expression "*puVar18" * identifier) = identifier) ;) (if_statement "if (__dest == (void *)0x0) goto LAB_00026900;" if (parenthesized_expression "(__dest == (void *)0x0)" ( (binary_expression "__dest == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026900;" goto statement_identifier ;)) (expression_statement "uVar21 = iVar9 + 1;" (assignment_expression "uVar21 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "memcpy(__dest,pvVar12,local_25c);" (call_expression "memcpy(__dest,pvVar12,local_25c)" identifier (argument_list "(__dest,pvVar12,local_25c)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" * (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)__dest + local_25c) = 0;" (assignment_expression "*(undefined1 *)((int)__dest + local_25c) = 0" (pointer_expression "*(undefined1 *)((int)__dest + local_25c)" * (cast_expression "(undefined1 *)((int)__dest + local_25c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__dest + local_25c)" ( (binary_expression "(int)__dest + local_25c" (cast_expression "(int)__dest" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) }))) (goto_statement "goto joined_r0x00026acd;" goto statement_identifier ;) })) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }" if (parenthesized_expression "(*local_268 != 0x5b)" ( (binary_expression "*local_268 != 0x5b" (pointer_expression "*local_268" * identifier) != number_literal) )) (compound_statement "{\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }" { (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }" if (parenthesized_expression "(*local_268 == 0x7b)" ( (binary_expression "*local_268 == 0x7b" (pointer_expression "*local_268" * identifier) == number_literal) )) (compound_statement "{\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }" { (expression_statement "local_268 = local_268 + 1;" (assignment_expression "local_268 = local_268 + 1" identifier = (binary_expression "local_268 + 1" identifier + number_literal)) ;) (expression_statement "puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);" (assignment_expression "puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" identifier = (cast_expression "(undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 * 0x1c + (int)pvVar7)" ( (binary_expression "iVar9 * 0x1c + (int)pvVar7" (binary_expression "iVar9 * 0x1c" identifier * number_literal) + (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar9 = local_254 + 1;" (assignment_expression "iVar9 = local_254 + 1" identifier = (binary_expression "local_254 + 1" identifier + number_literal)) ;) (expression_statement "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);" (assignment_expression "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8)" identifier = (pointer_expression "*(byte **)((int)pvVar7 + 0xaf8)" * (cast_expression "(byte **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar18[1] = local_254;" (assignment_expression "puVar18[1] = local_254" (subscript_expression "puVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar18 = 1;" (assignment_expression "*puVar18 = 1" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "puVar18[3] = 0;" (assignment_expression "puVar18[3] = 0" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar18[4] = 0;" (assignment_expression "puVar18[4] = 0" (subscript_expression "puVar18[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar18[2] = 0;" (assignment_expression "puVar18[2] = 0" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar20 = local_268;" (assignment_expression "pbVar20 = local_268" identifier = identifier) ;) (expression_statement "local_260 = local_264;" (assignment_expression "local_260 = local_264" identifier = identifier) ;) (labeled_statement "LAB_00026401:\n            local_260 = local_260 + 1;" statement_identifier : (expression_statement "local_260 = local_260 + 1;" (assignment_expression "local_260 = local_260 + 1" identifier = (binary_expression "local_260 + 1" identifier + number_literal)) ;)) (expression_statement "bVar4 = *pbVar20;" (assignment_expression "bVar4 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) (expression_statement "cVar2 = bVar4 + 0xa4;" (assignment_expression "cVar2 = bVar4 + 0xa4" identifier = (binary_expression "bVar4 + 0xa4" identifier + number_literal)) ;) (expression_statement "bVar24 = bVar4 == 0x5c;" (assignment_expression "bVar24 = bVar4 == 0x5c" identifier = (binary_expression "bVar4 == 0x5c" identifier == number_literal)) ;) (expression_statement "pbVar19 = pbVar20;" (assignment_expression "pbVar19 = pbVar20" identifier = identifier) ;) (if_statement "if (bVar24) goto LAB_0002643a;" if (parenthesized_expression "(bVar24)" ( identifier )) (goto_statement "goto LAB_0002643a;" goto statement_identifier ;)) (do_statement "do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );" do (compound_statement "{\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            }" { (expression_statement "pbVar20 = local_260;" (assignment_expression "pbVar20 = local_260" identifier = identifier) ;) (expression_statement "local_254 = iVar9;" (assignment_expression "local_254 = iVar9" identifier = identifier) ;) (if_statement "if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" if (parenthesized_expression "(bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0')" ( (binary_expression "bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0'" identifier || (binary_expression "SBORROW1(bVar4,'\\') != cVar2 < '\0'" (call_expression "SBORROW1(bVar4,'\\')" identifier (argument_list "(bVar4,'\\')" ( identifier , (char_literal "'\\'" ' escape_sequence ') ))) != (binary_expression "cVar2 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')))) )) (compound_statement "{\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }" { (expression_statement "uVar16 = local_24c;" (assignment_expression "uVar16 = local_24c" identifier = identifier) ;) (if_statement "if (bVar4 == 0x2c) goto LAB_00026940;" if (parenthesized_expression "(bVar4 == 0x2c)" ( (binary_expression "bVar4 == 0x2c" identifier == number_literal) )) (goto_statement "goto LAB_00026940;" goto statement_identifier ;)) (if_statement "if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }" if (parenthesized_expression "(bVar4 == 0x5b)" ( (binary_expression "bVar4 == 0x5b" identifier == number_literal) )) (compound_statement "{\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }" { (labeled_statement "LAB_00026ae0:\n                  pcVar13 = "nested brace";" statement_identifier : (expression_statement "pcVar13 = "nested brace";" (assignment_expression "pcVar13 = "nested brace"" identifier = (string_literal ""nested brace"" " string_content ")) ;)) (goto_statement "goto LAB_0002650e;" goto statement_identifier ;) })) (if_statement "if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }" { (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "unmatched brace";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "unmatched brace"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""unmatched brace"" " string_content ")) ;) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00026aa3;" goto statement_identifier ;) })) }) (else_clause "else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" else (compound_statement "{\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" { (if_statement "if (bVar4 == 0x7b) goto LAB_00026ae0;" if (parenthesized_expression "(bVar4 == 0x7b)" ( (binary_expression "bVar4 == 0x7b" identifier == number_literal) )) (goto_statement "goto LAB_00026ae0;" goto statement_identifier ;)) (if_statement "if (bVar4 == 0x7d) goto LAB_00026a58;" if (parenthesized_expression "(bVar4 == 0x7d)" ( (binary_expression "bVar4 == 0x7d" identifier == number_literal) )) (goto_statement "goto LAB_00026a58;" goto statement_identifier ;)) (if_statement "if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }" if (parenthesized_expression "(bVar4 == 0x5d)" ( (binary_expression "bVar4 == 0x5d" identifier == number_literal) )) (compound_statement "{\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }" { (expression_statement "pcVar13 = "unexpected close bracket";" (assignment_expression "pcVar13 = "unexpected close bracket"" identifier = (string_literal ""unexpected close bracket"" " string_content ")) ;) (goto_statement "goto LAB_0002650e;" goto statement_identifier ;) })) }))) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pbVar22 = local_260 + 1;" (assignment_expression "pbVar22 = local_260 + 1" identifier = (binary_expression "local_260 + 1" identifier + number_literal)) ;) (while_statement "while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }" { (expression_statement "local_260 = pbVar22;" (assignment_expression "local_260 = pbVar22" identifier = identifier) ;) (expression_statement "*pbVar17 = bVar4;" (assignment_expression "*pbVar17 = bVar4" (pointer_expression "*pbVar17" * identifier) = identifier) ;) (expression_statement "bVar4 = *pbVar19;" (assignment_expression "bVar4 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = bVar4 + 0xa4;" (assignment_expression "cVar2 = bVar4 + 0xa4" identifier = (binary_expression "bVar4 + 0xa4" identifier + number_literal)) ;) (expression_statement "bVar24 = cVar2 == '\0';" (assignment_expression "bVar24 = cVar2 == '\0'" identifier = (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (if_statement "if (!bVar24) break;" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0002643a:\n                pbVar19 = pbVar20 + 1;" statement_identifier : (expression_statement "pbVar19 = pbVar20 + 1;" (assignment_expression "pbVar19 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;)) (expression_statement "pbVar22 = local_260 + 1;" (assignment_expression "pbVar22 = local_260 + 1" identifier = (binary_expression "local_260 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }" if (parenthesized_expression "(pbVar20[1] != 0)" ( (binary_expression "pbVar20[1] != 0" (subscript_expression "pbVar20[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }" { (expression_statement "pbVar19 = pbVar20 + 2;" (assignment_expression "pbVar19 = pbVar20 + 2" identifier = (binary_expression "pbVar20 + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = pbVar20[1];" (assignment_expression "bVar4 = pbVar20[1]" identifier = (subscript_expression "pbVar20[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar22 = local_260 + 2;" (assignment_expression "pbVar22 = local_260 + 2" identifier = (binary_expression "local_260 + 2" identifier + number_literal)) ;) })) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) })) (expression_statement "local_264 = local_264 + 1;" (assignment_expression "local_264 = local_264 + 1" identifier = (binary_expression "local_264 + 1" identifier + number_literal)) ;) (expression_statement "pbVar17 = local_268 + 1;" (assignment_expression "pbVar17 = local_268 + 1" identifier = (binary_expression "local_268 + 1" identifier + number_literal)) ;) (expression_statement "iVar1 = local_254 + 1;" (assignment_expression "iVar1 = local_254 + 1" identifier = (binary_expression "local_254 + 1" identifier + number_literal)) ;) (expression_statement "puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);" (assignment_expression "puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c)" identifier = (cast_expression "(undefined4 *)((int)pvVar7 + iVar9 * 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + iVar9 * 0x1c)" ( (binary_expression "(int)pvVar7 + iVar9 * 0x1c" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar9 * 0x1c" identifier * number_literal)) )))) ;) (expression_statement "puVar18[1] = local_254;" (assignment_expression "puVar18[1] = local_254" (subscript_expression "puVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar8 = FUN_000280f0(local_268[1]);" (assignment_expression "iVar8 = FUN_000280f0(local_268[1])" identifier = (call_expression "FUN_000280f0(local_268[1])" identifier (argument_list "(local_268[1])" ( (subscript_expression "local_268[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" { (expression_statement "iVar8 = FUN_00028000(local_268[1]);" (assignment_expression "iVar8 = FUN_00028000(local_268[1])" identifier = (call_expression "FUN_00028000(local_268[1])" identifier (argument_list "(local_268[1])" ( (subscript_expression "local_268[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }" { (expression_statement "*puVar18 = 3;" (assignment_expression "*puVar18 = 3" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "puVar18[4] = 0;" (assignment_expression "puVar18[4] = 0" (subscript_expression "puVar18[4]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }" if (parenthesized_expression "(local_268[1] == 0x30)" ( (binary_expression "local_268[1] == 0x30" (subscript_expression "local_268[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }" { (expression_statement "bVar4 = 0x30;" (assignment_expression "bVar4 = 0x30" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar17;" (assignment_expression "pbVar20 = pbVar17" identifier = identifier) ;) (while_statement "while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }" while (parenthesized_expression "(iVar8 = FUN_00028000(bVar4), iVar8 != 0)" ( (comma_expression "iVar8 = FUN_00028000(bVar4), iVar8 != 0" (assignment_expression "iVar8 = FUN_00028000(bVar4)" identifier = (call_expression "FUN_00028000(bVar4)" identifier (argument_list "(bVar4)" ( identifier )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )) (compound_statement "{\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }" { (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (expression_statement "puVar18[4] = puVar18[4] + 1;" (assignment_expression "puVar18[4] = puVar18[4] + 1" (subscript_expression "puVar18[4]" identifier [ number_literal ]) = (binary_expression "puVar18[4] + 1" (subscript_expression "puVar18[4]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "bVar4 = *pbVar20;" (assignment_expression "bVar4 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) })) })) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" * identifier) = number_literal) ;) (expression_statement "uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);" (assignment_expression "uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10)" identifier = (call_expression "strtoul((char *)pbVar17,(char **)&local_224,10)" identifier (argument_list "((char *)pbVar17,(char **)&local_224,10)" ( (cast_expression "(char *)pbVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)&local_224" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_224" & identifier)) , number_literal )))) ;) (if_statement "if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;" if (parenthesized_expression "(((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))" ( (binary_expression "((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d)" (parenthesized_expression "((*piVar15 != 0) || (pbVar17 == local_224))" ( (binary_expression "(*piVar15 != 0) || (pbVar17 == local_224)" (parenthesized_expression "(*piVar15 != 0)" ( (binary_expression "*piVar15 != 0" (pointer_expression "*piVar15" * identifier) != number_literal) )) || (parenthesized_expression "(pbVar17 == local_224)" ( (binary_expression "pbVar17 == local_224" identifier == identifier) ))) )) || (parenthesized_expression "(*local_224 != 0x2d)" ( (binary_expression "*local_224 != 0x2d" (pointer_expression "*local_224" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;)) (expression_statement "local_250 = local_224 + 1;" (assignment_expression "local_250 = local_224 + 1" identifier = (binary_expression "local_224 + 1" identifier + number_literal)) ;) (expression_statement "bVar4 = local_224[1];" (assignment_expression "bVar4 = local_224[1]" identifier = (subscript_expression "local_224[1]" identifier [ number_literal ])) ;) (while_statement "while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }" while (parenthesized_expression "((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))))" ( (parenthesized_expression "(bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))" ( (comma_expression "bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))" (assignment_expression "bVar3 = 0" identifier = number_literal) , (binary_expression "bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))" (binary_expression "bVar4 != 0" identifier != number_literal) && (parenthesized_expression "((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))" ( (parenthesized_expression "(bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))" ( (binary_expression "bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)" (binary_expression "bVar4 == 0x20" identifier == number_literal) || (parenthesized_expression "(bVar3 = bVar4, bVar4 == 9)" ( (comma_expression "bVar3 = bVar4, bVar4 == 9" (assignment_expression "bVar3 = bVar4" identifier = identifier) , (binary_expression "bVar4 == 9" identifier == number_literal)) ))) )) )))) )) )) (compound_statement "{\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }" { (expression_statement "local_250 = (byte *)((int)local_250 + 1);" (assignment_expression "local_250 = (byte *)((int)local_250 + 1)" identifier = (cast_expression "(byte *)((int)local_250 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_250 + 1)" ( (binary_expression "(int)local_250 + 1" (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar4 = *local_250;" (assignment_expression "bVar4 = *local_250" identifier = (pointer_expression "*local_250" * identifier)) ;) })) (expression_statement "iVar8 = FUN_00028000(bVar3);" (assignment_expression "iVar8 = FUN_00028000(bVar3)" identifier = (call_expression "FUN_00028000(bVar3)" identifier (argument_list "(bVar3)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }" { (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" * identifier) = number_literal) ;) (expression_statement "uVar11 = strtoul((char *)local_250,(char **)&local_224,10);" (assignment_expression "uVar11 = strtoul((char *)local_250,(char **)&local_224,10)" identifier = (call_expression "strtoul((char *)local_250,(char **)&local_224,10)" identifier (argument_list "((char *)local_250,(char **)&local_224,10)" ( (cast_expression "(char *)local_250" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)&local_224" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_224" & identifier)) , number_literal )))) ;) (if_statement "if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }" if (parenthesized_expression "(*piVar15 == 0)" ( (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" * identifier) == number_literal) )) (compound_statement "{\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }" { (if_statement "if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" if (parenthesized_expression "(*local_224 == 0x3a)" ( (binary_expression "*local_224 == 0x3a" (pointer_expression "*local_224" * identifier) == number_literal) )) (compound_statement "{\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }" { (expression_statement "local_250 = local_224 + 1;" (assignment_expression "local_250 = local_224 + 1" identifier = (binary_expression "local_224 + 1" identifier + number_literal)) ;) (expression_statement "local_258 = strtoul((char *)local_250,(char **)&local_224,10);" (assignment_expression "local_258 = strtoul((char *)local_250,(char **)&local_224,10)" identifier = (call_expression "strtoul((char *)local_250,(char **)&local_224,10)" identifier (argument_list "((char *)local_250,(char **)&local_224,10)" ( (cast_expression "(char *)local_250" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)&local_224" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_224" & identifier)) , number_literal )))) ;) (if_statement "if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }" if (parenthesized_expression "(((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d))" ( (binary_expression "((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)" (parenthesized_expression "((*piVar15 == 0) && (local_224 != (byte *)0x0))" ( (binary_expression "(*piVar15 == 0) && (local_224 != (byte *)0x0)" (parenthesized_expression "(*piVar15 == 0)" ( (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" * identifier) == number_literal) )) && (parenthesized_expression "(local_224 != (byte *)0x0)" ( (binary_expression "local_224 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(*local_224 == 0x5d)" ( (binary_expression "*local_224 == 0x5d" (pointer_expression "*local_224" * identifier) == number_literal) ))) )) (compound_statement "{\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }" { (expression_statement "local_268 = local_224 + 1;" (assignment_expression "local_268 = local_224 + 1" identifier = (binary_expression "local_224 + 1" identifier + number_literal)) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar17)" ( (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;" if (parenthesized_expression "(((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1))))" ( (binary_expression "((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))" (parenthesized_expression "((local_224 == (byte *)0x0) || (local_258 == 0))" ( (binary_expression "(local_224 == (byte *)0x0) || (local_258 == 0)" (parenthesized_expression "(local_224 == (byte *)0x0)" ( (binary_expression "local_224 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_258 == 0)" ( (binary_expression "local_258 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "((uVar10 == uVar11 && (local_258 != 1)))" ( (parenthesized_expression "(uVar10 == uVar11 && (local_258 != 1))" ( (binary_expression "uVar10 == uVar11 && (local_258 != 1)" (binary_expression "uVar10 == uVar11" identifier == identifier) && (parenthesized_expression "(local_258 != 1)" ( (binary_expression "local_258 != 1" identifier != number_literal) ))) )) ))) )) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;)) (goto_statement "goto LAB_00026e40;" goto statement_identifier ;) })) }) (else_clause "else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" else (if_statement "if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" if (parenthesized_expression "(*local_224 == 0x5d)" ( (binary_expression "*local_224 == 0x5d" (pointer_expression "*local_224" * identifier) == number_literal) )) (compound_statement "{\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" { (expression_statement "local_258 = 1;" (assignment_expression "local_258 = 1" identifier = number_literal) ;) (expression_statement "local_268 = local_224 + 1;" (assignment_expression "local_268 = local_224 + 1" identifier = (binary_expression "local_224 + 1" identifier + number_literal)) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar17)" ( (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;" statement_identifier : (if_statement "if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;" if (parenthesized_expression "((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))" ( (binary_expression "(uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258)))" (parenthesized_expression "(uVar10 != uVar11)" ( (binary_expression "uVar10 != uVar11" identifier != identifier) )) && (parenthesized_expression "((uVar11 < uVar10 || (uVar11 - uVar10 < local_258)))" ( (parenthesized_expression "(uVar11 < uVar10 || (uVar11 - uVar10 < local_258))" ( (binary_expression "uVar11 < uVar10 || (uVar11 - uVar10 < local_258)" (binary_expression "uVar11 < uVar10" identifier < identifier) || (parenthesized_expression "(uVar11 - uVar10 < local_258)" ( (binary_expression "uVar11 - uVar10 < local_258" (binary_expression "uVar11 - uVar10" identifier - identifier) < identifier) ))) )) ))) )) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;))) (expression_statement "puVar18[2] = uVar10;" (assignment_expression "puVar18[2] = uVar10" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18[5] = uVar10;" (assignment_expression "puVar18[5] = uVar10" (subscript_expression "puVar18[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18[3] = uVar11;" (assignment_expression "puVar18[3] = uVar11" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;" (assignment_expression "*(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258" (pointer_expression "*(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18)" * (cast_expression "(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + iVar9 * 0x1c + 0x18)" ( (binary_expression "(int)pvVar7 + iVar9 * 0x1c + 0x18" (binary_expression "(int)pvVar7 + iVar9 * 0x1c" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar9 * 0x1c" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;" (assignment_expression "uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1" identifier = (binary_expression "(uint)(puVar18[3] - puVar18[2]) / local_258 + 1" (binary_expression "(uint)(puVar18[3] - puVar18[2]) / local_258" (call_expression "(uint)(puVar18[3] - puVar18[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar18[3] - puVar18[2])" ( (binary_expression "puVar18[3] - puVar18[2]" (subscript_expression "puVar18[3]" identifier [ number_literal ]) - (subscript_expression "puVar18[2]" identifier [ number_literal ])) ))) / identifier) + number_literal)) ;) (expression_statement "uVar21 = uVar16;" (assignment_expression "uVar21 = uVar16" identifier = identifier) ;) (if_statement "if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }" if (parenthesized_expression "((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))" ( (binary_expression "(uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c)" (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c)" ( (comma_expression "uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c" (assignment_expression "uVar21 = local_24c * uVar16" identifier = (binary_expression "local_24c * uVar16" identifier * identifier)) , (binary_expression "uVar21 / uVar16 == local_24c" (binary_expression "uVar21 / uVar16" identifier / identifier) == identifier)) ))) )) (compound_statement "{\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }" { (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_254 = iVar1;" (assignment_expression "local_254 = iVar1" identifier = identifier) ;) (expression_statement "local_24c = uVar21;" (assignment_expression "local_24c = uVar21" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) })) (goto_statement "goto LAB_00026cf0;" goto statement_identifier ;) })))) })) })) (expression_statement "local_264 = local_250 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_250 + ((int)local_264 - (int)pbVar17)" identifier = (binary_expression "local_250 + ((int)local_264 - (int)pbVar17)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar17)" ( (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_000266e1;" goto statement_identifier ;) })) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "bad range specification";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "bad range specification"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""bad range specification"" " string_content ")) ;) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" else (compound_statement "{\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" { (expression_statement "*puVar18 = 2;" (assignment_expression "*puVar18 = 2" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);" (assignment_expression "iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225)" identifier = (call_expression "__isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225)" identifier (argument_list "(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225)" ( identifier , (string_literal ""%c-%c%c"" " string_content ") , (pointer_expression "&local_227" & identifier) , (pointer_expression "&local_226" & identifier) , (pointer_expression "&local_225" & identifier) )))) ;) (if_statement "if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }" if (parenthesized_expression "(iVar9 == 3)" ( (binary_expression "iVar9 == 3" identifier == number_literal) )) (compound_statement "{\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }" { (if_statement "if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" if (parenthesized_expression "(local_225 == ':')" ( (binary_expression "local_225 == ':'" identifier == (char_literal "':'" ' character ')) )) (compound_statement "{\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }" { (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" * identifier) = number_literal) ;) (expression_statement "local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);" (assignment_expression "local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10)" identifier = (call_expression "strtoul((char *)(local_268 + 5),(char **)&local_224,10)" identifier (argument_list "((char *)(local_268 + 5),(char **)&local_224,10)" ( (cast_expression "(char *)(local_268 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_268 + 5)" ( (binary_expression "local_268 + 5" identifier + number_literal) ))) , (cast_expression "(char **)&local_224" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_224" & identifier)) , number_literal )))) ;) (if_statement "if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }" if (parenthesized_expression "(((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d))" ( (binary_expression "((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)" (parenthesized_expression "((*piVar15 == 0) && (local_268 + 5 != local_224))" ( (binary_expression "(*piVar15 == 0) && (local_268 + 5 != local_224)" (parenthesized_expression "(*piVar15 == 0)" ( (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" * identifier) == number_literal) )) && (parenthesized_expression "(local_268 + 5 != local_224)" ( (binary_expression "local_268 + 5 != local_224" (binary_expression "local_268 + 5" identifier + number_literal) != identifier) ))) )) && (parenthesized_expression "(*local_224 == 0x5d)" ( (binary_expression "*local_224 == 0x5d" (pointer_expression "*local_224" * identifier) == number_literal) ))) )) (compound_statement "{\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }" { (expression_statement "local_268 = local_224 + 1;" (assignment_expression "local_268 = local_224 + 1" identifier = (binary_expression "local_224 + 1" identifier + number_literal)) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar17)" ( (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }" if (parenthesized_expression "((local_254 != 0) && (-1 < (int)local_254))" ( (binary_expression "(local_254 != 0) && (-1 < (int)local_254)" (parenthesized_expression "(local_254 != 0)" ( (binary_expression "local_254 != 0" identifier != number_literal) )) && (parenthesized_expression "(-1 < (int)local_254)" ( (binary_expression "-1 < (int)local_254" number_literal < (cast_expression "(int)local_254" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }" { (if_statement "if (local_227 != local_226) goto LAB_00026b80;" if (parenthesized_expression "(local_227 != local_226)" ( (binary_expression "local_227 != local_226" identifier != identifier) )) (goto_statement "goto LAB_00026b80;" goto statement_identifier ;)) (if_statement "if (local_254 == 1) goto LAB_00026dac;" if (parenthesized_expression "(local_254 == 1)" ( (binary_expression "local_254 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00026dac;" goto statement_identifier ;)) })) })) }) (else_clause "else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" else (if_statement "if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" if (parenthesized_expression "(local_225 == ']')" ( (binary_expression "local_225 == ']'" identifier == (char_literal "']'" ' character ')) )) (compound_statement "{\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" { (expression_statement "local_268 = local_268 + 5;" (assignment_expression "local_268 = local_268 + 5" identifier = (binary_expression "local_268 + 5" identifier + number_literal)) ;) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" identifier = (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" identifier + (parenthesized_expression "((int)local_264 - (int)pbVar17)" ( (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }" if (parenthesized_expression "(local_227 == local_226)" ( (binary_expression "local_227 == local_226" identifier == identifier) )) (compound_statement "{\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }" { (labeled_statement "LAB_00026dac:\n                local_250 = (byte *)(int)local_227;" statement_identifier : (expression_statement "local_250 = (byte *)(int)local_227;" (assignment_expression "local_250 = (byte *)(int)local_227" identifier = (cast_expression "(byte *)(int)local_227" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)local_227" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "iVar9 = (int)local_226;" (assignment_expression "iVar9 = (int)local_226" identifier = (cast_expression "(int)local_226" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_254 = 1;" (assignment_expression "local_254 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;" statement_identifier : (expression_statement "*(char *)(puVar18 + 2) = local_227;" (assignment_expression "*(char *)(puVar18 + 2) = local_227" (pointer_expression "*(char *)(puVar18 + 2)" * (cast_expression "(char *)(puVar18 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(char *)((int)puVar18 + 10) = local_227;" (assignment_expression "*(char *)((int)puVar18 + 10) = local_227" (pointer_expression "*(char *)((int)puVar18 + 10)" * (cast_expression "(char *)((int)puVar18 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 10)" ( (binary_expression "(int)puVar18 + 10" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char *)((int)puVar18 + 9) = local_226;" (assignment_expression "*(char *)((int)puVar18 + 9) = local_226" (pointer_expression "*(char *)((int)puVar18 + 9)" * (cast_expression "(char *)((int)puVar18 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 9)" ( (binary_expression "(int)puVar18 + 9" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar18[3] = local_254;" (assignment_expression "puVar18[3] = local_254" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;" (assignment_expression "uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1" identifier = (binary_expression "(iVar9 - (int)local_250) / (int)local_254 + 1" (binary_expression "(iVar9 - (int)local_250) / (int)local_254" (parenthesized_expression "(iVar9 - (int)local_250)" ( (binary_expression "iVar9 - (int)local_250" identifier - (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier)) )) / (cast_expression "(int)local_254" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (if_statement "if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }" { (expression_statement "local_24c = 0;" (assignment_expression "local_24c = 0" identifier = number_literal) ;) (expression_statement "uVar16 = local_24c;" (assignment_expression "uVar16 = local_24c" identifier = identifier) ;) }) (else_clause "else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }" else (compound_statement "{\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }" { (expression_statement "uVar16 = local_24c * uVar21;" (assignment_expression "uVar16 = local_24c * uVar21" identifier = (binary_expression "local_24c * uVar21" identifier * identifier)) ;) (if_statement "if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }" if (parenthesized_expression "((local_24c * uVar21) / uVar21 != local_24c)" ( (binary_expression "(local_24c * uVar21) / uVar21 != local_24c" (binary_expression "(local_24c * uVar21) / uVar21" (parenthesized_expression "(local_24c * uVar21)" ( (binary_expression "local_24c * uVar21" identifier * identifier) )) / identifier) != identifier) )) (compound_statement "{\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }" { (labeled_statement "LAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";" statement_identifier : (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "range overflow";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "range overflow"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""range overflow"" " string_content ")) ;)) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000266f7;" goto statement_identifier ;) })) }))) (expression_statement "local_24c = uVar16;" (assignment_expression "local_24c = uVar16" identifier = identifier) ;) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_254 = iVar1;" (assignment_expression "local_254 = iVar1" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) })) (expression_statement "local_254 = 1;" (assignment_expression "local_254 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" statement_identifier : (if_statement "if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" if (parenthesized_expression "(local_227 <= local_226)" ( (binary_expression "local_227 <= local_226" identifier <= identifier) )) (compound_statement "{\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" { (expression_statement "local_250 = (byte *)(int)local_227;" (assignment_expression "local_250 = (byte *)(int)local_227" identifier = (cast_expression "(byte *)(int)local_227" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)local_227" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar9 = (int)local_226;" (assignment_expression "iVar9 = (int)local_226" identifier = (cast_expression "(int)local_226" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;" if (parenthesized_expression "((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   )" ( (binary_expression "(local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)" (parenthesized_expression "(local_254 <= (uint)(iVar9 - (int)local_250))" ( (binary_expression "local_254 <= (uint)(iVar9 - (int)local_250)" identifier <= (call_expression "(uint)(iVar9 - (int)local_250)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar9 - (int)local_250)" ( (binary_expression "iVar9 - (int)local_250" identifier - (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) && (parenthesized_expression "(iVar9 - (int)local_250 < 0x1a)" ( (binary_expression "iVar9 - (int)local_250 < 0x1a" (binary_expression "iVar9 - (int)local_250" identifier - (cast_expression "(int)local_250" ( (type_descriptor "int" primitive_type) ) identifier)) < number_literal) ))) )) (goto_statement "goto LAB_00026bab;" goto statement_identifier ;)) }))) })))) })) (labeled_statement "LAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";" statement_identifier : (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "bad range";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "bad range"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""bad range"" " string_content ")) ;)) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }))) (labeled_statement "LAB_000266f7:\n        local_260 = (byte *)0x3;" statement_identifier : (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;" (assignment_expression "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1" identifier = (binary_expression "*(int *)((int)pvVar7 + 0xaf0) + 1" (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" * (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_268 = pbVar17;" (assignment_expression "local_268 = pbVar17" identifier = identifier) ;) (expression_statement "local_254 = iVar1;" (assignment_expression "local_254 = iVar1" identifier = identifier) ;) }) while (parenthesized_expression "(uVar21 < 100)" ( (binary_expression "uVar21 < 100" identifier < number_literal) )) ;)) (goto_statement "goto LAB_0002654a;" goto statement_identifier ;) })) (expression_statement "free(puVar6);" (call_expression "free(puVar6)" identifier (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00028220();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00028220();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_00028220();\n  }" { (expression_statement "FUN_00028220();" (call_expression "FUN_00028220()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return (int)local_260;" return (cast_expression "(int)local_260" ( (type_descriptor "int" primitive_type) ) identifier) ;) (labeled_statement "LAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }" statement_identifier : (if_statement "if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }" if (parenthesized_expression "(local_268 == pbVar19)" ( (binary_expression "local_268 == pbVar19" identifier == identifier) )) (compound_statement "{\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }" { (expression_statement "pcVar13 = "empty string within braces";" (assignment_expression "pcVar13 = "empty string within braces"" identifier = (string_literal ""empty string within braces"" " string_content ")) ;) (labeled_statement "LAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;" statement_identifier : (expression_statement "*(char **)((int)pvVar7 + 0xb00) = pcVar13;" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = pcVar13" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = pbVar20;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = pbVar20" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_264 = pbVar20;" (assignment_expression "local_264 = pbVar20" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) }))) (expression_statement "uVar21 = puVar18[3] + 1;" (assignment_expression "uVar21 = puVar18[3] + 1" identifier = (binary_expression "puVar18[3] + 1" (subscript_expression "puVar18[3]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n    local_24c = 0;\n    uVar16 = local_24c;\n  }" { (expression_statement "local_24c = 0;" (assignment_expression "local_24c = 0" identifier = number_literal) ;) (expression_statement "uVar16 = local_24c;" (assignment_expression "uVar16 = local_24c" identifier = identifier) ;) }) (else_clause "else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }" else (compound_statement "{\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }" { (expression_statement "uVar16 = local_24c * uVar21;" (assignment_expression "uVar16 = local_24c * uVar21" identifier = (binary_expression "local_24c * uVar21" identifier * identifier)) ;) (if_statement "if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }" if (parenthesized_expression "((local_24c * uVar21) / uVar21 != local_24c)" ( (binary_expression "(local_24c * uVar21) / uVar21 != local_24c" (binary_expression "(local_24c * uVar21) / uVar21" (parenthesized_expression "(local_24c * uVar21)" ( (binary_expression "local_24c * uVar21" identifier * identifier) )) / identifier) != identifier) )) (compound_statement "{\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }" { (expression_statement "*(undefined4 *)((int)pvVar7 + 0xb04) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar7 + 0xb04) = 0" (pointer_expression "*(undefined4 *)((int)pvVar7 + 0xb04)" * (cast_expression "(undefined4 *)((int)pvVar7 + 0xb04)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "range overflow";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "range overflow"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""range overflow"" " string_content ")) ;) (labeled_statement "LAB_00026aa3:\n      local_260 = (byte *)0x3;" statement_identifier : (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;" (assignment_expression "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1" identifier = (binary_expression "*(int *)((int)pvVar7 + 0xaf0) + 1" (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" * (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_264 = pbVar20;" (assignment_expression "local_264 = pbVar20" identifier = identifier) ;) (goto_statement "goto joined_r0x00026acd;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00026940:\n  local_24c = uVar16;" statement_identifier : (expression_statement "local_24c = uVar16;" (assignment_expression "local_24c = uVar16" identifier = identifier) ;)) (expression_statement "*pbVar17 = 0;" (assignment_expression "*pbVar17 = 0" (pointer_expression "*pbVar17" * identifier) = number_literal) ;) (if_statement "if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }" if (parenthesized_expression "((void *)puVar18[2] == (void *)0x0)" ( (binary_expression "(void *)puVar18[2] == (void *)0x0" (cast_expression "(void *)puVar18[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[2]" identifier [ number_literal ])) == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }" { (expression_statement "pvVar12 = malloc(4);" (assignment_expression "pvVar12 = malloc(4)" identifier = (call_expression "malloc(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (expression_statement "puVar18[2] = pvVar12;" (assignment_expression "puVar18[2] = pvVar12" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pvVar12 == (void *)0x0) goto LAB_00026c32;" if (parenthesized_expression "(pvVar12 == (void *)0x0)" ( (binary_expression "pvVar12 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026c32;" goto statement_identifier ;)) }) (else_clause "else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }" else (compound_statement "{\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }" { (expression_statement "pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);" (assignment_expression "pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4)" identifier = (call_expression "realloc((void *)puVar18[2],puVar18[3] * 4 + 4)" identifier (argument_list "((void *)puVar18[2],puVar18[3] * 4 + 4)" ( (cast_expression "(void *)puVar18[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar18[2]" identifier [ number_literal ])) , (binary_expression "puVar18[3] * 4 + 4" (binary_expression "puVar18[3] * 4" (subscript_expression "puVar18[3]" identifier [ number_literal ]) * number_literal) + number_literal) )))) ;) (if_statement "if (pvVar12 == (void *)0x0) goto LAB_00026c32;" if (parenthesized_expression "(pvVar12 == (void *)0x0)" ( (binary_expression "pvVar12 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026c32;" goto statement_identifier ;)) (expression_statement "puVar18[2] = pvVar12;" (assignment_expression "puVar18[2] = pvVar12" (subscript_expression "puVar18[2]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "iVar1 = puVar18[3];" (assignment_expression "iVar1 = puVar18[3]" identifier = (subscript_expression "puVar18[3]" identifier [ number_literal ])) ;) (expression_statement "pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));" (assignment_expression "pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8))" identifier = (call_expression "strdup(*(char **)((int)pvVar7 + 0xaf8))" identifier (argument_list "(*(char **)((int)pvVar7 + 0xaf8))" ( (pointer_expression "*(char **)((int)pvVar7 + 0xaf8)" * (cast_expression "(char **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;" (assignment_expression "*(char **)((int)pvVar12 + iVar1 * 4) = pcVar13" (pointer_expression "*(char **)((int)pvVar12 + iVar1 * 4)" * (cast_expression "(char **)((int)pvVar12 + iVar1 * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar12 + iVar1 * 4)" ( (binary_expression "(int)pvVar12 + iVar1 * 4" (cast_expression "(int)pvVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) = identifier) ;) (if_statement "if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }" if (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }" { (expression_statement "pbVar20 = pbVar19 + 1;" (assignment_expression "pbVar20 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "puVar18[3] = iVar1 + 1;" (assignment_expression "puVar18[3] = iVar1 + 1" (subscript_expression "puVar18[3]" identifier [ number_literal ]) = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (if_statement "if (*pbVar19 == 0x7d) goto LAB_00026cc0;" if (parenthesized_expression "(*pbVar19 == 0x7d)" ( (binary_expression "*pbVar19 == 0x7d" (pointer_expression "*pbVar19" * identifier) == number_literal) )) (goto_statement "goto LAB_00026cc0;" goto statement_identifier ;)) (expression_statement "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);" (assignment_expression "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8)" identifier = (pointer_expression "*(byte **)((int)pvVar7 + 0xaf8)" * (cast_expression "(byte **)((int)pvVar7 + 0xaf8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xaf8)" ( (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_00026401;" goto statement_identifier ;) })) (labeled_statement "LAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);" statement_identifier : (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)pvVar7 + 0xb04) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar7 + 0xb04) = 0" (pointer_expression "*(undefined4 *)((int)pvVar7 + 0xb04)" * (cast_expression "(undefined4 *)((int)pvVar7 + 0xb04)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "out of memory";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "out of memory"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""out of memory"" " string_content ")) ;) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" identifier = (cast_expression "(byte *)0x1b" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_264 = pbVar20;" (assignment_expression "local_264 = pbVar20" identifier = identifier) ;) (goto_statement "goto LAB_00026538;" goto statement_identifier ;) (labeled_statement "LAB_00026cc0:\n  local_264 = local_260;" statement_identifier : (expression_statement "local_264 = local_260;" (assignment_expression "local_264 = local_260" identifier = identifier) ;)) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" * (cast_expression "(int *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "local_268 = pbVar20;" (assignment_expression "local_268 = pbVar20" identifier = identifier) ;) (labeled_statement "LAB_00026538:\n  uVar21 = iVar9 + 1;" statement_identifier : (expression_statement "uVar21 = iVar9 + 1;" (assignment_expression "uVar21 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;)) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" * (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xaf0)" ( (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (labeled_statement "joined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;" statement_identifier : (if_statement "if (99 < uVar21) goto LAB_0002654a;" if (parenthesized_expression "(99 < uVar21)" ( (binary_expression "99 < uVar21" number_literal < identifier) )) (goto_statement "goto LAB_0002654a;" goto statement_identifier ;))) (goto_statement "goto LAB_00026300;" goto statement_identifier ;) (labeled_statement "LAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";" statement_identifier : (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "too many globs";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "too many globs"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" * (cast_expression "(char **)((int)pvVar7 + 0xb00)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""too many globs"" " string_content ")) ;)) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" * (cast_expression "(byte **)((int)pvVar7 + 0xb04)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" statement_identifier : (if_statement "if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    local_260 = (byte *)0x3;\n  }" { (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" else (compound_statement "{\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" { (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);" (assignment_expression "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00)" identifier = (pointer_expression "*(undefined1 **)((int)pvVar7 + 0xb00)" * (cast_expression "(undefined1 **)((int)pvVar7 + 0xb00)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pvVar7 + 0xb00)" ( (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (labeled_statement "LAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);" statement_identifier : (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xb04);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xb04)" identifier = (pointer_expression "*(int *)((int)pvVar7 + 0xb04)" * (cast_expression "(int *)((int)pvVar7 + 0xb04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar7 + 0xb04)" ( (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "puVar14 = puVar6;" (assignment_expression "puVar14 = puVar6" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }" { (expression_statement "puVar14 = local_220;" (assignment_expression "puVar14 = local_220" identifier = identifier) ;) (expression_statement "curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);" (call_expression "curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4)" identifier (argument_list "(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4)" ( identifier , number_literal , (string_literal ""%s in URL position %zu:\n%s\n%*s^"" " string_content escape_sequence string_content escape_sequence string_content ") , identifier , identifier , identifier , (binary_expression "iVar9 + -1" identifier + number_literal) , (pointer_expression "&DAT_000290e4" & identifier) ))) ;) })) (expression_statement "curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);" (call_expression "curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14)" identifier (argument_list "(param_4,"curl: (%d) %s\n",local_260,puVar14)" ( identifier , (string_literal ""curl: (%d) %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) })))) (labeled_statement "LAB_000268c6:\n  FUN_00026180(pvVar7);" statement_identifier : (expression_statement "FUN_00026180(pvVar7);" (call_expression "FUN_00026180(pvVar7)" identifier (argument_list "(pvVar7)" ( identifier ))) ;)) (expression_statement "*param_3 = 1;" (assignment_expression "*param_3 = 1" (pointer_expression "*param_3" * identifier) = number_literal) ;) (goto_statement "goto LAB_000268dc;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (do_statement do (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) + LIT) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (binary_expression IDENT * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT || (binary_expression (call_expression IDENT (argument_list ( IDENT , (char_literal ' escape_sequence ') ))) != (binary_expression IDENT < (char_literal ' escape_sequence ')))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 = (string_literal " string_content ")) ;)) (goto_statement goto statement_identifier ;) })) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) }) while (parenthesized_expression ( BOOL )) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT)) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (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 = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT)) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT)) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) < IDENT) ))) )) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) ))) / IDENT) + LIT)) ;) (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 = (binary_expression IDENT * IDENT)) , (binary_expression (binary_expression IDENT / IDENT) == IDENT)) ))) )) (compound_statement { (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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })))) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT)) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT * IDENT) )) / IDENT) != IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < LIT) ))) )) (goto_statement goto statement_identifier ;)) }))) })))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return (cast_expression ( (type_descriptor TYPE) ) IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT * IDENT) )) / IDENT) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * LIT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (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) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 *)) ) LIT)) ;) (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) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (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)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (labeled_statement statement_identifier : (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) ))))) ;)) (expression_statement (assignment_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 ( IDENT , LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) })))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "int FUN_00026230(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  void *pvVar7;\n  void *__dest;\n  int iVar8;\n  int iVar9;\n  ulong uVar10;\n  ulong uVar11;\n  void *pvVar12;\n  char *pcVar13;\n  undefined1 *puVar14;\n  int *piVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  size_t __n;\n  undefined4 *puVar23;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char local_227;\n  char local_226;\n  char local_225;\n  byte *local_224;\n  undefined1 local_220 [512];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x26239;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  *param_1 = 0;\n  sVar5 = strlen((char *)param_2);\n  puVar6 = (undefined1 *)malloc(sVar5 + 1);\n  if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00028220();\n  }\n  return (int)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }\n  uVar21 = puVar18[3] + 1;\n  if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar16;\n  *pbVar17 = 0;\n  if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }\n  iVar1 = puVar18[3];\n  pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));\n  *(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;\n  if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n  *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar20;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  local_268 = pbVar20;\nLAB_00026538:\n  uVar21 = iVar9 + 1;\n  *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\njoined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";\n  *(byte **)((int)pvVar7 + 0xb04) = local_264;\nLAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }\nLAB_000268c6:\n  FUN_00026180(pvVar7);\n  *param_3 = 1;\n  goto LAB_000268dc;\n}" (primitive_type "int") (function_declarator "FUN_00026230(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)" (identifier "FUN_00026230") (parameter_list "(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint *param_3" (type_identifier "uint") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  void *pvVar7;\n  void *__dest;\n  int iVar8;\n  int iVar9;\n  ulong uVar10;\n  ulong uVar11;\n  void *pvVar12;\n  char *pcVar13;\n  undefined1 *puVar14;\n  int *piVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  byte *pbVar22;\n  size_t __n;\n  undefined4 *puVar23;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte *local_268;\n  byte *local_264;\n  byte *local_260;\n  size_t local_25c;\n  uint local_258;\n  uint local_254;\n  byte *local_250;\n  uint local_24c;\n  char local_227;\n  char local_226;\n  char local_225;\n  byte *local_224;\n  undefined1 local_220 [512];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x26239;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  *param_1 = 0;\n  sVar5 = strlen((char *)param_2);\n  puVar6 = (undefined1 *)malloc(sVar5 + 1);\n  if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }\nLAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00028220();\n  }\n  return (int)local_260;\nLAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }\n  uVar21 = puVar18[3] + 1;\n  if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }\nLAB_00026940:\n  local_24c = uVar16;\n  *pbVar17 = 0;\n  if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }\n  iVar1 = puVar18[3];\n  pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));\n  *(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;\n  if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }\nLAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n  *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n  local_260 = (byte *)0x1b;\n  local_264 = pbVar20;\n  goto LAB_00026538;\nLAB_00026cc0:\n  local_264 = local_260;\n  local_260 = (byte *)0x0;\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n  local_268 = pbVar20;\nLAB_00026538:\n  uVar21 = iVar9 + 1;\n  *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\njoined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;\n  goto LAB_00026300;\nLAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";\n  *(byte **)((int)pvVar7 + 0xb04) = local_264;\nLAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }\nLAB_000268c6:\n  FUN_00026180(pvVar7);\n  *param_3 = 1;\n  goto LAB_000268dc;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "undefined1 *puVar6;" (type_identifier "undefined1") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "void *pvVar7;" (primitive_type "void") (pointer_declarator "*pvVar7" (* "*") (identifier "pvVar7")) (; ";")) (declaration "void *__dest;" (primitive_type "void") (pointer_declarator "*__dest" (* "*") (identifier "__dest")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "ulong uVar11;" (type_identifier "ulong") (identifier "uVar11") (; ";")) (declaration "void *pvVar12;" (primitive_type "void") (pointer_declarator "*pvVar12" (* "*") (identifier "pvVar12")) (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "undefined1 *puVar14;" (type_identifier "undefined1") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "undefined4 *puVar18;" (type_identifier "undefined4") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "byte *pbVar22;" (type_identifier "byte") (pointer_declarator "*pbVar22" (* "*") (identifier "pbVar22")) (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "undefined4 *puVar23;" (type_identifier "undefined4") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar24;" (primitive_type "bool") (identifier "bVar24") (; ";")) (declaration "byte *local_268;" (type_identifier "byte") (pointer_declarator "*local_268" (* "*") (identifier "local_268")) (; ";")) (declaration "byte *local_264;" (type_identifier "byte") (pointer_declarator "*local_264" (* "*") (identifier "local_264")) (; ";")) (declaration "byte *local_260;" (type_identifier "byte") (pointer_declarator "*local_260" (* "*") (identifier "local_260")) (; ";")) (declaration "size_t local_25c;" (primitive_type "size_t") (identifier "local_25c") (; ";")) (declaration "uint local_258;" (type_identifier "uint") (identifier "local_258") (; ";")) (declaration "uint local_254;" (type_identifier "uint") (identifier "local_254") (; ";")) (declaration "byte *local_250;" (type_identifier "byte") (pointer_declarator "*local_250" (* "*") (identifier "local_250")) (; ";")) (declaration "uint local_24c;" (type_identifier "uint") (identifier "local_24c") (; ";")) (declaration "char local_227;" (primitive_type "char") (identifier "local_227") (; ";")) (declaration "char local_226;" (primitive_type "char") (identifier "local_226") (; ";")) (declaration "char local_225;" (primitive_type "char") (identifier "local_225") (; ";")) (declaration "byte *local_224;" (type_identifier "byte") (pointer_declarator "*local_224" (* "*") (identifier "local_224")) (; ";")) (declaration "undefined1 local_220 [512];" (type_identifier "undefined1") (array_declarator "local_220 [512]" (identifier "local_220") ([ "[") (number_literal "512") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x26239;" (assignment_expression "uStack_14 = 0x26239" (identifier "uStack_14") (= "=") (number_literal "0x26239")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "sVar5 = strlen((char *)param_2);" (assignment_expression "sVar5 = strlen((char *)param_2)" (identifier "sVar5") (= "=") (call_expression "strlen((char *)param_2)" (identifier "strlen") (argument_list "((char *)param_2)" (( "(") (cast_expression "(char *)param_2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_2")) () ")")))) (; ";")) (expression_statement "puVar6 = (undefined1 *)malloc(sVar5 + 1);" (assignment_expression "puVar6 = (undefined1 *)malloc(sVar5 + 1)" (identifier "puVar6") (= "=") (cast_expression "(undefined1 *)malloc(sVar5 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "malloc(sVar5 + 1)" (identifier "malloc") (argument_list "(sVar5 + 1)" (( "(") (binary_expression "sVar5 + 1" (identifier "sVar5") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (if_statement "if (puVar6 == (undefined1 *)0x0) {\n    local_260 = (byte *)0x1b;\n  }\n  else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }" (if "if") (parenthesized_expression "(puVar6 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar6 == (undefined1 *)0x0" (identifier "puVar6") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_260 = (byte *)0x1b;\n  }" ({ "{") (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" (identifier "local_260") (= "=") (cast_expression "(byte *)0x1b" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1b"))) (; ";")) (} "}")) (else_clause "else {\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }" (else "else") (compound_statement "{\n    *puVar6 = 0;\n    pvVar7 = calloc(1,0xb08);\n    if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }\n    free(puVar6);\n    local_260 = (byte *)0x1b;\n  }" ({ "{") (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pvVar7 = calloc(1,0xb08);" (assignment_expression "pvVar7 = calloc(1,0xb08)" (identifier "pvVar7") (= "=") (call_expression "calloc(1,0xb08)" (identifier "calloc") (argument_list "(1,0xb08)" (( "(") (number_literal "1") (, ",") (number_literal "0xb08") () ")")))) (; ";")) (if_statement "if (pvVar7 != (void *)0x0) {\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }" (if "if") (parenthesized_expression "(pvVar7 != (void *)0x0)" (( "(") (binary_expression "pvVar7 != (void *)0x0" (identifier "pvVar7") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;\n      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;\n      local_264 = (byte *)0x1;\n      local_268 = param_2;\n      local_24c = 1;\n      local_254 = 0;\n      local_260 = (byte *)0x0;\nLAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);\n      goto LAB_0002654a;\n    }" ({ "{") (expression_statement "*(size_t *)((int)pvVar7 + 0xaf4) = sVar5;" (assignment_expression "*(size_t *)((int)pvVar7 + 0xaf4) = sVar5" (pointer_expression "*(size_t *)((int)pvVar7 + 0xaf4)" (* "*") (cast_expression "(size_t *)((int)pvVar7 + 0xaf4)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf4)" (( "(") (binary_expression "(int)pvVar7 + 0xaf4" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf4")) () ")")))) (= "=") (identifier "sVar5")) (; ";")) (expression_statement "*(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;" (assignment_expression "*(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6" (pointer_expression "*(undefined1 **)((int)pvVar7 + 0xaf8)" (* "*") (cast_expression "(undefined1 **)((int)pvVar7 + 0xaf8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf8)" (( "(") (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf8")) () ")")))) (= "=") (identifier "puVar6")) (; ";")) (expression_statement "local_264 = (byte *)0x1;" (assignment_expression "local_264 = (byte *)0x1" (identifier "local_264") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_268 = param_2;" (assignment_expression "local_268 = param_2" (identifier "local_268") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_24c = 1;" (assignment_expression "local_24c = 1" (identifier "local_24c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_254 = 0;" (assignment_expression "local_254 = 0" (identifier "local_254") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" (identifier "local_260") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00026300:\n      do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);" (statement_identifier "LAB_00026300") (: ":") (do_statement "do {\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      } while (uVar21 < 100);" (do "do") (compound_statement "{\n        bVar4 = *local_268;\n        if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }\n        if (local_260 != (byte *)0x0) goto LAB_00026f4d;\n        local_25c = 0;\n        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n        while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }\n        if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }\n        iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n        if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }\n        local_264 = local_264 + 1;\n        pbVar17 = local_268 + 1;\n        iVar1 = local_254 + 1;\n        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);\n        puVar18[1] = local_254;\n        iVar8 = FUN_000280f0(local_268[1]);\n        if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\nLAB_000266f7:\n        local_260 = (byte *)0x3;\n        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n        local_268 = pbVar17;\n        local_254 = iVar1;\n      }" ({ "{") (expression_statement "bVar4 = *local_268;" (assignment_expression "bVar4 = *local_268" (identifier "bVar4") (= "=") (pointer_expression "*local_268" (* "*") (identifier "local_268"))) (; ";")) (if_statement "if (bVar4 == 0) {\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }" (if "if") (parenthesized_expression "(bVar4 == 0)" (( "(") (binary_expression "bVar4 == 0" (identifier "bVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }\nLAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;\n          goto LAB_000269de;\n        }" ({ "{") (if_statement "if (local_260 == (byte *)0x0) {\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }" (if "if") (parenthesized_expression "(local_260 == (byte *)0x0)" (( "(") (binary_expression "local_260 == (byte *)0x0" (identifier "local_260") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *param_3 = local_24c;\n            *param_1 = pvVar7;\n            goto LAB_000268dc;\n          }" ({ "{") (expression_statement "*param_3 = local_24c;" (assignment_expression "*param_3 = local_24c" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "local_24c")) (; ";")) (expression_statement "*param_1 = pvVar7;" (assignment_expression "*param_1 = pvVar7" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "pvVar7")) (; ";")) (goto_statement "goto LAB_000268dc;" (goto "goto") (statement_identifier "LAB_000268dc") (; ";")) (} "}"))) (labeled_statement "LAB_00026f4d:\n          if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;" (statement_identifier "LAB_00026f4d") (: ":") (if_statement "if ((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))\n          goto LAB_000268c6;" (if "if") (parenthesized_expression "((param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))" (( "(") (binary_expression "(param_4 == 0) ||\n             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0)" (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0)" (( "(") (comma_expression "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0" (assignment_expression "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined1 **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(undefined1 **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")"))))) (, ",") (binary_expression "puVar6 == (undefined1 *)0x0" (identifier "puVar6") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_000268c6;" (goto "goto") (statement_identifier "LAB_000268c6") (; ";")))) (goto_statement "goto LAB_000269de;" (goto "goto") (statement_identifier "LAB_000269de") (; ";")) (} "}"))) (if_statement "if (local_260 != (byte *)0x0) goto LAB_00026f4d;" (if "if") (parenthesized_expression "(local_260 != (byte *)0x0)" (( "(") (binary_expression "local_260 != (byte *)0x0" (identifier "local_260") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00026f4d;" (goto "goto") (statement_identifier "LAB_00026f4d") (; ";"))) (expression_statement "local_25c = 0;" (assignment_expression "local_25c = 0" (identifier "local_25c") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);" (assignment_expression "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8)" (identifier "pbVar17") (= "=") (pointer_expression "*(byte **)((int)pvVar7 + 0xaf8)" (* "*") (cast_expression "(byte **)((int)pvVar7 + 0xaf8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf8)" (( "(") (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf8")) () ")"))))) (; ";")) (while_statement "while ((bVar4 != 0 && (bVar4 != 0x7b))) {\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }" (while "while") (parenthesized_expression "((bVar4 != 0 && (bVar4 != 0x7b)))" (( "(") (parenthesized_expression "(bVar4 != 0 && (bVar4 != 0x7b))" (( "(") (binary_expression "bVar4 != 0 && (bVar4 != 0x7b)" (binary_expression "bVar4 != 0" (identifier "bVar4") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar4 != 0x7b)" (( "(") (binary_expression "bVar4 != 0x7b" (identifier "bVar4") (!= "!=") (number_literal "0x7b")) () ")"))) () ")")) () ")")) (compound_statement "{\n          if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }\n          pbVar17 = pbVar19;\n          local_268 = pbVar20;\n          bVar4 = *pbVar20;\n        }" ({ "{") (if_statement "if (bVar4 == 0x5b) {\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }\n          else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }" (if "if") (parenthesized_expression "(bVar4 == 0x5b)" (( "(") (binary_expression "bVar4 == 0x5b" (identifier "bVar4") (== "==") (number_literal "0x5b")) () ")")) (compound_statement "{\n            uVar21 = 0;\n            sVar5 = 1;\n            while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }\n            if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }\n            memcpy(pbVar17,local_268,__n);\n            local_25c = local_25c + __n;\n            pbVar19 = pbVar17 + __n;\n            pbVar20 = local_268 + __n;\n          }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "sVar5 = 1;" (assignment_expression "sVar5 = 1" (identifier "sVar5") (= "=") (number_literal "1")) (; ";")) (while_statement "while( true ) {\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));\n              if (bVar4 != 0x3a) break;\n              uVar21 = uVar21 + 1;\n            }" ({ "{") (do_statement "do {\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));" (do "do") (compound_statement "{\n                do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);\n              }" ({ "{") (do_statement "do {\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                } while (iVar9 != 0);" (do "do") (compound_statement "{\n                  __n = sVar5 + 1;\n                  bVar4 = local_268[sVar5];\n                  iVar9 = FUN_00028030(bVar4);\n                  sVar5 = __n;\n                }" ({ "{") (expression_statement "__n = sVar5 + 1;" (assignment_expression "__n = sVar5 + 1" (identifier "__n") (= "=") (binary_expression "sVar5 + 1" (identifier "sVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar4 = local_268[sVar5];" (assignment_expression "bVar4 = local_268[sVar5]" (identifier "bVar4") (= "=") (subscript_expression "local_268[sVar5]" (identifier "local_268") ([ "[") (identifier "sVar5") (] "]"))) (; ";")) (expression_statement "iVar9 = FUN_00028030(bVar4);" (assignment_expression "iVar9 = FUN_00028030(bVar4)" (identifier "iVar9") (= "=") (call_expression "FUN_00028030(bVar4)" (identifier "FUN_00028030") (argument_list "(bVar4)" (( "(") (identifier "bVar4") () ")")))) (; ";")) (expression_statement "sVar5 = __n;" (assignment_expression "sVar5 = __n" (identifier "sVar5") (= "=") (identifier "__n")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bVar4 == 0x2e) || (bVar4 == 0x25))" (( "(") (binary_expression "(bVar4 == 0x2e) || (bVar4 == 0x25)" (parenthesized_expression "(bVar4 == 0x2e)" (( "(") (binary_expression "bVar4 == 0x2e" (identifier "bVar4") (== "==") (number_literal "0x2e")) () ")")) (|| "||") (parenthesized_expression "(bVar4 == 0x25)" (( "(") (binary_expression "bVar4 == 0x25" (identifier "bVar4") (== "==") (number_literal "0x25")) () ")"))) () ")")) (; ";")) (if_statement "if (bVar4 != 0x3a) break;" (if "if") (parenthesized_expression "(bVar4 != 0x3a)" (( "(") (binary_expression "bVar4 != 0x3a" (identifier "bVar4") (!= "!=") (number_literal "0x3a")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" (identifier "uVar21") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (bVar4 == 0x5d) {\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }\n            else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" (if "if") (parenthesized_expression "(bVar4 == 0x5d)" (( "(") (binary_expression "bVar4 == 0x5d" (identifier "bVar4") (== "==") (number_literal "0x5d")) () ")")) (compound_statement "{\n              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;\n              if (__n == 0) break;\n            }" ({ "{") (if_statement "if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;" (if "if") (parenthesized_expression "((uVar21 < 2) && (local_268[1] == 0x5d))" (( "(") (binary_expression "(uVar21 < 2) && (local_268[1] == 0x5d)" (parenthesized_expression "(uVar21 < 2)" (( "(") (binary_expression "uVar21 < 2" (identifier "uVar21") (< "<") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(local_268[1] == 0x5d)" (( "(") (binary_expression "local_268[1] == 0x5d" (subscript_expression "local_268[1]" (identifier "local_268") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x5d")) () ")"))) () ")")) (goto_statement "goto LAB_0002657b;" (goto "goto") (statement_identifier "LAB_0002657b") (; ";"))) (if_statement "if (__n == 0) break;" (if "if") (parenthesized_expression "(__n == 0)" (( "(") (binary_expression "__n == 0" (identifier "__n") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (else_clause "else {\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" (else "else") (compound_statement "{\n              if (local_268[1] != 0x5d) break;\nLAB_0002657b:\n              __n = 2;\n            }" ({ "{") (if_statement "if (local_268[1] != 0x5d) break;" (if "if") (parenthesized_expression "(local_268[1] != 0x5d)" (( "(") (binary_expression "local_268[1] != 0x5d" (subscript_expression "local_268[1]" (identifier "local_268") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0x5d")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0002657b:\n              __n = 2;" (statement_identifier "LAB_0002657b") (: ":") (expression_statement "__n = 2;" (assignment_expression "__n = 2" (identifier "__n") (= "=") (number_literal "2")) (; ";"))) (} "}")))) (expression_statement "memcpy(pbVar17,local_268,__n);" (call_expression "memcpy(pbVar17,local_268,__n)" (identifier "memcpy") (argument_list "(pbVar17,local_268,__n)" (( "(") (identifier "pbVar17") (, ",") (identifier "local_268") (, ",") (identifier "__n") () ")"))) (; ";")) (expression_statement "local_25c = local_25c + __n;" (assignment_expression "local_25c = local_25c + __n" (identifier "local_25c") (= "=") (binary_expression "local_25c + __n" (identifier "local_25c") (+ "+") (identifier "__n"))) (; ";")) (expression_statement "pbVar19 = pbVar17 + __n;" (assignment_expression "pbVar19 = pbVar17 + __n" (identifier "pbVar19") (= "=") (binary_expression "pbVar17 + __n" (identifier "pbVar17") (+ "+") (identifier "__n"))) (; ";")) (expression_statement "pbVar20 = local_268 + __n;" (assignment_expression "pbVar20 = local_268 + __n" (identifier "pbVar20") (= "=") (binary_expression "local_268 + __n" (identifier "local_268") (+ "+") (identifier "__n"))) (; ";")) (} "}")) (else_clause "else {\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }" (else "else") (compound_statement "{\n            if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }\n            pbVar20 = local_268 + 1;\n            pbVar22 = local_264 + 1;\n            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }\n            local_25c = local_25c + 1;\n            pbVar19 = pbVar17 + 1;\n            *pbVar17 = bVar4;\n            local_264 = pbVar22;\n          }" ({ "{") (if_statement "if ((bVar4 & 0xdf) == 0x5d) {\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }" (if "if") (parenthesized_expression "((bVar4 & 0xdf) == 0x5d)" (( "(") (binary_expression "(bVar4 & 0xdf) == 0x5d" (parenthesized_expression "(bVar4 & 0xdf)" (( "(") (binary_expression "bVar4 & 0xdf" (identifier "bVar4") (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x5d")) () ")")) (compound_statement "{\n              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";\n              *(byte **)((int)pvVar7 + 0xb04) = local_264;\n              goto LAB_000268b2;\n            }" ({ "{") (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")")))) (= "=") (string_literal ""unmatched close brace/bracket"" (" """) (string_content "unmatched close brace/bracket") (" """))) (; ";")) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(byte **)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")")))) (= "=") (identifier "local_264")) (; ";")) (goto_statement "goto LAB_000268b2;" (goto "goto") (statement_identifier "LAB_000268b2") (; ";")) (} "}"))) (expression_statement "pbVar20 = local_268 + 1;" (assignment_expression "pbVar20 = local_268 + 1" (identifier "pbVar20") (= "=") (binary_expression "local_268 + 1" (identifier "local_268") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar22 = local_264 + 1;" (assignment_expression "pbVar22 = local_264 + 1" (identifier "pbVar22") (= "=") (binary_expression "local_264 + 1" (identifier "local_264") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }" (if "if") (parenthesized_expression "((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0))" (( "(") (binary_expression "(bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)" (parenthesized_expression "(bVar4 == 0x5c)" (( "(") (binary_expression "bVar4 == 0x5c" (identifier "bVar4") (== "==") (number_literal "0x5c")) () ")")) (&& "&&") (parenthesized_expression "(((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)" (( "(") (binary_expression "((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0" (parenthesized_expression "((local_268[1] & 0xdf) + 0xa5 & 0xfd)" (( "(") (binary_expression "(local_268[1] & 0xdf) + 0xa5 & 0xfd" (binary_expression "(local_268[1] & 0xdf) + 0xa5" (parenthesized_expression "(local_268[1] & 0xdf)" (( "(") (binary_expression "local_268[1] & 0xdf" (subscript_expression "local_268[1]" (identifier "local_268") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xdf")) () ")")) (+ "+") (number_literal "0xa5")) (& "&") (number_literal "0xfd")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              pbVar20 = local_268 + 2;\n              pbVar22 = local_264 + 2;\n              bVar4 = local_268[1];\n            }" ({ "{") (expression_statement "pbVar20 = local_268 + 2;" (assignment_expression "pbVar20 = local_268 + 2" (identifier "pbVar20") (= "=") (binary_expression "local_268 + 2" (identifier "local_268") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar22 = local_264 + 2;" (assignment_expression "pbVar22 = local_264 + 2" (identifier "pbVar22") (= "=") (binary_expression "local_264 + 2" (identifier "local_264") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar4 = local_268[1];" (assignment_expression "bVar4 = local_268[1]" (identifier "bVar4") (= "=") (subscript_expression "local_268[1]" (identifier "local_268") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_25c = local_25c + 1;" (assignment_expression "local_25c = local_25c + 1" (identifier "local_25c") (= "=") (binary_expression "local_25c + 1" (identifier "local_25c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar17 + 1;" (assignment_expression "pbVar19 = pbVar17 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar17 + 1" (identifier "pbVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pbVar17 = bVar4;" (assignment_expression "*pbVar17 = bVar4" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (identifier "bVar4")) (; ";")) (expression_statement "local_264 = pbVar22;" (assignment_expression "local_264 = pbVar22" (identifier "local_264") (= "=") (identifier "pbVar22")) (; ";")) (} "}")))) (expression_statement "pbVar17 = pbVar19;" (assignment_expression "pbVar17 = pbVar19" (identifier "pbVar17") (= "=") (identifier "pbVar19")) (; ";")) (expression_statement "local_268 = pbVar20;" (assignment_expression "local_268 = pbVar20" (identifier "local_268") (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "bVar4 = *pbVar20;" (assignment_expression "bVar4 = *pbVar20" (identifier "bVar4") (= "=") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20"))) (; ";")) (} "}"))) (if_statement "if (local_25c != 0) {\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }" (if "if") (parenthesized_expression "(local_25c != 0)" (( "(") (binary_expression "local_25c != 0" (identifier "local_25c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *pbVar17 = 0;\n          iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);\n          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n          *puVar23 = 1;\n          puVar23[3] = 1;\n          puVar23[4] = 0;\n          puVar23[1] = 0xffffffff;\n          puVar18 = (undefined4 *)malloc(4);\n          puVar23[2] = puVar18;\n          if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }\n          goto joined_r0x00026acd;\n        }" ({ "{") (expression_statement "*pbVar17 = 0;" (assignment_expression "*pbVar17 = 0" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(int *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")"))))) (; ";")) (expression_statement "pvVar12 = *(void **)((int)pvVar7 + 0xaf8);" (assignment_expression "pvVar12 = *(void **)((int)pvVar7 + 0xaf8)" (identifier "pvVar12") (= "=") (pointer_expression "*(void **)((int)pvVar7 + 0xaf8)" (* "*") (cast_expression "(void **)((int)pvVar7 + 0xaf8)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf8)" (( "(") (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf8")) () ")"))))) (; ";")) (expression_statement "puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);" (assignment_expression "puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" (identifier "puVar23") (= "=") (cast_expression "(undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 * 0x1c + (int)pvVar7)" (( "(") (binary_expression "iVar9 * 0x1c + (int)pvVar7" (binary_expression "iVar9 * 0x1c" (identifier "iVar9") (* "*") (number_literal "0x1c")) (+ "+") (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7"))) () ")")))) (; ";")) (expression_statement "*puVar23 = 1;" (assignment_expression "*puVar23 = 1" (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar23[3] = 1;" (assignment_expression "puVar23[3] = 1" (subscript_expression "puVar23[3]" (identifier "puVar23") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar23[4] = 0;" (assignment_expression "puVar23[4] = 0" (subscript_expression "puVar23[4]" (identifier "puVar23") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar23[1] = 0xffffffff;" (assignment_expression "puVar23[1] = 0xffffffff" (subscript_expression "puVar23[1]" (identifier "puVar23") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar18 = (undefined4 *)malloc(4);" (assignment_expression "puVar18 = (undefined4 *)malloc(4)" (identifier "puVar18") (= "=") (cast_expression "(undefined4 *)malloc(4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "malloc(4)" (identifier "malloc") (argument_list "(4)" (( "(") (number_literal "4") () ")"))))) (; ";")) (expression_statement "puVar23[2] = puVar18;" (assignment_expression "puVar23[2] = puVar18" (subscript_expression "puVar23[2]" (identifier "puVar23") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "puVar18")) (; ";")) (if_statement "if (puVar18 == (undefined4 *)0x0) {\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }\n          else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }" (if "if") (parenthesized_expression "(puVar18 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar18 == (undefined4 *)0x0" (identifier "puVar18") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00026900:\n            uVar21 = iVar9 + 1;\n            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n            *(char **)((int)pvVar7 + 0xb00) = "out of memory";\n            local_260 = (byte *)0x1b;\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n          }" ({ "{") (labeled_statement "LAB_00026900:\n            uVar21 = iVar9 + 1;" (statement_identifier "LAB_00026900") (: ":") (expression_statement "uVar21 = iVar9 + 1;" (assignment_expression "uVar21 = iVar9 + 1" (identifier "uVar21") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "*(undefined4 *)((int)pvVar7 + 0xb04) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar7 + 0xb04) = 0" (pointer_expression "*(undefined4 *)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(undefined4 *)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "out of memory";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "out of memory"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")")))) (= "=") (string_literal ""out of memory"" (" """) (string_content "out of memory") (" """))) (; ";")) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" (identifier "local_260") (= "=") (cast_expression "(byte *)0x1b" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1b"))) (; ";")) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")")))) (= "=") (identifier "uVar21")) (; ";")) (} "}")) (else_clause "else {\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }" (else "else") (compound_statement "{\n            __dest = malloc(local_25c + 1);\n            *puVar18 = __dest;\n            if (__dest == (void *)0x0) goto LAB_00026900;\n            uVar21 = iVar9 + 1;\n            memcpy(__dest,pvVar12,local_25c);\n            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n            *(undefined1 *)((int)__dest + local_25c) = 0;\n          }" ({ "{") (expression_statement "__dest = malloc(local_25c + 1);" (assignment_expression "__dest = malloc(local_25c + 1)" (identifier "__dest") (= "=") (call_expression "malloc(local_25c + 1)" (identifier "malloc") (argument_list "(local_25c + 1)" (( "(") (binary_expression "local_25c + 1" (identifier "local_25c") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar18 = __dest;" (assignment_expression "*puVar18 = __dest" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (identifier "__dest")) (; ";")) (if_statement "if (__dest == (void *)0x0) goto LAB_00026900;" (if "if") (parenthesized_expression "(__dest == (void *)0x0)" (( "(") (binary_expression "__dest == (void *)0x0" (identifier "__dest") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00026900;" (goto "goto") (statement_identifier "LAB_00026900") (; ";"))) (expression_statement "uVar21 = iVar9 + 1;" (assignment_expression "uVar21 = iVar9 + 1" (identifier "uVar21") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "memcpy(__dest,pvVar12,local_25c);" (call_expression "memcpy(__dest,pvVar12,local_25c)" (identifier "memcpy") (argument_list "(__dest,pvVar12,local_25c)" (( "(") (identifier "__dest") (, ",") (identifier "pvVar12") (, ",") (identifier "local_25c") () ")"))) (; ";")) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")")))) (= "=") (identifier "uVar21")) (; ";")) (expression_statement "*(undefined1 *)((int)__dest + local_25c) = 0;" (assignment_expression "*(undefined1 *)((int)__dest + local_25c) = 0" (pointer_expression "*(undefined1 *)((int)__dest + local_25c)" (* "*") (cast_expression "(undefined1 *)((int)__dest + local_25c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__dest + local_25c)" (( "(") (binary_expression "(int)__dest + local_25c" (cast_expression "(int)__dest" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__dest")) (+ "+") (identifier "local_25c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (goto_statement "goto joined_r0x00026acd;" (goto "goto") (statement_identifier "joined_r0x00026acd") (; ";")) (} "}"))) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(int *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")"))))) (; ";")) (if_statement "if (*local_268 != 0x5b) {\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }" (if "if") (parenthesized_expression "(*local_268 != 0x5b)" (( "(") (binary_expression "*local_268 != 0x5b" (pointer_expression "*local_268" (* "*") (identifier "local_268")) (!= "!=") (number_literal "0x5b")) () ")")) (compound_statement "{\n          local_260 = (byte *)0x0;\n          if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }\n          goto LAB_00026538;\n        }" ({ "{") (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" (identifier "local_260") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (*local_268 == 0x7b) {\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }" (if "if") (parenthesized_expression "(*local_268 == 0x7b)" (( "(") (binary_expression "*local_268 == 0x7b" (pointer_expression "*local_268" (* "*") (identifier "local_268")) (== "==") (number_literal "0x7b")) () ")")) (compound_statement "{\n            local_268 = local_268 + 1;\n            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);\n            iVar9 = local_254 + 1;\n            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n            puVar18[1] = local_254;\n            *puVar18 = 1;\n            puVar18[3] = 0;\n            puVar18[4] = 0;\n            puVar18[2] = 0;\n            pbVar20 = local_268;\n            local_260 = local_264;\nLAB_00026401:\n            local_260 = local_260 + 1;\n            bVar4 = *pbVar20;\n            cVar2 = bVar4 + 0xa4;\n            bVar24 = bVar4 == 0x5c;\n            pbVar19 = pbVar20;\n            if (bVar24) goto LAB_0002643a;\n            do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );\n          }" ({ "{") (expression_statement "local_268 = local_268 + 1;" (assignment_expression "local_268 = local_268 + 1" (identifier "local_268") (= "=") (binary_expression "local_268 + 1" (identifier "local_268") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);" (assignment_expression "puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" (identifier "puVar18") (= "=") (cast_expression "(undefined4 *)(iVar9 * 0x1c + (int)pvVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 * 0x1c + (int)pvVar7)" (( "(") (binary_expression "iVar9 * 0x1c + (int)pvVar7" (binary_expression "iVar9 * 0x1c" (identifier "iVar9") (* "*") (number_literal "0x1c")) (+ "+") (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7"))) () ")")))) (; ";")) (expression_statement "iVar9 = local_254 + 1;" (assignment_expression "iVar9 = local_254 + 1" (identifier "iVar9") (= "=") (binary_expression "local_254 + 1" (identifier "local_254") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);" (assignment_expression "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8)" (identifier "pbVar17") (= "=") (pointer_expression "*(byte **)((int)pvVar7 + 0xaf8)" (* "*") (cast_expression "(byte **)((int)pvVar7 + 0xaf8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf8)" (( "(") (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf8")) () ")"))))) (; ";")) (expression_statement "puVar18[1] = local_254;" (assignment_expression "puVar18[1] = local_254" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_254")) (; ";")) (expression_statement "*puVar18 = 1;" (assignment_expression "*puVar18 = 1" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar18[3] = 0;" (assignment_expression "puVar18[3] = 0" (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar18[4] = 0;" (assignment_expression "puVar18[4] = 0" (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar18[2] = 0;" (assignment_expression "puVar18[2] = 0" (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar20 = local_268;" (assignment_expression "pbVar20 = local_268" (identifier "pbVar20") (= "=") (identifier "local_268")) (; ";")) (expression_statement "local_260 = local_264;" (assignment_expression "local_260 = local_264" (identifier "local_260") (= "=") (identifier "local_264")) (; ";")) (labeled_statement "LAB_00026401:\n            local_260 = local_260 + 1;" (statement_identifier "LAB_00026401") (: ":") (expression_statement "local_260 = local_260 + 1;" (assignment_expression "local_260 = local_260 + 1" (identifier "local_260") (= "=") (binary_expression "local_260 + 1" (identifier "local_260") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "bVar4 = *pbVar20;" (assignment_expression "bVar4 = *pbVar20" (identifier "bVar4") (= "=") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20"))) (; ";")) (expression_statement "cVar2 = bVar4 + 0xa4;" (assignment_expression "cVar2 = bVar4 + 0xa4" (identifier "cVar2") (= "=") (binary_expression "bVar4 + 0xa4" (identifier "bVar4") (+ "+") (number_literal "0xa4"))) (; ";")) (expression_statement "bVar24 = bVar4 == 0x5c;" (assignment_expression "bVar24 = bVar4 == 0x5c" (identifier "bVar24") (= "=") (binary_expression "bVar4 == 0x5c" (identifier "bVar4") (== "==") (number_literal "0x5c"))) (; ";")) (expression_statement "pbVar19 = pbVar20;" (assignment_expression "pbVar19 = pbVar20" (identifier "pbVar19") (= "=") (identifier "pbVar20")) (; ";")) (if_statement "if (bVar24) goto LAB_0002643a;" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (goto_statement "goto LAB_0002643a;" (goto "goto") (statement_identifier "LAB_0002643a") (; ";"))) (do_statement "do {\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            } while( true );" (do "do") (compound_statement "{\n              pbVar20 = local_260;\n              local_254 = iVar9;\n              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }\n              pbVar19 = pbVar19 + 1;\n              pbVar22 = local_260 + 1;\n              while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }\n            }" ({ "{") (expression_statement "pbVar20 = local_260;" (assignment_expression "pbVar20 = local_260" (identifier "pbVar20") (= "=") (identifier "local_260")) (; ";")) (expression_statement "local_254 = iVar9;" (assignment_expression "local_254 = iVar9" (identifier "local_254") (= "=") (identifier "iVar9")) (; ";")) (if_statement "if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }\n              else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" (if "if") (parenthesized_expression "(bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0')" (( "(") (binary_expression "bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0'" (identifier "bVar24") (|| "||") (binary_expression "SBORROW1(bVar4,'\\') != cVar2 < '\0'" (call_expression "SBORROW1(bVar4,'\\')" (identifier "SBORROW1") (argument_list "(bVar4,'\\')" (( "(") (identifier "bVar4") (, ",") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'")) () ")"))) (!= "!=") (binary_expression "cVar2 < '\0'" (identifier "cVar2") (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))))) () ")")) (compound_statement "{\n                uVar16 = local_24c;\n                if (bVar4 == 0x2c) goto LAB_00026940;\n                if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }\n                if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }\n              }" ({ "{") (expression_statement "uVar16 = local_24c;" (assignment_expression "uVar16 = local_24c" (identifier "uVar16") (= "=") (identifier "local_24c")) (; ";")) (if_statement "if (bVar4 == 0x2c) goto LAB_00026940;" (if "if") (parenthesized_expression "(bVar4 == 0x2c)" (( "(") (binary_expression "bVar4 == 0x2c" (identifier "bVar4") (== "==") (number_literal "0x2c")) () ")")) (goto_statement "goto LAB_00026940;" (goto "goto") (statement_identifier "LAB_00026940") (; ";"))) (if_statement "if (bVar4 == 0x5b) {\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }" (if "if") (parenthesized_expression "(bVar4 == 0x5b)" (( "(") (binary_expression "bVar4 == 0x5b" (identifier "bVar4") (== "==") (number_literal "0x5b")) () ")")) (compound_statement "{\nLAB_00026ae0:\n                  pcVar13 = "nested brace";\n                  goto LAB_0002650e;\n                }" ({ "{") (labeled_statement "LAB_00026ae0:\n                  pcVar13 = "nested brace";" (statement_identifier "LAB_00026ae0") (: ":") (expression_statement "pcVar13 = "nested brace";" (assignment_expression "pcVar13 = "nested brace"" (identifier "pcVar13") (= "=") (string_literal ""nested brace"" (" """) (string_content "nested brace") (" """))) (; ";"))) (goto_statement "goto LAB_0002650e;" (goto "goto") (statement_identifier "LAB_0002650e") (; ";")) (} "}"))) (if_statement "if (bVar4 == 0) {\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }" (if "if") (parenthesized_expression "(bVar4 == 0)" (( "(") (binary_expression "bVar4 == 0" (identifier "bVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";\n                  *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                  goto LAB_00026aa3;\n                }" ({ "{") (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "unmatched brace";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "unmatched brace"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")")))) (= "=") (string_literal ""unmatched brace"" (" """) (string_content "unmatched brace") (" """))) (; ";")) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(byte **)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")")))) (= "=") (identifier "local_264")) (; ";")) (goto_statement "goto LAB_00026aa3;" (goto "goto") (statement_identifier "LAB_00026aa3") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" (else "else") (compound_statement "{\n                if (bVar4 == 0x7b) goto LAB_00026ae0;\n                if (bVar4 == 0x7d) goto LAB_00026a58;\n                if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }\n              }" ({ "{") (if_statement "if (bVar4 == 0x7b) goto LAB_00026ae0;" (if "if") (parenthesized_expression "(bVar4 == 0x7b)" (( "(") (binary_expression "bVar4 == 0x7b" (identifier "bVar4") (== "==") (number_literal "0x7b")) () ")")) (goto_statement "goto LAB_00026ae0;" (goto "goto") (statement_identifier "LAB_00026ae0") (; ";"))) (if_statement "if (bVar4 == 0x7d) goto LAB_00026a58;" (if "if") (parenthesized_expression "(bVar4 == 0x7d)" (( "(") (binary_expression "bVar4 == 0x7d" (identifier "bVar4") (== "==") (number_literal "0x7d")) () ")")) (goto_statement "goto LAB_00026a58;" (goto "goto") (statement_identifier "LAB_00026a58") (; ";"))) (if_statement "if (bVar4 == 0x5d) {\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }" (if "if") (parenthesized_expression "(bVar4 == 0x5d)" (( "(") (binary_expression "bVar4 == 0x5d" (identifier "bVar4") (== "==") (number_literal "0x5d")) () ")")) (compound_statement "{\n                  pcVar13 = "unexpected close bracket";\n                  goto LAB_0002650e;\n                }" ({ "{") (expression_statement "pcVar13 = "unexpected close bracket";" (assignment_expression "pcVar13 = "unexpected close bracket"" (identifier "pcVar13") (= "=") (string_literal ""unexpected close bracket"" (" """) (string_content "unexpected close bracket") (" """))) (; ";")) (goto_statement "goto LAB_0002650e;" (goto "goto") (statement_identifier "LAB_0002650e") (; ";")) (} "}"))) (} "}")))) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar22 = local_260 + 1;" (assignment_expression "pbVar22 = local_260 + 1" (identifier "pbVar22") (= "=") (binary_expression "local_260 + 1" (identifier "local_260") (+ "+") (number_literal "1"))) (; ";")) (while_statement "while( true ) {\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                local_260 = pbVar22;\n                *pbVar17 = bVar4;\n                bVar4 = *pbVar19;\n                pbVar17 = pbVar17 + 1;\n                cVar2 = bVar4 + 0xa4;\n                bVar24 = cVar2 == '\0';\n                pbVar20 = pbVar19;\n                if (!bVar24) break;\nLAB_0002643a:\n                pbVar19 = pbVar20 + 1;\n                pbVar22 = local_260 + 1;\n                if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }\n              }" ({ "{") (expression_statement "local_260 = pbVar22;" (assignment_expression "local_260 = pbVar22" (identifier "local_260") (= "=") (identifier "pbVar22")) (; ";")) (expression_statement "*pbVar17 = bVar4;" (assignment_expression "*pbVar17 = bVar4" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (identifier "bVar4")) (; ";")) (expression_statement "bVar4 = *pbVar19;" (assignment_expression "bVar4 = *pbVar19" (identifier "bVar4") (= "=") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19"))) (; ";")) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + 1" (identifier "pbVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar2 = bVar4 + 0xa4;" (assignment_expression "cVar2 = bVar4 + 0xa4" (identifier "cVar2") (= "=") (binary_expression "bVar4 + 0xa4" (identifier "bVar4") (+ "+") (number_literal "0xa4"))) (; ";")) (expression_statement "bVar24 = cVar2 == '\0';" (assignment_expression "bVar24 = cVar2 == '\0'" (identifier "bVar24") (= "=") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" (identifier "pbVar20") (= "=") (identifier "pbVar19")) (; ";")) (if_statement "if (!bVar24) break;" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0002643a:\n                pbVar19 = pbVar20 + 1;" (statement_identifier "LAB_0002643a") (: ":") (expression_statement "pbVar19 = pbVar20 + 1;" (assignment_expression "pbVar19 = pbVar20 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar20 + 1" (identifier "pbVar20") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pbVar22 = local_260 + 1;" (assignment_expression "pbVar22 = local_260 + 1" (identifier "pbVar22") (= "=") (binary_expression "local_260 + 1" (identifier "local_260") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar20[1] != 0) {\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }" (if "if") (parenthesized_expression "(pbVar20[1] != 0)" (( "(") (binary_expression "pbVar20[1] != 0" (subscript_expression "pbVar20[1]" (identifier "pbVar20") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  pbVar19 = pbVar20 + 2;\n                  bVar4 = pbVar20[1];\n                  pbVar22 = local_260 + 2;\n                }" ({ "{") (expression_statement "pbVar19 = pbVar20 + 2;" (assignment_expression "pbVar19 = pbVar20 + 2" (identifier "pbVar19") (= "=") (binary_expression "pbVar20 + 2" (identifier "pbVar20") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar4 = pbVar20[1];" (assignment_expression "bVar4 = pbVar20[1]" (identifier "bVar4") (= "=") (subscript_expression "pbVar20[1]" (identifier "pbVar20") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pbVar22 = local_260 + 2;" (assignment_expression "pbVar22 = local_260 + 2" (identifier "pbVar22") (= "=") (binary_expression "local_260 + 2" (identifier "local_260") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_00026538;" (goto "goto") (statement_identifier "LAB_00026538") (; ";")) (} "}"))) (expression_statement "local_264 = local_264 + 1;" (assignment_expression "local_264 = local_264 + 1" (identifier "local_264") (= "=") (binary_expression "local_264 + 1" (identifier "local_264") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar17 = local_268 + 1;" (assignment_expression "pbVar17 = local_268 + 1" (identifier "pbVar17") (= "=") (binary_expression "local_268 + 1" (identifier "local_268") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar1 = local_254 + 1;" (assignment_expression "iVar1 = local_254 + 1" (identifier "iVar1") (= "=") (binary_expression "local_254 + 1" (identifier "local_254") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);" (assignment_expression "puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c)" (identifier "puVar18") (= "=") (cast_expression "(undefined4 *)((int)pvVar7 + iVar9 * 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + iVar9 * 0x1c)" (( "(") (binary_expression "(int)pvVar7 + iVar9 * 0x1c" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (binary_expression "iVar9 * 0x1c" (identifier "iVar9") (* "*") (number_literal "0x1c"))) () ")")))) (; ";")) (expression_statement "puVar18[1] = local_254;" (assignment_expression "puVar18[1] = local_254" (subscript_expression "puVar18[1]" (identifier "puVar18") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_254")) (; ";")) (expression_statement "iVar8 = FUN_000280f0(local_268[1]);" (assignment_expression "iVar8 = FUN_000280f0(local_268[1])" (identifier "iVar8") (= "=") (call_expression "FUN_000280f0(local_268[1])" (identifier "FUN_000280f0") (argument_list "(local_268[1])" (( "(") (subscript_expression "local_268[1]" (identifier "local_268") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }\n        else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar8 = FUN_00028000(local_268[1]);\n          if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }\n          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" ({ "{") (expression_statement "iVar8 = FUN_00028000(local_268[1]);" (assignment_expression "iVar8 = FUN_00028000(local_268[1])" (identifier "iVar8") (= "=") (call_expression "FUN_00028000(local_268[1])" (identifier "FUN_00028000") (argument_list "(local_268[1])" (( "(") (subscript_expression "local_268[1]" (identifier "local_268") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *puVar18 = 3;\n            puVar18[4] = 0;\n            if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }\n            piVar15 = __errno_location();\n            *piVar15 = 0;\n            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);\n            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;\n            local_250 = local_224 + 1;\n            bVar4 = local_224[1];\n            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }\n            iVar8 = FUN_00028000(bVar3);\n            if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }\n            local_264 = local_250 + ((int)local_264 - (int)pbVar17);\n            goto LAB_000266e1;\n          }" ({ "{") (expression_statement "*puVar18 = 3;" (assignment_expression "*puVar18 = 3" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (number_literal "3")) (; ";")) (expression_statement "puVar18[4] = 0;" (assignment_expression "puVar18[4] = 0" (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_268[1] == 0x30) {\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }" (if "if") (parenthesized_expression "(local_268[1] == 0x30)" (( "(") (binary_expression "local_268[1] == 0x30" (subscript_expression "local_268[1]" (identifier "local_268") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x30")) () ")")) (compound_statement "{\n              bVar4 = 0x30;\n              pbVar20 = pbVar17;\n              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }\n            }" ({ "{") (expression_statement "bVar4 = 0x30;" (assignment_expression "bVar4 = 0x30" (identifier "bVar4") (= "=") (number_literal "0x30")) (; ";")) (expression_statement "pbVar20 = pbVar17;" (assignment_expression "pbVar20 = pbVar17" (identifier "pbVar20") (= "=") (identifier "pbVar17")) (; ";")) (while_statement "while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }" (while "while") (parenthesized_expression "(iVar8 = FUN_00028000(bVar4), iVar8 != 0)" (( "(") (comma_expression "iVar8 = FUN_00028000(bVar4), iVar8 != 0" (assignment_expression "iVar8 = FUN_00028000(bVar4)" (identifier "iVar8") (= "=") (call_expression "FUN_00028000(bVar4)" (identifier "FUN_00028000") (argument_list "(bVar4)" (( "(") (identifier "bVar4") () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n                pbVar20 = pbVar20 + 1;\n                puVar18[4] = puVar18[4] + 1;\n                bVar4 = *pbVar20;\n              }" ({ "{") (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + 1" (identifier "pbVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar18[4] = puVar18[4] + 1;" (assignment_expression "puVar18[4] = puVar18[4] + 1" (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "puVar18[4] + 1" (subscript_expression "puVar18[4]" (identifier "puVar18") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar4 = *pbVar20;" (assignment_expression "bVar4 = *pbVar20" (identifier "bVar4") (= "=") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" (identifier "piVar15") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);" (assignment_expression "uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10)" (identifier "uVar10") (= "=") (call_expression "strtoul((char *)pbVar17,(char **)&local_224,10)" (identifier "strtoul") (argument_list "((char *)pbVar17,(char **)&local_224,10)" (( "(") (cast_expression "(char *)pbVar17" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar17")) (, ",") (cast_expression "(char **)&local_224" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_224" (& "&") (identifier "local_224"))) (, ",") (number_literal "10") () ")")))) (; ";")) (if_statement "if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))\n            goto LAB_000266e1;" (if "if") (parenthesized_expression "(((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))" (( "(") (binary_expression "((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d)" (parenthesized_expression "((*piVar15 != 0) || (pbVar17 == local_224))" (( "(") (binary_expression "(*piVar15 != 0) || (pbVar17 == local_224)" (parenthesized_expression "(*piVar15 != 0)" (( "(") (binary_expression "*piVar15 != 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pbVar17 == local_224)" (( "(") (binary_expression "pbVar17 == local_224" (identifier "pbVar17") (== "==") (identifier "local_224")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*local_224 != 0x2d)" (( "(") (binary_expression "*local_224 != 0x2d" (pointer_expression "*local_224" (* "*") (identifier "local_224")) (!= "!=") (number_literal "0x2d")) () ")"))) () ")")) (goto_statement "goto LAB_000266e1;" (goto "goto") (statement_identifier "LAB_000266e1") (; ";"))) (expression_statement "local_250 = local_224 + 1;" (assignment_expression "local_250 = local_224 + 1" (identifier "local_250") (= "=") (binary_expression "local_224 + 1" (identifier "local_224") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar4 = local_224[1];" (assignment_expression "bVar4 = local_224[1]" (identifier "bVar4") (= "=") (subscript_expression "local_224[1]" (identifier "local_224") ([ "[") (number_literal "1") (] "]"))) (; ";")) (while_statement "while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }" (while "while") (parenthesized_expression "((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))))" (( "(") (parenthesized_expression "(bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))" (( "(") (comma_expression "bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))" (assignment_expression "bVar3 = 0" (identifier "bVar3") (= "=") (number_literal "0")) (, ",") (binary_expression "bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))" (binary_expression "bVar4 != 0" (identifier "bVar4") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)))" (( "(") (parenthesized_expression "(bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))" (( "(") (binary_expression "bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9)" (binary_expression "bVar4 == 0x20" (identifier "bVar4") (== "==") (number_literal "0x20")) (|| "||") (parenthesized_expression "(bVar3 = bVar4, bVar4 == 9)" (( "(") (comma_expression "bVar3 = bVar4, bVar4 == 9" (assignment_expression "bVar3 = bVar4" (identifier "bVar3") (= "=") (identifier "bVar4")) (, ",") (binary_expression "bVar4 == 9" (identifier "bVar4") (== "==") (number_literal "9"))) () ")"))) () ")")) () ")")))) () ")")) () ")")) (compound_statement "{\n              local_250 = (byte *)((int)local_250 + 1);\n              bVar4 = *local_250;\n            }" ({ "{") (expression_statement "local_250 = (byte *)((int)local_250 + 1);" (assignment_expression "local_250 = (byte *)((int)local_250 + 1)" (identifier "local_250") (= "=") (cast_expression "(byte *)((int)local_250 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_250 + 1)" (( "(") (binary_expression "(int)local_250 + 1" (cast_expression "(int)local_250" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_250")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "bVar4 = *local_250;" (assignment_expression "bVar4 = *local_250" (identifier "bVar4") (= "=") (pointer_expression "*local_250" (* "*") (identifier "local_250"))) (; ";")) (} "}"))) (expression_statement "iVar8 = FUN_00028000(bVar3);" (assignment_expression "iVar8 = FUN_00028000(bVar3)" (identifier "iVar8") (= "=") (call_expression "FUN_00028000(bVar3)" (identifier "FUN_00028000") (argument_list "(bVar3)" (( "(") (identifier "bVar3") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *piVar15 = 0;\n              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);\n              if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }\n            }" ({ "{") (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = strtoul((char *)local_250,(char **)&local_224,10);" (assignment_expression "uVar11 = strtoul((char *)local_250,(char **)&local_224,10)" (identifier "uVar11") (= "=") (call_expression "strtoul((char *)local_250,(char **)&local_224,10)" (identifier "strtoul") (argument_list "((char *)local_250,(char **)&local_224,10)" (( "(") (cast_expression "(char *)local_250" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_250")) (, ",") (cast_expression "(char **)&local_224" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_224" (& "&") (identifier "local_224"))) (, ",") (number_literal "10") () ")")))) (; ";")) (if_statement "if (*piVar15 == 0) {\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }" (if "if") (parenthesized_expression "(*piVar15 == 0)" (( "(") (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }\n              }" ({ "{") (if_statement "if (*local_224 == 0x3a) {\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }\n                else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" (if "if") (parenthesized_expression "(*local_224 == 0x3a)" (( "(") (binary_expression "*local_224 == 0x3a" (pointer_expression "*local_224" (* "*") (identifier "local_224")) (== "==") (number_literal "0x3a")) () ")")) (compound_statement "{\n                  local_250 = local_224 + 1;\n                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);\n                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }\n                }" ({ "{") (expression_statement "local_250 = local_224 + 1;" (assignment_expression "local_250 = local_224 + 1" (identifier "local_250") (= "=") (binary_expression "local_224 + 1" (identifier "local_224") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_258 = strtoul((char *)local_250,(char **)&local_224,10);" (assignment_expression "local_258 = strtoul((char *)local_250,(char **)&local_224,10)" (identifier "local_258") (= "=") (call_expression "strtoul((char *)local_250,(char **)&local_224,10)" (identifier "strtoul") (argument_list "((char *)local_250,(char **)&local_224,10)" (( "(") (cast_expression "(char *)local_250" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_250")) (, ",") (cast_expression "(char **)&local_224" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_224" (& "&") (identifier "local_224"))) (, ",") (number_literal "10") () ")")))) (; ";")) (if_statement "if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }" (if "if") (parenthesized_expression "(((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d))" (( "(") (binary_expression "((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)" (parenthesized_expression "((*piVar15 == 0) && (local_224 != (byte *)0x0))" (( "(") (binary_expression "(*piVar15 == 0) && (local_224 != (byte *)0x0)" (parenthesized_expression "(*piVar15 == 0)" (( "(") (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_224 != (byte *)0x0)" (( "(") (binary_expression "local_224 != (byte *)0x0" (identifier "local_224") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*local_224 == 0x5d)" (( "(") (binary_expression "*local_224 == 0x5d" (pointer_expression "*local_224" (* "*") (identifier "local_224")) (== "==") (number_literal "0x5d")) () ")"))) () ")")) (compound_statement "{\n                    local_268 = local_224 + 1;\n                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;\n                    goto LAB_00026e40;\n                  }" ({ "{") (expression_statement "local_268 = local_224 + 1;" (assignment_expression "local_268 = local_224 + 1" (identifier "local_268") (= "=") (binary_expression "local_224 + 1" (identifier "local_224") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" (identifier "local_264") (= "=") (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" (identifier "local_268") (+ "+") (parenthesized_expression "((int)local_264 - (int)pbVar17)" (( "(") (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_264")) (- "-") (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17"))) () ")")))) (; ";")) (if_statement "if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;" (if "if") (parenthesized_expression "(((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1))))" (( "(") (binary_expression "((local_224 == (byte *)0x0) || (local_258 == 0)) ||\n                       ((uVar10 == uVar11 && (local_258 != 1)))" (parenthesized_expression "((local_224 == (byte *)0x0) || (local_258 == 0))" (( "(") (binary_expression "(local_224 == (byte *)0x0) || (local_258 == 0)" (parenthesized_expression "(local_224 == (byte *)0x0)" (( "(") (binary_expression "local_224 == (byte *)0x0" (identifier "local_224") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(local_258 == 0)" (( "(") (binary_expression "local_258 == 0" (identifier "local_258") (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((uVar10 == uVar11 && (local_258 != 1)))" (( "(") (parenthesized_expression "(uVar10 == uVar11 && (local_258 != 1))" (( "(") (binary_expression "uVar10 == uVar11 && (local_258 != 1)" (binary_expression "uVar10 == uVar11" (identifier "uVar10") (== "==") (identifier "uVar11")) (&& "&&") (parenthesized_expression "(local_258 != 1)" (( "(") (binary_expression "local_258 != 1" (identifier "local_258") (!= "!=") (number_literal "1")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000266e1;" (goto "goto") (statement_identifier "LAB_000266e1") (; ";"))) (goto_statement "goto LAB_00026e40;" (goto "goto") (statement_identifier "LAB_00026e40") (; ";")) (} "}"))) (} "}")) (else_clause "else if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" (else "else") (if_statement "if (*local_224 == 0x5d) {\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" (if "if") (parenthesized_expression "(*local_224 == 0x5d)" (( "(") (binary_expression "*local_224 == 0x5d" (pointer_expression "*local_224" (* "*") (identifier "local_224")) (== "==") (number_literal "0x5d")) () ")")) (compound_statement "{\n                  local_258 = 1;\n                  local_268 = local_224 + 1;\n                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);\nLAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;\n                  puVar18[2] = uVar10;\n                  puVar18[5] = uVar10;\n                  puVar18[3] = uVar11;\n                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;\n                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;\n                  uVar21 = uVar16;\n                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }\n                  goto LAB_00026cf0;\n                }" ({ "{") (expression_statement "local_258 = 1;" (assignment_expression "local_258 = 1" (identifier "local_258") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_268 = local_224 + 1;" (assignment_expression "local_268 = local_224 + 1" (identifier "local_268") (= "=") (binary_expression "local_224 + 1" (identifier "local_224") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" (identifier "local_264") (= "=") (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" (identifier "local_268") (+ "+") (parenthesized_expression "((int)local_264 - (int)pbVar17)" (( "(") (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_264")) (- "-") (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17"))) () ")")))) (; ";")) (labeled_statement "LAB_00026e40:\n                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;" (statement_identifier "LAB_00026e40") (: ":") (if_statement "if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))\n                  goto LAB_000266e1;" (if "if") (parenthesized_expression "((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))" (( "(") (binary_expression "(uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258)))" (parenthesized_expression "(uVar10 != uVar11)" (( "(") (binary_expression "uVar10 != uVar11" (identifier "uVar10") (!= "!=") (identifier "uVar11")) () ")")) (&& "&&") (parenthesized_expression "((uVar11 < uVar10 || (uVar11 - uVar10 < local_258)))" (( "(") (parenthesized_expression "(uVar11 < uVar10 || (uVar11 - uVar10 < local_258))" (( "(") (binary_expression "uVar11 < uVar10 || (uVar11 - uVar10 < local_258)" (binary_expression "uVar11 < uVar10" (identifier "uVar11") (< "<") (identifier "uVar10")) (|| "||") (parenthesized_expression "(uVar11 - uVar10 < local_258)" (( "(") (binary_expression "uVar11 - uVar10 < local_258" (binary_expression "uVar11 - uVar10" (identifier "uVar11") (- "-") (identifier "uVar10")) (< "<") (identifier "local_258")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000266e1;" (goto "goto") (statement_identifier "LAB_000266e1") (; ";")))) (expression_statement "puVar18[2] = uVar10;" (assignment_expression "puVar18[2] = uVar10" (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar18[5] = uVar10;" (assignment_expression "puVar18[5] = uVar10" (subscript_expression "puVar18[5]" (identifier "puVar18") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar18[3] = uVar11;" (assignment_expression "puVar18[3] = uVar11" (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;" (assignment_expression "*(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258" (pointer_expression "*(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18)" (* "*") (cast_expression "(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + iVar9 * 0x1c + 0x18)" (( "(") (binary_expression "(int)pvVar7 + iVar9 * 0x1c + 0x18" (binary_expression "(int)pvVar7 + iVar9 * 0x1c" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (binary_expression "iVar9 * 0x1c" (identifier "iVar9") (* "*") (number_literal "0x1c"))) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "local_258")) (; ";")) (expression_statement "uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;" (assignment_expression "uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1" (identifier "uVar16") (= "=") (binary_expression "(uint)(puVar18[3] - puVar18[2]) / local_258 + 1" (binary_expression "(uint)(puVar18[3] - puVar18[2]) / local_258" (call_expression "(uint)(puVar18[3] - puVar18[2])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar18[3] - puVar18[2])" (( "(") (binary_expression "puVar18[3] - puVar18[2]" (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")) (- "-") (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]"))) () ")"))) (/ "/") (identifier "local_258")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar21 = uVar16;" (assignment_expression "uVar21 = uVar16" (identifier "uVar21") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))\n                  {\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }" (if "if") (parenthesized_expression "((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))" (( "(") (binary_expression "(uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c)" (parenthesized_expression "(uVar16 == 0)" (( "(") (binary_expression "uVar16 == 0" (identifier "uVar16") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c)" (( "(") (comma_expression "uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c" (assignment_expression "uVar21 = local_24c * uVar16" (identifier "uVar21") (= "=") (binary_expression "local_24c * uVar16" (identifier "local_24c") (* "*") (identifier "uVar16"))) (, ",") (binary_expression "uVar21 / uVar16 == local_24c" (binary_expression "uVar21 / uVar16" (identifier "uVar21") (/ "/") (identifier "uVar16")) (== "==") (identifier "local_24c"))) () ")"))) () ")")) (compound_statement "{\n                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                    local_260 = (byte *)0x0;\n                    local_254 = iVar1;\n                    local_24c = uVar21;\n                    goto LAB_00026538;\n                  }" ({ "{") (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(int *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")"))))) (; ";")) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" (identifier "local_260") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_254 = iVar1;" (assignment_expression "local_254 = iVar1" (identifier "local_254") (= "=") (identifier "iVar1")) (; ";")) (expression_statement "local_24c = uVar21;" (assignment_expression "local_24c = uVar21" (identifier "local_24c") (= "=") (identifier "uVar21")) (; ";")) (goto_statement "goto LAB_00026538;" (goto "goto") (statement_identifier "LAB_00026538") (; ";")) (} "}"))) (goto_statement "goto LAB_00026cf0;" (goto "goto") (statement_identifier "LAB_00026cf0") (; ";")) (} "}"))))) (} "}"))) (} "}"))) (expression_statement "local_264 = local_250 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_250 + ((int)local_264 - (int)pbVar17)" (identifier "local_264") (= "=") (binary_expression "local_250 + ((int)local_264 - (int)pbVar17)" (identifier "local_250") (+ "+") (parenthesized_expression "((int)local_264 - (int)pbVar17)" (( "(") (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_264")) (- "-") (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17"))) () ")")))) (; ";")) (goto_statement "goto LAB_000266e1;" (goto "goto") (statement_identifier "LAB_000266e1") (; ";")) (} "}"))) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "bad range specification";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "bad range specification"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")")))) (= "=") (string_literal ""bad range specification"" (" """) (string_content "bad range specification") (" """))) (; ";")) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(byte **)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")")))) (= "=") (identifier "local_264")) (; ";")) (} "}")) (else_clause "else {\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" (else "else") (compound_statement "{\n          *puVar18 = 2;\n          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);\n          if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }\nLAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";\n          *(byte **)((int)pvVar7 + 0xb04) = local_264;\n        }" ({ "{") (expression_statement "*puVar18 = 2;" (assignment_expression "*puVar18 = 2" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (number_literal "2")) (; ";")) (expression_statement "iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);" (assignment_expression "iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225)" (identifier "iVar9") (= "=") (call_expression "__isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225)" (identifier "__isoc99_sscanf") (argument_list "(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225)" (( "(") (identifier "pbVar17") (, ",") (string_literal ""%c-%c%c"" (" """) (string_content "%c-%c%c") (" """)) (, ",") (pointer_expression "&local_227" (& "&") (identifier "local_227")) (, ",") (pointer_expression "&local_226" (& "&") (identifier "local_226")) (, ",") (pointer_expression "&local_225" (& "&") (identifier "local_225")) () ")")))) (; ";")) (if_statement "if (iVar9 == 3) {\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar9 == 3)" (( "(") (binary_expression "iVar9 == 3" (identifier "iVar9") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n            if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }\n          }" ({ "{") (if_statement "if (local_225 == ':') {\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }\n            else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" (if "if") (parenthesized_expression "(local_225 == ':')" (( "(") (binary_expression "local_225 == ':'" (identifier "local_225") (== "==") (char_literal "':'" (' "'") (character ":") (' "'"))) () ")")) (compound_statement "{\n              piVar15 = __errno_location();\n              *piVar15 = 0;\n              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);\n              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }\n            }" ({ "{") (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" (identifier "piVar15") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);" (assignment_expression "local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10)" (identifier "local_254") (= "=") (call_expression "strtoul((char *)(local_268 + 5),(char **)&local_224,10)" (identifier "strtoul") (argument_list "((char *)(local_268 + 5),(char **)&local_224,10)" (( "(") (cast_expression "(char *)(local_268 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_268 + 5)" (( "(") (binary_expression "local_268 + 5" (identifier "local_268") (+ "+") (number_literal "5")) () ")"))) (, ",") (cast_expression "(char **)&local_224" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_224" (& "&") (identifier "local_224"))) (, ",") (number_literal "10") () ")")))) (; ";")) (if_statement "if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }" (if "if") (parenthesized_expression "(((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d))" (( "(") (binary_expression "((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)" (parenthesized_expression "((*piVar15 == 0) && (local_268 + 5 != local_224))" (( "(") (binary_expression "(*piVar15 == 0) && (local_268 + 5 != local_224)" (parenthesized_expression "(*piVar15 == 0)" (( "(") (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_268 + 5 != local_224)" (( "(") (binary_expression "local_268 + 5 != local_224" (binary_expression "local_268 + 5" (identifier "local_268") (+ "+") (number_literal "5")) (!= "!=") (identifier "local_224")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*local_224 == 0x5d)" (( "(") (binary_expression "*local_224 == 0x5d" (pointer_expression "*local_224" (* "*") (identifier "local_224")) (== "==") (number_literal "0x5d")) () ")"))) () ")")) (compound_statement "{\n                local_268 = local_224 + 1;\n                local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n                if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }\n              }" ({ "{") (expression_statement "local_268 = local_224 + 1;" (assignment_expression "local_268 = local_224 + 1" (identifier "local_268") (= "=") (binary_expression "local_224 + 1" (identifier "local_224") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" (identifier "local_264") (= "=") (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" (identifier "local_268") (+ "+") (parenthesized_expression "((int)local_264 - (int)pbVar17)" (( "(") (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_264")) (- "-") (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17"))) () ")")))) (; ";")) (if_statement "if ((local_254 != 0) && (-1 < (int)local_254)) {\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }" (if "if") (parenthesized_expression "((local_254 != 0) && (-1 < (int)local_254))" (( "(") (binary_expression "(local_254 != 0) && (-1 < (int)local_254)" (parenthesized_expression "(local_254 != 0)" (( "(") (binary_expression "local_254 != 0" (identifier "local_254") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(-1 < (int)local_254)" (( "(") (binary_expression "-1 < (int)local_254" (number_literal "-1") (< "<") (cast_expression "(int)local_254" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_254"))) () ")"))) () ")")) (compound_statement "{\n                  if (local_227 != local_226) goto LAB_00026b80;\n                  if (local_254 == 1) goto LAB_00026dac;\n                }" ({ "{") (if_statement "if (local_227 != local_226) goto LAB_00026b80;" (if "if") (parenthesized_expression "(local_227 != local_226)" (( "(") (binary_expression "local_227 != local_226" (identifier "local_227") (!= "!=") (identifier "local_226")) () ")")) (goto_statement "goto LAB_00026b80;" (goto "goto") (statement_identifier "LAB_00026b80") (; ";"))) (if_statement "if (local_254 == 1) goto LAB_00026dac;" (if "if") (parenthesized_expression "(local_254 == 1)" (( "(") (binary_expression "local_254 == 1" (identifier "local_254") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_00026dac;" (goto "goto") (statement_identifier "LAB_00026dac") (; ";"))) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" (else "else") (if_statement "if (local_225 == ']') {\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" (if "if") (parenthesized_expression "(local_225 == ']')" (( "(") (binary_expression "local_225 == ']'" (identifier "local_225") (== "==") (char_literal "']'" (' "'") (character "]") (' "'"))) () ")")) (compound_statement "{\n              local_268 = local_268 + 5;\n              local_264 = local_268 + ((int)local_264 - (int)pbVar17);\n              if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }\n              local_254 = 1;\nLAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }\n            }" ({ "{") (expression_statement "local_268 = local_268 + 5;" (assignment_expression "local_268 = local_268 + 5" (identifier "local_268") (= "=") (binary_expression "local_268 + 5" (identifier "local_268") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "local_264 = local_268 + ((int)local_264 - (int)pbVar17);" (assignment_expression "local_264 = local_268 + ((int)local_264 - (int)pbVar17)" (identifier "local_264") (= "=") (binary_expression "local_268 + ((int)local_264 - (int)pbVar17)" (identifier "local_268") (+ "+") (parenthesized_expression "((int)local_264 - (int)pbVar17)" (( "(") (binary_expression "(int)local_264 - (int)pbVar17" (cast_expression "(int)local_264" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_264")) (- "-") (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17"))) () ")")))) (; ";")) (if_statement "if (local_227 == local_226) {\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }" (if "if") (parenthesized_expression "(local_227 == local_226)" (( "(") (binary_expression "local_227 == local_226" (identifier "local_227") (== "==") (identifier "local_226")) () ")")) (compound_statement "{\nLAB_00026dac:\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                local_254 = 1;\nLAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;\n                *(char *)((int)puVar18 + 10) = local_227;\n                *(char *)((int)puVar18 + 9) = local_226;\n                puVar18[3] = local_254;\n                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;\n                if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }\n                local_24c = uVar16;\n                iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n                local_260 = (byte *)0x0;\n                local_254 = iVar1;\n                goto LAB_00026538;\n              }" ({ "{") (labeled_statement "LAB_00026dac:\n                local_250 = (byte *)(int)local_227;" (statement_identifier "LAB_00026dac") (: ":") (expression_statement "local_250 = (byte *)(int)local_227;" (assignment_expression "local_250 = (byte *)(int)local_227" (identifier "local_250") (= "=") (cast_expression "(byte *)(int)local_227" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)local_227" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_227")))) (; ";"))) (expression_statement "iVar9 = (int)local_226;" (assignment_expression "iVar9 = (int)local_226" (identifier "iVar9") (= "=") (cast_expression "(int)local_226" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_226"))) (; ";")) (expression_statement "local_254 = 1;" (assignment_expression "local_254 = 1" (identifier "local_254") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00026bab:\n                *(char *)(puVar18 + 2) = local_227;" (statement_identifier "LAB_00026bab") (: ":") (expression_statement "*(char *)(puVar18 + 2) = local_227;" (assignment_expression "*(char *)(puVar18 + 2) = local_227" (pointer_expression "*(char *)(puVar18 + 2)" (* "*") (cast_expression "(char *)(puVar18 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 2)" (( "(") (binary_expression "puVar18 + 2" (identifier "puVar18") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "local_227")) (; ";"))) (expression_statement "*(char *)((int)puVar18 + 10) = local_227;" (assignment_expression "*(char *)((int)puVar18 + 10) = local_227" (pointer_expression "*(char *)((int)puVar18 + 10)" (* "*") (cast_expression "(char *)((int)puVar18 + 10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar18 + 10)" (( "(") (binary_expression "(int)puVar18 + 10" (cast_expression "(int)puVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar18")) (+ "+") (number_literal "10")) () ")")))) (= "=") (identifier "local_227")) (; ";")) (expression_statement "*(char *)((int)puVar18 + 9) = local_226;" (assignment_expression "*(char *)((int)puVar18 + 9) = local_226" (pointer_expression "*(char *)((int)puVar18 + 9)" (* "*") (cast_expression "(char *)((int)puVar18 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar18 + 9)" (( "(") (binary_expression "(int)puVar18 + 9" (cast_expression "(int)puVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar18")) (+ "+") (number_literal "9")) () ")")))) (= "=") (identifier "local_226")) (; ";")) (expression_statement "puVar18[3] = local_254;" (assignment_expression "puVar18[3] = local_254" (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_254")) (; ";")) (expression_statement "uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;" (assignment_expression "uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1" (identifier "uVar21") (= "=") (binary_expression "(iVar9 - (int)local_250) / (int)local_254 + 1" (binary_expression "(iVar9 - (int)local_250) / (int)local_254" (parenthesized_expression "(iVar9 - (int)local_250)" (( "(") (binary_expression "iVar9 - (int)local_250" (identifier "iVar9") (- "-") (cast_expression "(int)local_250" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_250"))) () ")")) (/ "/") (cast_expression "(int)local_254" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_254"))) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar21 == 0) {\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }\n                else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }" (if "if") (parenthesized_expression "(uVar21 == 0)" (( "(") (binary_expression "uVar21 == 0" (identifier "uVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  local_24c = 0;\n                  uVar16 = local_24c;\n                }" ({ "{") (expression_statement "local_24c = 0;" (assignment_expression "local_24c = 0" (identifier "local_24c") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = local_24c;" (assignment_expression "uVar16 = local_24c" (identifier "uVar16") (= "=") (identifier "local_24c")) (; ";")) (} "}")) (else_clause "else {\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }" (else "else") (compound_statement "{\n                  uVar16 = local_24c * uVar21;\n                  if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }\n                }" ({ "{") (expression_statement "uVar16 = local_24c * uVar21;" (assignment_expression "uVar16 = local_24c * uVar21" (identifier "uVar16") (= "=") (binary_expression "local_24c * uVar21" (identifier "local_24c") (* "*") (identifier "uVar21"))) (; ";")) (if_statement "if ((local_24c * uVar21) / uVar21 != local_24c) {\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }" (if "if") (parenthesized_expression "((local_24c * uVar21) / uVar21 != local_24c)" (( "(") (binary_expression "(local_24c * uVar21) / uVar21 != local_24c" (binary_expression "(local_24c * uVar21) / uVar21" (parenthesized_expression "(local_24c * uVar21)" (( "(") (binary_expression "local_24c * uVar21" (identifier "local_24c") (* "*") (identifier "uVar21")) () ")")) (/ "/") (identifier "uVar21")) (!= "!=") (identifier "local_24c")) () ")")) (compound_statement "{\nLAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";\n                    *(byte **)((int)pvVar7 + 0xb04) = local_264;\n                    goto LAB_000266f7;\n                  }" ({ "{") (labeled_statement "LAB_00026cf0:\n                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";" (statement_identifier "LAB_00026cf0") (: ":") (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "range overflow";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "range overflow"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")")))) (= "=") (string_literal ""range overflow"" (" """) (string_content "range overflow") (" """))) (; ";"))) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(byte **)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")")))) (= "=") (identifier "local_264")) (; ";")) (goto_statement "goto LAB_000266f7;" (goto "goto") (statement_identifier "LAB_000266f7") (; ";")) (} "}"))) (} "}")))) (expression_statement "local_24c = uVar16;" (assignment_expression "local_24c = uVar16" (identifier "local_24c") (= "=") (identifier "uVar16")) (; ";")) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(int *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")"))))) (; ";")) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" (identifier "local_260") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_254 = iVar1;" (assignment_expression "local_254 = iVar1" (identifier "local_254") (= "=") (identifier "iVar1")) (; ";")) (goto_statement "goto LAB_00026538;" (goto "goto") (statement_identifier "LAB_00026538") (; ";")) (} "}"))) (expression_statement "local_254 = 1;" (assignment_expression "local_254 = 1" (identifier "local_254") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00026b80:\n              if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" (statement_identifier "LAB_00026b80") (: ":") (if_statement "if (local_227 <= local_226) {\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" (if "if") (parenthesized_expression "(local_227 <= local_226)" (( "(") (binary_expression "local_227 <= local_226" (identifier "local_227") (<= "<=") (identifier "local_226")) () ")")) (compound_statement "{\n                local_250 = (byte *)(int)local_227;\n                iVar9 = (int)local_226;\n                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;\n              }" ({ "{") (expression_statement "local_250 = (byte *)(int)local_227;" (assignment_expression "local_250 = (byte *)(int)local_227" (identifier "local_250") (= "=") (cast_expression "(byte *)(int)local_227" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)local_227" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_227")))) (; ";")) (expression_statement "iVar9 = (int)local_226;" (assignment_expression "iVar9 = (int)local_226" (identifier "iVar9") (= "=") (cast_expression "(int)local_226" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_226"))) (; ";")) (if_statement "if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   ) goto LAB_00026bab;" (if "if") (parenthesized_expression "((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)\n                   )" (( "(") (binary_expression "(local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)" (parenthesized_expression "(local_254 <= (uint)(iVar9 - (int)local_250))" (( "(") (binary_expression "local_254 <= (uint)(iVar9 - (int)local_250)" (identifier "local_254") (<= "<=") (call_expression "(uint)(iVar9 - (int)local_250)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar9 - (int)local_250)" (( "(") (binary_expression "iVar9 - (int)local_250" (identifier "iVar9") (- "-") (cast_expression "(int)local_250" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_250"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar9 - (int)local_250 < 0x1a)" (( "(") (binary_expression "iVar9 - (int)local_250 < 0x1a" (binary_expression "iVar9 - (int)local_250" (identifier "iVar9") (- "-") (cast_expression "(int)local_250" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_250"))) (< "<") (number_literal "0x1a")) () ")"))) () ")")) (goto_statement "goto LAB_00026bab;" (goto "goto") (statement_identifier "LAB_00026bab") (; ";"))) (} "}")))) (} "}"))))) (} "}"))) (labeled_statement "LAB_000266e1:\n          *(char **)((int)pvVar7 + 0xb00) = "bad range";" (statement_identifier "LAB_000266e1") (: ":") (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "bad range";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "bad range"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")")))) (= "=") (string_literal ""bad range"" (" """) (string_content "bad range") (" """))) (; ";"))) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(byte **)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")")))) (= "=") (identifier "local_264")) (; ";")) (} "}")))) (labeled_statement "LAB_000266f7:\n        local_260 = (byte *)0x3;" (statement_identifier "LAB_000266f7") (: ":") (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" (identifier "local_260") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";"))) (expression_statement "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;" (assignment_expression "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1" (identifier "uVar21") (= "=") (binary_expression "*(int *)((int)pvVar7 + 0xaf0) + 1" (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(int *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")")))) (= "=") (identifier "uVar21")) (; ";")) (expression_statement "local_268 = pbVar17;" (assignment_expression "local_268 = pbVar17" (identifier "local_268") (= "=") (identifier "pbVar17")) (; ";")) (expression_statement "local_254 = iVar1;" (assignment_expression "local_254 = iVar1" (identifier "local_254") (= "=") (identifier "iVar1")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar21 < 100)" (( "(") (binary_expression "uVar21 < 100" (identifier "uVar21") (< "<") (number_literal "100")) () ")")) (; ";"))) (goto_statement "goto LAB_0002654a;" (goto "goto") (statement_identifier "LAB_0002654a") (; ";")) (} "}"))) (expression_statement "free(puVar6);" (call_expression "free(puVar6)" (identifier "free") (argument_list "(puVar6)" (( "(") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" (identifier "local_260") (= "=") (cast_expression "(byte *)0x1b" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1b"))) (; ";")) (} "}")))) (labeled_statement "LAB_000268dc:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00028220();\n  }" (statement_identifier "LAB_000268dc") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00028220();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_00028220();\n  }" ({ "{") (expression_statement "FUN_00028220();" (call_expression "FUN_00028220()" (identifier "FUN_00028220") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return (int)local_260;" (return "return") (cast_expression "(int)local_260" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_260")) (; ";")) (labeled_statement "LAB_00026a58:\n  if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }" (statement_identifier "LAB_00026a58") (: ":") (if_statement "if (local_268 == pbVar19) {\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }" (if "if") (parenthesized_expression "(local_268 == pbVar19)" (( "(") (binary_expression "local_268 == pbVar19" (identifier "local_268") (== "==") (identifier "pbVar19")) () ")")) (compound_statement "{\n    pcVar13 = "empty string within braces";\nLAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;\n    local_260 = (byte *)0x3;\n    iVar9 = *(int *)((int)pvVar7 + 0xaf0);\n    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;\n    local_264 = pbVar20;\n    goto LAB_00026538;\n  }" ({ "{") (expression_statement "pcVar13 = "empty string within braces";" (assignment_expression "pcVar13 = "empty string within braces"" (identifier "pcVar13") (= "=") (string_literal ""empty string within braces"" (" """) (string_content "empty string within braces") (" """))) (; ";")) (labeled_statement "LAB_0002650e:\n    *(char **)((int)pvVar7 + 0xb00) = pcVar13;" (statement_identifier "LAB_0002650e") (: ":") (expression_statement "*(char **)((int)pvVar7 + 0xb00) = pcVar13;" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = pcVar13" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")")))) (= "=") (identifier "pcVar13")) (; ";"))) (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" (identifier "local_260") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(int *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")"))))) (; ";")) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = pbVar20;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = pbVar20" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(byte **)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")")))) (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "local_264 = pbVar20;" (assignment_expression "local_264 = pbVar20" (identifier "local_264") (= "=") (identifier "pbVar20")) (; ";")) (goto_statement "goto LAB_00026538;" (goto "goto") (statement_identifier "LAB_00026538") (; ";")) (} "}")))) (expression_statement "uVar21 = puVar18[3] + 1;" (assignment_expression "uVar21 = puVar18[3] + 1" (identifier "uVar21") (= "=") (binary_expression "puVar18[3] + 1" (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar21 == 0) {\n    local_24c = 0;\n    uVar16 = local_24c;\n  }\n  else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }" (if "if") (parenthesized_expression "(uVar21 == 0)" (( "(") (binary_expression "uVar21 == 0" (identifier "uVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_24c = 0;\n    uVar16 = local_24c;\n  }" ({ "{") (expression_statement "local_24c = 0;" (assignment_expression "local_24c = 0" (identifier "local_24c") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = local_24c;" (assignment_expression "uVar16 = local_24c" (identifier "uVar16") (= "=") (identifier "local_24c")) (; ";")) (} "}")) (else_clause "else {\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }" (else "else") (compound_statement "{\n    uVar16 = local_24c * uVar21;\n    if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }\n  }" ({ "{") (expression_statement "uVar16 = local_24c * uVar21;" (assignment_expression "uVar16 = local_24c * uVar21" (identifier "uVar16") (= "=") (binary_expression "local_24c * uVar21" (identifier "local_24c") (* "*") (identifier "uVar21"))) (; ";")) (if_statement "if ((local_24c * uVar21) / uVar21 != local_24c) {\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }" (if "if") (parenthesized_expression "((local_24c * uVar21) / uVar21 != local_24c)" (( "(") (binary_expression "(local_24c * uVar21) / uVar21 != local_24c" (binary_expression "(local_24c * uVar21) / uVar21" (parenthesized_expression "(local_24c * uVar21)" (( "(") (binary_expression "local_24c * uVar21" (identifier "local_24c") (* "*") (identifier "uVar21")) () ")")) (/ "/") (identifier "uVar21")) (!= "!=") (identifier "local_24c")) () ")")) (compound_statement "{\n      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;\n      *(char **)((int)pvVar7 + 0xb00) = "range overflow";\nLAB_00026aa3:\n      local_260 = (byte *)0x3;\n      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;\n      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;\n      local_264 = pbVar20;\n      goto joined_r0x00026acd;\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)pvVar7 + 0xb04) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar7 + 0xb04) = 0" (pointer_expression "*(undefined4 *)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(undefined4 *)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "range overflow";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "range overflow"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")")))) (= "=") (string_literal ""range overflow"" (" """) (string_content "range overflow") (" """))) (; ";")) (labeled_statement "LAB_00026aa3:\n      local_260 = (byte *)0x3;" (statement_identifier "LAB_00026aa3") (: ":") (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" (identifier "local_260") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";"))) (expression_statement "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;" (assignment_expression "uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1" (identifier "uVar21") (= "=") (binary_expression "*(int *)((int)pvVar7 + 0xaf0) + 1" (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(int *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")")))) (= "=") (identifier "uVar21")) (; ";")) (expression_statement "local_264 = pbVar20;" (assignment_expression "local_264 = pbVar20" (identifier "local_264") (= "=") (identifier "pbVar20")) (; ";")) (goto_statement "goto joined_r0x00026acd;" (goto "goto") (statement_identifier "joined_r0x00026acd") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00026940:\n  local_24c = uVar16;" (statement_identifier "LAB_00026940") (: ":") (expression_statement "local_24c = uVar16;" (assignment_expression "local_24c = uVar16" (identifier "local_24c") (= "=") (identifier "uVar16")) (; ";"))) (expression_statement "*pbVar17 = 0;" (assignment_expression "*pbVar17 = 0" (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((void *)puVar18[2] == (void *)0x0) {\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }\n  else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }" (if "if") (parenthesized_expression "((void *)puVar18[2] == (void *)0x0)" (( "(") (binary_expression "(void *)puVar18[2] == (void *)0x0" (cast_expression "(void *)puVar18[2]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]"))) (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pvVar12 = malloc(4);\n    puVar18[2] = pvVar12;\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n  }" ({ "{") (expression_statement "pvVar12 = malloc(4);" (assignment_expression "pvVar12 = malloc(4)" (identifier "pvVar12") (= "=") (call_expression "malloc(4)" (identifier "malloc") (argument_list "(4)" (( "(") (number_literal "4") () ")")))) (; ";")) (expression_statement "puVar18[2] = pvVar12;" (assignment_expression "puVar18[2] = pvVar12" (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pvVar12")) (; ";")) (if_statement "if (pvVar12 == (void *)0x0) goto LAB_00026c32;" (if "if") (parenthesized_expression "(pvVar12 == (void *)0x0)" (( "(") (binary_expression "pvVar12 == (void *)0x0" (identifier "pvVar12") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00026c32;" (goto "goto") (statement_identifier "LAB_00026c32") (; ";"))) (} "}")) (else_clause "else {\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }" (else "else") (compound_statement "{\n    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);\n    if (pvVar12 == (void *)0x0) goto LAB_00026c32;\n    puVar18[2] = pvVar12;\n  }" ({ "{") (expression_statement "pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);" (assignment_expression "pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4)" (identifier "pvVar12") (= "=") (call_expression "realloc((void *)puVar18[2],puVar18[3] * 4 + 4)" (identifier "realloc") (argument_list "((void *)puVar18[2],puVar18[3] * 4 + 4)" (( "(") (cast_expression "(void *)puVar18[2]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]"))) (, ",") (binary_expression "puVar18[3] * 4 + 4" (binary_expression "puVar18[3] * 4" (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")) (* "*") (number_literal "4")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (pvVar12 == (void *)0x0) goto LAB_00026c32;" (if "if") (parenthesized_expression "(pvVar12 == (void *)0x0)" (( "(") (binary_expression "pvVar12 == (void *)0x0" (identifier "pvVar12") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00026c32;" (goto "goto") (statement_identifier "LAB_00026c32") (; ";"))) (expression_statement "puVar18[2] = pvVar12;" (assignment_expression "puVar18[2] = pvVar12" (subscript_expression "puVar18[2]" (identifier "puVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pvVar12")) (; ";")) (} "}")))) (expression_statement "iVar1 = puVar18[3];" (assignment_expression "iVar1 = puVar18[3]" (identifier "iVar1") (= "=") (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));" (assignment_expression "pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8))" (identifier "pcVar13") (= "=") (call_expression "strdup(*(char **)((int)pvVar7 + 0xaf8))" (identifier "strdup") (argument_list "(*(char **)((int)pvVar7 + 0xaf8))" (( "(") (pointer_expression "*(char **)((int)pvVar7 + 0xaf8)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xaf8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf8)" (( "(") (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf8")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;" (assignment_expression "*(char **)((int)pvVar12 + iVar1 * 4) = pcVar13" (pointer_expression "*(char **)((int)pvVar12 + iVar1 * 4)" (* "*") (cast_expression "(char **)((int)pvVar12 + iVar1 * 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar12 + iVar1 * 4)" (( "(") (binary_expression "(int)pvVar12 + iVar1 * 4" (cast_expression "(int)pvVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar12")) (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (if_statement "if (pcVar13 != (char *)0x0) {\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }" (if "if") (parenthesized_expression "(pcVar13 != (char *)0x0)" (( "(") (binary_expression "pcVar13 != (char *)0x0" (identifier "pcVar13") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pbVar20 = pbVar19 + 1;\n    puVar18[3] = iVar1 + 1;\n    if (*pbVar19 == 0x7d) goto LAB_00026cc0;\n    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);\n    goto LAB_00026401;\n  }" ({ "{") (expression_statement "pbVar20 = pbVar19 + 1;" (assignment_expression "pbVar20 = pbVar19 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar18[3] = iVar1 + 1;" (assignment_expression "puVar18[3] = iVar1 + 1" (subscript_expression "puVar18[3]" (identifier "puVar18") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*pbVar19 == 0x7d) goto LAB_00026cc0;" (if "if") (parenthesized_expression "(*pbVar19 == 0x7d)" (( "(") (binary_expression "*pbVar19 == 0x7d" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (number_literal "0x7d")) () ")")) (goto_statement "goto LAB_00026cc0;" (goto "goto") (statement_identifier "LAB_00026cc0") (; ";"))) (expression_statement "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);" (assignment_expression "pbVar17 = *(byte **)((int)pvVar7 + 0xaf8)" (identifier "pbVar17") (= "=") (pointer_expression "*(byte **)((int)pvVar7 + 0xaf8)" (* "*") (cast_expression "(byte **)((int)pvVar7 + 0xaf8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf8)" (( "(") (binary_expression "(int)pvVar7 + 0xaf8" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf8")) () ")"))))) (; ";")) (goto_statement "goto LAB_00026401;" (goto "goto") (statement_identifier "LAB_00026401") (; ";")) (} "}"))) (labeled_statement "LAB_00026c32:\n  iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (statement_identifier "LAB_00026c32") (: ":") (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(int *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)((int)pvVar7 + 0xb04) = 0;" (assignment_expression "*(undefined4 *)((int)pvVar7 + 0xb04) = 0" (pointer_expression "*(undefined4 *)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(undefined4 *)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "out of memory";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "out of memory"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")")))) (= "=") (string_literal ""out of memory"" (" """) (string_content "out of memory") (" """))) (; ";")) (expression_statement "local_260 = (byte *)0x1b;" (assignment_expression "local_260 = (byte *)0x1b" (identifier "local_260") (= "=") (cast_expression "(byte *)0x1b" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1b"))) (; ";")) (expression_statement "local_264 = pbVar20;" (assignment_expression "local_264 = pbVar20" (identifier "local_264") (= "=") (identifier "pbVar20")) (; ";")) (goto_statement "goto LAB_00026538;" (goto "goto") (statement_identifier "LAB_00026538") (; ";")) (labeled_statement "LAB_00026cc0:\n  local_264 = local_260;" (statement_identifier "LAB_00026cc0") (: ":") (expression_statement "local_264 = local_260;" (assignment_expression "local_264 = local_260" (identifier "local_264") (= "=") (identifier "local_260")) (; ";"))) (expression_statement "local_260 = (byte *)0x0;" (assignment_expression "local_260 = (byte *)0x0" (identifier "local_260") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xaf0);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xaf0)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(int *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")"))))) (; ";")) (expression_statement "local_268 = pbVar20;" (assignment_expression "local_268 = pbVar20" (identifier "local_268") (= "=") (identifier "pbVar20")) (; ";")) (labeled_statement "LAB_00026538:\n  uVar21 = iVar9 + 1;" (statement_identifier "LAB_00026538") (: ":") (expression_statement "uVar21 = iVar9 + 1;" (assignment_expression "uVar21 = iVar9 + 1" (identifier "uVar21") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "*(uint *)((int)pvVar7 + 0xaf0) = uVar21;" (assignment_expression "*(uint *)((int)pvVar7 + 0xaf0) = uVar21" (pointer_expression "*(uint *)((int)pvVar7 + 0xaf0)" (* "*") (cast_expression "(uint *)((int)pvVar7 + 0xaf0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xaf0)" (( "(") (binary_expression "(int)pvVar7 + 0xaf0" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xaf0")) () ")")))) (= "=") (identifier "uVar21")) (; ";")) (labeled_statement "joined_r0x00026acd:\n  if (99 < uVar21) goto LAB_0002654a;" (statement_identifier "joined_r0x00026acd") (: ":") (if_statement "if (99 < uVar21) goto LAB_0002654a;" (if "if") (parenthesized_expression "(99 < uVar21)" (( "(") (binary_expression "99 < uVar21" (number_literal "99") (< "<") (identifier "uVar21")) () ")")) (goto_statement "goto LAB_0002654a;" (goto "goto") (statement_identifier "LAB_0002654a") (; ";")))) (goto_statement "goto LAB_00026300;" (goto "goto") (statement_identifier "LAB_00026300") (; ";")) (labeled_statement "LAB_0002654a:\n  *(char **)((int)pvVar7 + 0xb00) = "too many globs";" (statement_identifier "LAB_0002654a") (: ":") (expression_statement "*(char **)((int)pvVar7 + 0xb00) = "too many globs";" (assignment_expression "*(char **)((int)pvVar7 + 0xb00) = "too many globs"" (pointer_expression "*(char **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(char **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")")))) (= "=") (string_literal ""too many globs"" (" """) (string_content "too many globs") (" """))) (; ";"))) (expression_statement "*(byte **)((int)pvVar7 + 0xb04) = local_264;" (assignment_expression "*(byte **)((int)pvVar7 + 0xb04) = local_264" (pointer_expression "*(byte **)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(byte **)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")")))) (= "=") (identifier "local_264")) (; ";")) (labeled_statement "LAB_000268b2:\n  if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" (statement_identifier "LAB_000268b2") (: ":") (if_statement "if (param_4 == 0) {\n    local_260 = (byte *)0x3;\n  }\n  else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_260 = (byte *)0x3;\n  }" ({ "{") (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" (identifier "local_260") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (} "}")) (else_clause "else {\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" (else "else") (compound_statement "{\n    local_260 = (byte *)0x3;\n    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);\nLAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);\n    puVar14 = puVar6;\n    if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }\n    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);\n  }" ({ "{") (expression_statement "local_260 = (byte *)0x3;" (assignment_expression "local_260 = (byte *)0x3" (identifier "local_260") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);" (assignment_expression "puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined1 **)((int)pvVar7 + 0xb00)" (* "*") (cast_expression "(undefined1 **)((int)pvVar7 + 0xb00)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb00)" (( "(") (binary_expression "(int)pvVar7 + 0xb00" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb00")) () ")"))))) (; ";")) (labeled_statement "LAB_000269de:\n    iVar9 = *(int *)((int)pvVar7 + 0xb04);" (statement_identifier "LAB_000269de") (: ":") (expression_statement "iVar9 = *(int *)((int)pvVar7 + 0xb04);" (assignment_expression "iVar9 = *(int *)((int)pvVar7 + 0xb04)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)((int)pvVar7 + 0xb04)" (* "*") (cast_expression "(int *)((int)pvVar7 + 0xb04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar7 + 0xb04)" (( "(") (binary_expression "(int)pvVar7 + 0xb04" (cast_expression "(int)pvVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar7")) (+ "+") (number_literal "0xb04")) () ")"))))) (; ";"))) (expression_statement "puVar14 = puVar6;" (assignment_expression "puVar14 = puVar6" (identifier "puVar14") (= "=") (identifier "puVar6")) (; ";")) (if_statement "if (iVar9 != 0) {\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar14 = local_220;\n      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);\n    }" ({ "{") (expression_statement "puVar14 = local_220;" (assignment_expression "puVar14 = local_220" (identifier "puVar14") (= "=") (identifier "local_220")) (; ";")) (expression_statement "curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4);" (call_expression "curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4)" (identifier "curl_msnprintf") (argument_list "(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,\n                     iVar9 + -1,&DAT_000290e4)" (( "(") (identifier "puVar14") (, ",") (number_literal "0x200") (, ",") (string_literal ""%s in URL position %zu:\n%s\n%*s^"" (" """) (string_content "%s in URL position %zu:") (escape_sequence "\n") (string_content "%s") (escape_sequence "\n") (string_content "%*s^") (" """)) (, ",") (identifier "puVar6") (, ",") (identifier "iVar9") (, ",") (identifier "param_2") (, ",") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1")) (, ",") (pointer_expression "&DAT_000290e4" (& "&") (identifier "DAT_000290e4")) () ")"))) (; ";")) (} "}"))) (expression_statement "curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);" (call_expression "curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14)" (identifier "curl_mfprintf") (argument_list "(param_4,"curl: (%d) %s\n",local_260,puVar14)" (( "(") (identifier "param_4") (, ",") (string_literal ""curl: (%d) %s\n"" (" """) (string_content "curl: (%d) %s") (escape_sequence "\n") (" """)) (, ",") (identifier "local_260") (, ",") (identifier "puVar14") () ")"))) (; ";")) (} "}"))))) (labeled_statement "LAB_000268c6:\n  FUN_00026180(pvVar7);" (statement_identifier "LAB_000268c6") (: ":") (expression_statement "FUN_00026180(pvVar7);" (call_expression "FUN_00026180(pvVar7)" (identifier "FUN_00026180") (argument_list "(pvVar7)" (( "(") (identifier "pvVar7") () ")"))) (; ";"))) (expression_statement "*param_3 = 1;" (assignment_expression "*param_3 = 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000268dc;" (goto "goto") (statement_identifier "LAB_000268dc") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Unknown calling convention */

type_1 function_1(type_2 **glob,char *url,type_3 *urlnum,type_4 *var_10)

{
  int var_46;
  char var_26;
  type_5 var_8;
  size_t var_4;
  char *var_5;
  type_2 *var_7;
  int var_12;
  char *var_22;
  int var_30;
  type_3 var_36;
  type_3 var_37;
  char **var_21;
  int *piVar12;
  type_6 var_38;
  type_5 *var_17;
  type_7 *pUVar15;
  type_5 *var_27;
  size_t var_20;
  type_5 *var_28;
  type_6 var_13;
  type_5 *pbVar20;
  size_t var_14;
  int var_1;
  bool var_24;
  type_5 *var_18;
  type_5 *var_19;
  type_5 *var_9;
  size_t var_16;
  type_6 var_35;
  type_6 var_23;
  type_5 *var_40;
  type_6 var_39;
  char var_43;
  char var_44;
  char var_42;
  char *var_34;
  char text [512];
  
  var_46 = *(int *)(var_1 + 0x14);
  *glob = (type_2 *)0x0;
  var_4 = var_2(url);
  var_5 = (char *)var_3(var_4 + 1);
  if (var_5 == (char *)0x0) {
    var_9 = (type_5 *)0x1b;
  }
  else {
    *var_5 = '\0';
    var_7 = (type_2 *)var_6(1,0xb08);
    if (var_7 != (type_2 *)0x0) {
      var_7->urllen = var_4;
      var_7->glob_buffer = var_5;
      var_19 = (type_5 *)0x1;
      var_18 = (type_5 *)url;
      var_39 = 1;
      var_23 = 0;
      var_9 = (type_5 *)0x0;
LAB_00026300:
      do {
        var_8 = *var_18;
        if (var_8 == 0) {
          if (var_9 == (type_5 *)0x0) {
            *urlnum = var_39;
            *glob = var_7;
            goto LAB_000268dc;
          }
LAB_00026f4d:
          if ((var_10 == (type_4 *)0x0) || (var_5 = var_7->var_10, var_5 == (char *)0x0))
          goto LAB_000268c6;
          goto LAB_000269de;
        }
        if (var_9 != (type_5 *)0x0) goto LAB_00026f4d;
        var_16 = 0;
        var_17 = (type_5 *)var_7->glob_buffer;
        while ((var_8 != 0 && (var_8 != 0x7b))) {
          if (var_8 == 0x5b) {
            var_13 = 0;
            var_4 = 1;
            while( true ) {
              do {
                do {
                  var_14 = var_4 + 1;
                  var_8 = var_18[var_4];
                  var_12 = var_11((type_6)var_8);
                  var_4 = var_14;
                } while (var_12 != 0);
              } while ((var_8 == 0x2e) || (var_8 == 0x25));
              if (var_8 != 0x3a) break;
              var_13 = var_13 + 1;
            }
            if (var_8 == 0x5d) {
              if ((var_13 < 2) && (var_18[1] == 0x5d)) goto LAB_0002657b;
              if (var_14 == 0) break;
            }
            else {
              if (var_18[1] != 0x5d) break;
LAB_0002657b:
              var_14 = 2;
            }
            var_15(var_17,var_18,var_14);
            var_16 = var_16 + var_14;
            var_27 = var_17 + var_14;
            var_28 = var_18 + var_14;
          }
          else {
            if ((var_8 & 0xdf) == 0x5d) {
              var_7->var_10 = "unmatched close brace/bracket";
              var_7->pos = (size_t)var_19;
              goto LAB_000268b2;
            }
            var_28 = var_18 + 1;
            pbVar20 = var_19 + 1;
            if ((var_8 == 0x5c) && (((var_18[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {
              var_28 = var_18 + 2;
              pbVar20 = var_19 + 2;
              var_8 = var_18[1];
            }
            var_16 = var_16 + 1;
            var_27 = var_17 + 1;
            *var_17 = var_8;
            var_19 = pbVar20;
          }
          var_17 = var_27;
          var_18 = var_28;
          var_8 = *var_28;
        }
        if (var_16 != 0) {
          *var_17 = 0;
          var_20 = var_7->size;
          var_5 = var_7->glob_buffer;
          pUVar15 = var_7->pattern + var_20;
          pUVar15->type = UPTSet;
          (pUVar15->content).Set.size = 1;
          (pUVar15->content).Set.ptr_s = 0;
          pUVar15->globindex = -1;
          var_21 = (char **)var_3(4);
          (pUVar15->content).Set.elements = var_21;
          if (var_21 == (char **)0x0) {
LAB_00026900:
            var_13 = var_20 + 1;
            var_7->pos = 0;
            var_7->var_10 = "out of memory";
            var_9 = (type_5 *)0x1b;
            var_7->size = var_13;
          }
          else {
            var_22 = (char *)var_3(var_16 + 1);
            *var_21 = var_22;
            if (var_22 == (char *)0x0) goto LAB_00026900;
            var_13 = var_20 + 1;
            var_15(var_22,var_5,var_16);
            var_7->size = var_13;
            var_22[var_16] = '\0';
          }
          goto joined_r0x00026acd;
        }
        var_20 = var_7->size;
        if (*var_18 != 0x5b) {
          var_9 = (type_5 *)0x0;
          if (*var_18 == 0x7b) {
            var_18 = var_18 + 1;
            pUVar15 = var_7->pattern + var_20;
            var_12 = var_23 + 1;
            var_17 = (type_5 *)var_7->glob_buffer;
            pUVar15->globindex = var_23;
            pUVar15->type = UPTSet;
            (pUVar15->content).Set.size = 0;
            (pUVar15->content).Set.ptr_s = 0;
            (pUVar15->content).Set.elements = (char **)0x0;
            var_28 = var_18;
            var_9 = var_19;
LAB_00026401:
            var_9 = var_9 + 1;
            var_8 = *var_28;
            var_26 = var_8 + 0xa4;
            var_24 = var_8 == 0x5c;
            var_27 = var_28;
            if (var_24) goto LAB_0002643a;
            do {
              var_28 = var_9;
              var_23 = var_12;
              if (var_24 || var_25(var_8,'\\') != var_26 < '\0') {
                var_38 = var_39;
                if (var_8 == 0x2c) goto LAB_00026940;
                if (var_8 == 0x5b) {
LAB_00026ae0:
                  var_5 = "nested brace";
                  goto LAB_0002650e;
                }
                if (var_8 == 0) {
                  var_7->var_10 = "unmatched brace";
                  var_7->pos = (size_t)var_19;
                  goto LAB_00026aa3;
                }
              }
              else {
                if (var_8 == 0x7b) goto LAB_00026ae0;
                if (var_8 == 0x7d) goto LAB_00026a58;
                if (var_8 == 0x5d) {
                  var_5 = "unexpected close bracket";
                  goto LAB_0002650e;
                }
              }
              var_27 = var_27 + 1;
              pbVar20 = var_9 + 1;
              while( true ) {
                var_9 = pbVar20;
                *var_17 = var_8;
                var_8 = *var_27;
                var_17 = var_17 + 1;
                var_26 = var_8 + 0xa4;
                var_24 = var_26 == '\0';
                var_28 = var_27;
                if (!var_24) break;
LAB_0002643a:
                var_27 = var_28 + 1;
                pbVar20 = var_9 + 1;
                if (var_28[1] != 0) {
                  var_27 = var_28 + 2;
                  var_8 = var_28[1];
                  pbVar20 = var_9 + 2;
                }
              }
            } while( true );
          }
          goto LAB_00026538;
        }
        var_19 = var_19 + 1;
        var_17 = var_18 + 1;
        var_12 = var_23 + 1;
        pUVar15 = var_7->pattern + var_20;
        pUVar15->globindex = var_23;
        var_30 = var_29((type_6)var_18[1]);
        if (var_30 == 0) {
          var_30 = var_31((type_6)var_18[1]);
          if (var_30 != 0) {
            pUVar15->type = UPTNumRange;
            (pUVar15->content).Set.ptr_s = 0;
            if (var_18[1] == 0x30) {
              var_8 = 0x30;
              var_28 = var_17;
              while (var_30 = var_31((type_6)var_8), var_30 != 0) {
                var_28 = var_28 + 1;
                piVar12 = &(pUVar15->content).Set.ptr_s;
                *piVar12 = *piVar12 + 1;
                var_8 = *var_28;
              }
            }
            piVar12 = var_32();
            *piVar12 = 0;
            var_36 = var_33((char *)var_17,&var_34,10);
            if (((*piVar12 != 0) || (var_17 == (type_5 *)var_34)) || (*var_34 != '-')) goto LAB_000266e1;
            var_40 = (type_5 *)(var_34 + 1);
            var_35 = 0;
            var_8 = var_34[1];
            while (var_8 != 0) {
              if ((var_8 != 0x20) && (var_8 != 9)) {
                var_35 = (type_6)var_8;
                break;
              }
              var_40 = (type_5 *)((int)var_40 + 1);
              var_8 = *var_40;
            }
            var_30 = var_31(var_35);
            if (var_30 != 0) {
              *piVar12 = 0;
              var_37 = var_33((char *)var_40,&var_34,10);
              if (*piVar12 == 0) {
                if (*var_34 == ':') {
                  var_40 = (type_5 *)(var_34 + 1);
                  var_35 = var_33((char *)var_40,&var_34,10);
                  if (((*piVar12 == 0) && (var_34 != (char *)0x0)) && (*var_34 == ']')) {
                    var_18 = (type_5 *)(var_34 + 1);
                    var_19 = var_18 + ((int)var_19 - (int)var_17);
                    if (((var_34 == (char *)0x0) || (var_35 == 0)) ||
                       ((var_36 == var_37 && (var_35 != 1)))) goto LAB_000266e1;
                    goto LAB_00026e40;
                  }
                }
                else if (*var_34 == ']') {
                  var_35 = 1;
                  var_18 = (type_5 *)(var_34 + 1);
                  var_19 = var_18 + ((int)var_19 - (int)var_17);
LAB_00026e40:
                  if ((var_36 != var_37) && ((var_37 < var_36 || (var_37 - var_36 < var_35))))
                  goto LAB_000266e1;
                  (pUVar15->content).NumRange.min_n = var_36;
                  (pUVar15->content).NumRange.ptr_n = var_36;
                  (pUVar15->content).NumRange.max_n = var_37;
                  var_7->pattern[var_20].content.NumRange.step = var_35;
                  var_38 = ((pUVar15->content).Set.size - (pUVar15->content).NumRange.min_n) /
                           var_35 + 1;
                  var_13 = var_38;
                  if ((var_38 == 0) || (var_13 = var_39 * var_38, var_13 / var_38 == var_39))
                  {
                    var_20 = var_7->size;
                    var_9 = (type_5 *)0x0;
                    var_23 = var_12;
                    var_39 = var_13;
                    goto LAB_00026538;
                  }
                  goto LAB_00026cf0;
                }
              }
            }
            var_19 = var_40 + ((int)var_19 - (int)var_17);
            goto LAB_000266e1;
          }
          var_7->var_10 = "bad range specification";
          var_7->pos = (size_t)var_19;
        }
        else {
          pUVar15->type = UPTCharRange;
          var_30 = var_41(var_17,&DAT_0003f47d,&var_43,&var_44,&var_42);
          if (var_30 == 3) {
            if (var_42 == ':') {
              piVar12 = var_32();
              *piVar12 = 0;
              var_23 = var_33((char *)(var_18 + 5),&var_34,10);
              if (((*piVar12 == 0) && (var_18 + 5 != (type_5 *)var_34)) && (*var_34 == ']')) {
                var_18 = (type_5 *)(var_34 + 1);
                var_19 = var_18 + ((int)var_19 - (int)var_17);
                if ((var_23 != 0) && (-1 < (int)var_23)) {
                  if (var_43 != var_44) goto LAB_00026b80;
                  if (var_23 == 1) goto LAB_00026dac;
                }
              }
            }
            else if (var_42 == ']') {
              var_18 = var_18 + 5;
              var_19 = var_18 + ((int)var_19 - (int)var_17);
              if (var_43 == var_44) {
LAB_00026dac:
                var_40 = (type_5 *)(int)var_43;
                var_30 = (int)var_44;
                var_23 = 1;
LAB_00026bab:
                (pUVar15->content).CharRange.var_43 = var_43;
                (pUVar15->content).CharRange.ptr_c = var_43;
                (pUVar15->content).CharRange.var_44 = var_44;
                (pUVar15->content).NumRange.max_n = var_23;
                var_13 = (var_30 - (int)var_40) / (int)var_23 + 1;
                if (var_13 == 0) {
                  var_39 = 0;
                  var_38 = var_39;
                }
                else {
                  var_38 = var_39 * var_13;
                  if ((var_39 * var_13) / var_13 != var_39) {
LAB_00026cf0:
                    var_7->var_10 = "range overflow";
                    var_7->pos = (size_t)var_19;
                    goto LAB_000266f7;
                  }
                }
                var_39 = var_38;
                var_20 = var_7->size;
                var_9 = (type_5 *)0x0;
                var_23 = var_12;
                goto LAB_00026538;
              }
              var_23 = 1;
LAB_00026b80:
              if (var_43 <= var_44) {
                var_40 = (type_5 *)(int)var_43;
                var_30 = (int)var_44;
                if ((var_23 <= (type_6)(var_30 - (int)var_40)) && (var_30 - (int)var_40 < 0x1a)
                   ) goto LAB_00026bab;
              }
            }
          }
LAB_000266e1:
          var_7->var_10 = "bad range";
          var_7->pos = (size_t)var_19;
        }
LAB_000266f7:
        var_9 = (type_5 *)0x3;
        var_13 = var_7->size + 1;
        var_7->size = var_13;
        var_18 = var_17;
        var_23 = var_12;
      } while (var_13 < 100);
      goto LAB_0002654a;
    }
    var_45(var_5);
    var_9 = (type_5 *)0x1b;
  }
LAB_000268dc:
  if (var_46 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_47();
  }
  return (type_1)var_9;
LAB_00026a58:
  if (var_18 == var_27) {
    var_5 = "empty string within braces";
LAB_0002650e:
    var_7->var_10 = var_5;
    var_9 = (type_5 *)0x3;
    var_20 = var_7->size;
    var_7->pos = (size_t)var_28;
    var_19 = var_28;
    goto LAB_00026538;
  }
  var_13 = (pUVar15->content).Set.size + 1;
  if (var_13 == 0) {
    var_39 = 0;
    var_38 = var_39;
  }
  else {
    var_38 = var_39 * var_13;
    if ((var_39 * var_13) / var_13 != var_39) {
      var_7->pos = 0;
      var_7->var_10 = "range overflow";
LAB_00026aa3:
      var_9 = (type_5 *)0x3;
      var_13 = var_7->size + 1;
      var_7->size = var_13;
      var_19 = var_28;
      goto joined_r0x00026acd;
    }
  }
LAB_00026940:
  var_39 = var_38;
  *var_17 = 0;
  var_21 = (pUVar15->content).Set.elements;
  if (var_21 == (char **)0x0) {
    var_21 = (char **)var_3(4);
    (pUVar15->content).Set.elements = var_21;
    if (var_21 == (char **)0x0) goto LAB_00026c32;
  }
  else {
    var_21 = (char **)var_48(var_21,(pUVar15->content).Set.size * 4 + 4);
    if (var_21 == (char **)0x0) goto LAB_00026c32;
    (pUVar15->content).Set.elements = var_21;
  }
  var_30 = (pUVar15->content).Set.size;
  var_5 = var_49(var_7->glob_buffer);
  var_21[var_30] = var_5;
  if (var_5 != (char *)0x0) {
    var_28 = var_27 + 1;
    (pUVar15->content).Set.size = var_30 + 1;
    if (*var_27 == 0x7d) goto LAB_00026cc0;
    var_17 = (type_5 *)var_7->glob_buffer;
    goto LAB_00026401;
  }
LAB_00026c32:
  var_20 = var_7->size;
  var_7->pos = 0;
  var_7->var_10 = "out of memory";
  var_9 = (type_5 *)0x1b;
  var_19 = var_28;
  goto LAB_00026538;
LAB_00026cc0:
  var_19 = var_9;
  var_9 = (type_5 *)0x0;
  var_20 = var_7->size;
  var_18 = var_28;
LAB_00026538:
  var_13 = var_20 + 1;
  var_7->size = var_13;
joined_r0x00026acd:
  if (99 < var_13) goto LAB_0002654a;
  goto LAB_00026300;
LAB_0002654a:
  var_7->var_10 = "too many globs";
  var_7->pos = (size_t)var_19;
LAB_000268b2:
  if (var_10 == (type_4 *)0x0) {
    var_9 = (type_5 *)0x3;
  }
  else {
    var_9 = (type_5 *)0x3;
    var_5 = var_7->var_10;
LAB_000269de:
    var_20 = var_7->pos;
    var_22 = var_5;
    if (var_20 != 0) {
      var_22 = text;
      var_50(var_22,0x200,"%s in URL position %zu:\n%s\n%*s^",var_5,var_20,url,var_20 - 1,
                     &DAT_000290e4);
    }
    var_51(var_10,"curl: (%d) %s\n",var_9,var_22);
  }
LAB_000268c6:
  var_52(var_7);
  *urlnum = 1;
  goto LAB_000268dc;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int MASKED(undefined4 *param_1,byte *param_2,uint *param_3,int param_4)

{
  int iVar1;
  char cVar2;
  byte bVar3;
  byte bVar4;
  size_t sVar5;
  undefined1 *puVar6;
  void *pvVar7;
  void *__dest;
  int iVar8;
  int iVar9;
  ulong uVar10;
  ulong uVar11;
  void *pvVar12;
  char *pcVar13;
  undefined1 *puVar14;
  int *piVar15;
  uint uVar16;
  byte *pbVar17;
  undefined4 *puVar18;
  byte *pbVar19;
  byte *pbVar20;
  uint uVar21;
  byte *pbVar22;
  size_t __n;
  undefined4 *puVar23;
  int in_GS_OFFSET;
  bool bVar24;
  byte *local_268;
  byte *local_264;
  byte *local_260;
  size_t local_25c;
  uint local_258;
  uint local_254;
  byte *local_250;
  uint local_24c;
  char local_227;
  char local_226;
  char local_225;
  byte *local_224;
  undefined1 local_220 [512];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x26239;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  *param_1 = 0;
  sVar5 = strlen((char *)param_2);
  puVar6 = (undefined1 *)malloc(sVar5 + 1);
  if (puVar6 == (undefined1 *)0x0) {
    local_260 = (byte *)0x1b;
  }
  else {
    *puVar6 = 0;
    pvVar7 = calloc(1,0xb08);
    if (pvVar7 != (void *)0x0) {
      *(size_t *)((int)pvVar7 + 0xaf4) = sVar5;
      *(undefined1 **)((int)pvVar7 + 0xaf8) = puVar6;
      local_264 = (byte *)0x1;
      local_268 = param_2;
      local_24c = 1;
      local_254 = 0;
      local_260 = (byte *)0x0;
LAB_00026300:
      do {
        bVar4 = *local_268;
        if (bVar4 == 0) {
          if (local_260 == (byte *)0x0) {
            *param_3 = local_24c;
            *param_1 = pvVar7;
            goto LAB_000268dc;
          }
LAB_00026f4d:
          if ((param_4 == 0) ||
             (puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00), puVar6 == (undefined1 *)0x0))
          goto LAB_000268c6;
          goto LAB_000269de;
        }
        if (local_260 != (byte *)0x0) goto LAB_00026f4d;
        local_25c = 0;
        pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);
        while ((bVar4 != 0 && (bVar4 != 0x7b))) {
          if (bVar4 == 0x5b) {
            uVar21 = 0;
            sVar5 = 1;
            while( true ) {
              do {
                do {
                  __n = sVar5 + 1;
                  bVar4 = local_268[sVar5];
                  iVar9 = FUN_00028030(bVar4);
                  sVar5 = __n;
                } while (iVar9 != 0);
              } while ((bVar4 == 0x2e) || (bVar4 == 0x25));
              if (bVar4 != 0x3a) break;
              uVar21 = uVar21 + 1;
            }
            if (bVar4 == 0x5d) {
              if ((uVar21 < 2) && (local_268[1] == 0x5d)) goto LAB_0002657b;
              if (__n == 0) break;
            }
            else {
              if (local_268[1] != 0x5d) break;
LAB_0002657b:
              __n = 2;
            }
            memcpy(pbVar17,local_268,__n);
            local_25c = local_25c + __n;
            pbVar19 = pbVar17 + __n;
            pbVar20 = local_268 + __n;
          }
          else {
            if ((bVar4 & 0xdf) == 0x5d) {
              *(char **)((int)pvVar7 + 0xb00) = "unmatched close brace/bracket";
              *(byte **)((int)pvVar7 + 0xb04) = local_264;
              goto LAB_000268b2;
            }
            pbVar20 = local_268 + 1;
            pbVar22 = local_264 + 1;
            if ((bVar4 == 0x5c) && (((local_268[1] & 0xdf) + 0xa5 & 0xfd) == 0)) {
              pbVar20 = local_268 + 2;
              pbVar22 = local_264 + 2;
              bVar4 = local_268[1];
            }
            local_25c = local_25c + 1;
            pbVar19 = pbVar17 + 1;
            *pbVar17 = bVar4;
            local_264 = pbVar22;
          }
          pbVar17 = pbVar19;
          local_268 = pbVar20;
          bVar4 = *pbVar20;
        }
        if (local_25c != 0) {
          *pbVar17 = 0;
          iVar9 = *(int *)((int)pvVar7 + 0xaf0);
          pvVar12 = *(void **)((int)pvVar7 + 0xaf8);
          puVar23 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);
          *puVar23 = 1;
          puVar23[3] = 1;
          puVar23[4] = 0;
          puVar23[1] = 0xffffffff;
          puVar18 = (undefined4 *)malloc(4);
          puVar23[2] = puVar18;
          if (puVar18 == (undefined4 *)0x0) {
LAB_00026900:
            uVar21 = iVar9 + 1;
            *(undefined4 *)((int)pvVar7 + 0xb04) = 0;
            *(char **)((int)pvVar7 + 0xb00) = "out of memory";
            local_260 = (byte *)0x1b;
            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;
          }
          else {
            __dest = malloc(local_25c + 1);
            *puVar18 = __dest;
            if (__dest == (void *)0x0) goto LAB_00026900;
            uVar21 = iVar9 + 1;
            memcpy(__dest,pvVar12,local_25c);
            *(uint *)((int)pvVar7 + 0xaf0) = uVar21;
            *(undefined1 *)((int)__dest + local_25c) = 0;
          }
          goto joined_r0x00026acd;
        }
        iVar9 = *(int *)((int)pvVar7 + 0xaf0);
        if (*local_268 != 0x5b) {
          local_260 = (byte *)0x0;
          if (*local_268 == 0x7b) {
            local_268 = local_268 + 1;
            puVar18 = (undefined4 *)(iVar9 * 0x1c + (int)pvVar7);
            iVar9 = local_254 + 1;
            pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);
            puVar18[1] = local_254;
            *puVar18 = 1;
            puVar18[3] = 0;
            puVar18[4] = 0;
            puVar18[2] = 0;
            pbVar20 = local_268;
            local_260 = local_264;
LAB_00026401:
            local_260 = local_260 + 1;
            bVar4 = *pbVar20;
            cVar2 = bVar4 + 0xa4;
            bVar24 = bVar4 == 0x5c;
            pbVar19 = pbVar20;
            if (bVar24) goto LAB_0002643a;
            do {
              pbVar20 = local_260;
              local_254 = iVar9;
              if (bVar24 || SBORROW1(bVar4,'\\') != cVar2 < '\0') {
                uVar16 = local_24c;
                if (bVar4 == 0x2c) goto LAB_00026940;
                if (bVar4 == 0x5b) {
LAB_00026ae0:
                  pcVar13 = "nested brace";
                  goto LAB_0002650e;
                }
                if (bVar4 == 0) {
                  *(char **)((int)pvVar7 + 0xb00) = "unmatched brace";
                  *(byte **)((int)pvVar7 + 0xb04) = local_264;
                  goto LAB_00026aa3;
                }
              }
              else {
                if (bVar4 == 0x7b) goto LAB_00026ae0;
                if (bVar4 == 0x7d) goto LAB_00026a58;
                if (bVar4 == 0x5d) {
                  pcVar13 = "unexpected close bracket";
                  goto LAB_0002650e;
                }
              }
              pbVar19 = pbVar19 + 1;
              pbVar22 = local_260 + 1;
              while( true ) {
                local_260 = pbVar22;
                *pbVar17 = bVar4;
                bVar4 = *pbVar19;
                pbVar17 = pbVar17 + 1;
                cVar2 = bVar4 + 0xa4;
                bVar24 = cVar2 == '\0';
                pbVar20 = pbVar19;
                if (!bVar24) break;
LAB_0002643a:
                pbVar19 = pbVar20 + 1;
                pbVar22 = local_260 + 1;
                if (pbVar20[1] != 0) {
                  pbVar19 = pbVar20 + 2;
                  bVar4 = pbVar20[1];
                  pbVar22 = local_260 + 2;
                }
              }
            } while( true );
          }
          goto LAB_00026538;
        }
        local_264 = local_264 + 1;
        pbVar17 = local_268 + 1;
        iVar1 = local_254 + 1;
        puVar18 = (undefined4 *)((int)pvVar7 + iVar9 * 0x1c);
        puVar18[1] = local_254;
        iVar8 = FUN_000280f0(local_268[1]);
        if (iVar8 == 0) {
          iVar8 = FUN_00028000(local_268[1]);
          if (iVar8 != 0) {
            *puVar18 = 3;
            puVar18[4] = 0;
            if (local_268[1] == 0x30) {
              bVar4 = 0x30;
              pbVar20 = pbVar17;
              while (iVar8 = FUN_00028000(bVar4), iVar8 != 0) {
                pbVar20 = pbVar20 + 1;
                puVar18[4] = puVar18[4] + 1;
                bVar4 = *pbVar20;
              }
            }
            piVar15 = __errno_location();
            *piVar15 = 0;
            uVar10 = strtoul((char *)pbVar17,(char **)&local_224,10);
            if (((*piVar15 != 0) || (pbVar17 == local_224)) || (*local_224 != 0x2d))
            goto LAB_000266e1;
            local_250 = local_224 + 1;
            bVar4 = local_224[1];
            while ((bVar3 = 0, bVar4 != 0 && ((bVar4 == 0x20 || (bVar3 = bVar4, bVar4 == 9))))) {
              local_250 = (byte *)((int)local_250 + 1);
              bVar4 = *local_250;
            }
            iVar8 = FUN_00028000(bVar3);
            if (iVar8 != 0) {
              *piVar15 = 0;
              uVar11 = strtoul((char *)local_250,(char **)&local_224,10);
              if (*piVar15 == 0) {
                if (*local_224 == 0x3a) {
                  local_250 = local_224 + 1;
                  local_258 = strtoul((char *)local_250,(char **)&local_224,10);
                  if (((*piVar15 == 0) && (local_224 != (byte *)0x0)) && (*local_224 == 0x5d)) {
                    local_268 = local_224 + 1;
                    local_264 = local_268 + ((int)local_264 - (int)pbVar17);
                    if (((local_224 == (byte *)0x0) || (local_258 == 0)) ||
                       ((uVar10 == uVar11 && (local_258 != 1)))) goto LAB_000266e1;
                    goto LAB_00026e40;
                  }
                }
                else if (*local_224 == 0x5d) {
                  local_258 = 1;
                  local_268 = local_224 + 1;
                  local_264 = local_268 + ((int)local_264 - (int)pbVar17);
LAB_00026e40:
                  if ((uVar10 != uVar11) && ((uVar11 < uVar10 || (uVar11 - uVar10 < local_258))))
                  goto LAB_000266e1;
                  puVar18[2] = uVar10;
                  puVar18[5] = uVar10;
                  puVar18[3] = uVar11;
                  *(uint *)((int)pvVar7 + iVar9 * 0x1c + 0x18) = local_258;
                  uVar16 = (uint)(puVar18[3] - puVar18[2]) / local_258 + 1;
                  uVar21 = uVar16;
                  if ((uVar16 == 0) || (uVar21 = local_24c * uVar16, uVar21 / uVar16 == local_24c))
                  {
                    iVar9 = *(int *)((int)pvVar7 + 0xaf0);
                    local_260 = (byte *)0x0;
                    local_254 = iVar1;
                    local_24c = uVar21;
                    goto LAB_00026538;
                  }
                  goto LAB_00026cf0;
                }
              }
            }
            local_264 = local_250 + ((int)local_264 - (int)pbVar17);
            goto LAB_000266e1;
          }
          *(char **)((int)pvVar7 + 0xb00) = "bad range specification";
          *(byte **)((int)pvVar7 + 0xb04) = local_264;
        }
        else {
          *puVar18 = 2;
          iVar9 = __isoc99_sscanf(pbVar17,"%c-%c%c",&local_227,&local_226,&local_225);
          if (iVar9 == 3) {
            if (local_225 == ':') {
              piVar15 = __errno_location();
              *piVar15 = 0;
              local_254 = strtoul((char *)(local_268 + 5),(char **)&local_224,10);
              if (((*piVar15 == 0) && (local_268 + 5 != local_224)) && (*local_224 == 0x5d)) {
                local_268 = local_224 + 1;
                local_264 = local_268 + ((int)local_264 - (int)pbVar17);
                if ((local_254 != 0) && (-1 < (int)local_254)) {
                  if (local_227 != local_226) goto LAB_00026b80;
                  if (local_254 == 1) goto LAB_00026dac;
                }
              }
            }
            else if (local_225 == ']') {
              local_268 = local_268 + 5;
              local_264 = local_268 + ((int)local_264 - (int)pbVar17);
              if (local_227 == local_226) {
LAB_00026dac:
                local_250 = (byte *)(int)local_227;
                iVar9 = (int)local_226;
                local_254 = 1;
LAB_00026bab:
                *(char *)(puVar18 + 2) = local_227;
                *(char *)((int)puVar18 + 10) = local_227;
                *(char *)((int)puVar18 + 9) = local_226;
                puVar18[3] = local_254;
                uVar21 = (iVar9 - (int)local_250) / (int)local_254 + 1;
                if (uVar21 == 0) {
                  local_24c = 0;
                  uVar16 = local_24c;
                }
                else {
                  uVar16 = local_24c * uVar21;
                  if ((local_24c * uVar21) / uVar21 != local_24c) {
LAB_00026cf0:
                    *(char **)((int)pvVar7 + 0xb00) = "range overflow";
                    *(byte **)((int)pvVar7 + 0xb04) = local_264;
                    goto LAB_000266f7;
                  }
                }
                local_24c = uVar16;
                iVar9 = *(int *)((int)pvVar7 + 0xaf0);
                local_260 = (byte *)0x0;
                local_254 = iVar1;
                goto LAB_00026538;
              }
              local_254 = 1;
LAB_00026b80:
              if (local_227 <= local_226) {
                local_250 = (byte *)(int)local_227;
                iVar9 = (int)local_226;
                if ((local_254 <= (uint)(iVar9 - (int)local_250)) && (iVar9 - (int)local_250 < 0x1a)
                   ) goto LAB_00026bab;
              }
            }
          }
LAB_000266e1:
          *(char **)((int)pvVar7 + 0xb00) = "bad range";
          *(byte **)((int)pvVar7 + 0xb04) = local_264;
        }
LAB_000266f7:
        local_260 = (byte *)0x3;
        uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;
        *(uint *)((int)pvVar7 + 0xaf0) = uVar21;
        local_268 = pbVar17;
        local_254 = iVar1;
      } while (uVar21 < 100);
      goto LAB_0002654a;
    }
    free(puVar6);
    local_260 = (byte *)0x1b;
  }
LAB_000268dc:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_00028220();
  }
  return (int)local_260;
LAB_00026a58:
  if (local_268 == pbVar19) {
    pcVar13 = "empty string within braces";
LAB_0002650e:
    *(char **)((int)pvVar7 + 0xb00) = pcVar13;
    local_260 = (byte *)0x3;
    iVar9 = *(int *)((int)pvVar7 + 0xaf0);
    *(byte **)((int)pvVar7 + 0xb04) = pbVar20;
    local_264 = pbVar20;
    goto LAB_00026538;
  }
  uVar21 = puVar18[3] + 1;
  if (uVar21 == 0) {
    local_24c = 0;
    uVar16 = local_24c;
  }
  else {
    uVar16 = local_24c * uVar21;
    if ((local_24c * uVar21) / uVar21 != local_24c) {
      *(undefined4 *)((int)pvVar7 + 0xb04) = 0;
      *(char **)((int)pvVar7 + 0xb00) = "range overflow";
LAB_00026aa3:
      local_260 = (byte *)0x3;
      uVar21 = *(int *)((int)pvVar7 + 0xaf0) + 1;
      *(uint *)((int)pvVar7 + 0xaf0) = uVar21;
      local_264 = pbVar20;
      goto joined_r0x00026acd;
    }
  }
LAB_00026940:
  local_24c = uVar16;
  *pbVar17 = 0;
  if ((void *)puVar18[2] == (void *)0x0) {
    pvVar12 = malloc(4);
    puVar18[2] = pvVar12;
    if (pvVar12 == (void *)0x0) goto LAB_00026c32;
  }
  else {
    pvVar12 = realloc((void *)puVar18[2],puVar18[3] * 4 + 4);
    if (pvVar12 == (void *)0x0) goto LAB_00026c32;
    puVar18[2] = pvVar12;
  }
  iVar1 = puVar18[3];
  pcVar13 = strdup(*(char **)((int)pvVar7 + 0xaf8));
  *(char **)((int)pvVar12 + iVar1 * 4) = pcVar13;
  if (pcVar13 != (char *)0x0) {
    pbVar20 = pbVar19 + 1;
    puVar18[3] = iVar1 + 1;
    if (*pbVar19 == 0x7d) goto LAB_00026cc0;
    pbVar17 = *(byte **)((int)pvVar7 + 0xaf8);
    goto LAB_00026401;
  }
LAB_00026c32:
  iVar9 = *(int *)((int)pvVar7 + 0xaf0);
  *(undefined4 *)((int)pvVar7 + 0xb04) = 0;
  *(char **)((int)pvVar7 + 0xb00) = "out of memory";
  local_260 = (byte *)0x1b;
  local_264 = pbVar20;
  goto LAB_00026538;
LAB_00026cc0:
  local_264 = local_260;
  local_260 = (byte *)0x0;
  iVar9 = *(int *)((int)pvVar7 + 0xaf0);
  local_268 = pbVar20;
LAB_00026538:
  uVar21 = iVar9 + 1;
  *(uint *)((int)pvVar7 + 0xaf0) = uVar21;
joined_r0x00026acd:
  if (99 < uVar21) goto LAB_0002654a;
  goto LAB_00026300;
LAB_0002654a:
  *(char **)((int)pvVar7 + 0xb00) = "too many globs";
  *(byte **)((int)pvVar7 + 0xb04) = local_264;
LAB_000268b2:
  if (param_4 == 0) {
    local_260 = (byte *)0x3;
  }
  else {
    local_260 = (byte *)0x3;
    puVar6 = *(undefined1 **)((int)pvVar7 + 0xb00);
LAB_000269de:
    iVar9 = *(int *)((int)pvVar7 + 0xb04);
    puVar14 = puVar6;
    if (iVar9 != 0) {
      puVar14 = local_220;
      curl_msnprintf(puVar14,0x200,"%s in URL position %zu:\n%s\n%*s^",puVar6,iVar9,param_2,
                     iVar9 + -1,&DAT_000290e4);
    }
    curl_mfprintf(param_4,"curl: (%d) %s\n",local_260,puVar14);
  }
LAB_000268c6:
  FUN_00026180(pvVar7);
  *param_3 = 1;
  goto LAB_000268dc;
}

