
/* WARNING: Removing unreachable block (ram,0x0011ea16) */
/* WARNING: Removing unreachable block (ram,0x0011e8e7) */
/* WARNING: Removing unreachable block (ram,0x0011e8ea) */

void map_html_tags(char *text,int size,_func_void_taginfo_ptr_void_ptr *mapfun,void *maparg,
                  int flags,hash_table *allowed_tags,hash_table *allowed_attributes)

{
  byte *pbVar1;
  byte *pbVar2;
  byte bVar3;
  byte bVar4;
  long lVar5;
  bool bVar6;
  bool bVar7;
  bool bVar8;
  long lVar9;
  _Bool _Var10;
  _Bool _Var11;
  int iVar12;
  char *pcVar13;
  tagstack_item *ptVar14;
  long lVar15;
  attr_pair *paVar16;
  long lVar17;
  byte *e;
  byte *pbVar18;
  byte *b;
  byte *pbVar19;
  long lVar20;
  size_t __n;
  long in_FS_OFFSET;
  bool bVar21;
  bool bVar22;
  byte *local_3a0;
  int local_384;
  _Bool local_380;
  attr_pair *local_368;
  int local_34c;
  byte *local_340;
  byte *local_338;
  byte *local_330;
  byte *local_328;
  int local_320;
  int local_31c;
  tagstack_item *head;
  tagstack_item *tail;
  pool pool;
  taginfo taginfo;
  attr_pair attr_pair_initial_storage [8];
  char pool_initial_storage [256];
  
  lVar5 = *(long *)(in_FS_OFFSET + 0x28);
  head = (tagstack_item *)0x0;
  tail = (tagstack_item *)0x0;
  if (size != 0) {
    pbVar2 = (byte *)(text + size);
    pool.contents = pool_initial_storage;
    pool.size = 0x100;
    pool.resized = false;
    pool.orig_size = 0x100;
    local_368 = attr_pair_initial_storage;
    local_380 = false;
    local_34c = 8;
    pool.orig_contents = pool.contents;
LAB_0011e685:
    do {
      pool.tail = 0;
      pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text);
      if ((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))
      goto LAB_0011e719;
      text = (char *)pbVar1;
      if (pcVar13[1] == '!') {
        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&
           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {
LAB_0011e86d:
          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {
            if (pbVar19[3] == 0x2d) {
              do {
                pbVar19 = pbVar1;
                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;
                pbVar1 = pbVar19 + 2;
                if (pbVar2 <= pbVar1) goto LAB_0011e685;
              } while (pbVar19[2] == 0x2d);
              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {
                pbVar19 = pbVar19 + 3;
                goto LAB_0011e8bd;
              }
            }
            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {
              pbVar19 = pbVar19 + 4;
              goto LAB_0011e8bd;
            }
          }
          goto LAB_0011e685;
        }
        pbVar19 = (byte *)(pcVar13 + 2);
        if (pbVar2 != pbVar19) {
                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);
          return;
        }
        goto LAB_0011e8ee;
      }
      local_384 = 0;
      pbVar19 = pbVar1;
      local_3a0 = pbVar1;
      if (pcVar13[1] == '/') {
        pbVar19 = (byte *)(pcVar13 + 2);
        if (pbVar2 <= pbVar19) goto LAB_0011e719;
        local_384 = 1;
        local_3a0 = pbVar19;
      }
      while( true ) {
        bVar3 = *pbVar19;
        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;
        bVar7 = 2 < (byte)(bVar3 - 0x3c);
        bVar21 = bVar3 != 0x2f;
        if ((!bVar6 || !bVar7) || !bVar21) break;
        pbVar19 = pbVar19 + 1;
        if (pbVar2 <= pbVar19) goto LAB_0011e719;
      }
      pbVar18 = pbVar19;
      text = (char *)pbVar19;
    } while (local_3a0 == pbVar19);
    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {
      pbVar18 = pbVar18 + 1;
      if (pbVar2 <= pbVar18) goto LAB_0011e719;
    }
    if (local_384 == 0) {
      ptVar14 = (tagstack_item *)xmalloc(0x28);
      if (head == (tagstack_item *)0x0) {
        ptVar14->next = (tagstack_item *)0x0;
        ptVar14->prev = (tagstack_item *)0x0;
        head = ptVar14;
      }
      else {
        tail->next = ptVar14;
        ptVar14->prev = tail;
        ptVar14->next = (tagstack_item *)0x0;
      }
      ptVar14->tagname_begin = (char *)local_3a0;
      ptVar14->tagname_end = (char *)pbVar19;
      ptVar14->contents_begin = (char *)0x0;
      tail = ptVar14;
    }
    else {
      text = (char *)pbVar1;
      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;
    }
    _Var10 = name_allowed(allowed_tags,(char *)local_3a0,(char *)pbVar19);
    if (_Var10) {
      convert_and_copy(&pool,(char *)local_3a0,(char *)pbVar19,1);
    }
    local_320 = 0;
LAB_0011eb7b:
    bVar3 = *pbVar18;
    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;
    b = pbVar18;
    if (bVar3 == 0x2f) {
      b = pbVar18 + 1;
      if (pbVar2 <= b) goto LAB_0011e719;
      while ((bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {
        b = b + 1;
        if (pbVar2 == b) goto LAB_0011e719;
      }
      text = (char *)pbVar1;
      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;
    }
    e = b;
    if ((*b & 0xfd) != 0x3c) {
      while ((bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)
             )) {
        e = e + 1;
        if (pbVar2 <= e) goto LAB_0011e719;
      }
      pbVar18 = e;
      text = (char *)pbVar1;
      if (b == e) goto LAB_0011e685;
      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))
      {
        pbVar18 = pbVar18 + 1;
        if (pbVar2 <= pbVar18) goto LAB_0011e719;
      }
      local_340 = b;
      local_338 = b;
      local_330 = e;
      local_328 = e;
      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {
        local_31c = 1;
      }
      else {
        bVar22 = (bVar3 & 0xfd) == 0x3c;
        bVar8 = bVar22 || bVar3 == 0x2f;
        if (bVar22 || bVar3 == 0x2f) {
          local_31c = 1;
        }
        else {
          if (bVar3 != 0x3d) goto LAB_0011e685;
          local_340 = pbVar18 + 1;
          if (pbVar2 <= local_340) goto LAB_0011e719;
          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&
                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {
            local_340 = local_340 + 1;
            if (pbVar2 == local_340) goto LAB_0011e719;
          }
          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {
            local_338 = local_340 + 1;
            pbVar18 = local_338;
            while (bVar22 = bVar8, pbVar18 < pbVar2) {
              do {
                bVar8 = bVar22;
                local_330 = pbVar18;
                bVar4 = *local_330;
                if (bVar3 == bVar4) {
                  pbVar18 = local_330 + 1;
                  if (pbVar2 <= pbVar18) goto LAB_0011e719;
                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;
                  local_328 = pbVar18;
                  goto LAB_0011ec71;
                }
                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));
                pbVar18 = local_338;
              } while (bVar22);
              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;
              pbVar18 = local_330 + 1;
            }
            goto LAB_0011e719;
          }
          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))
                  ) && ((bVar3 & 0xfd) != 0x3c))) {
            pbVar18 = pbVar18 + 1;
            if (pbVar2 <= pbVar18) goto LAB_0011e719;
          }
          if (local_340 == pbVar18) goto LAB_0011e685;
          local_31c = 2;
          local_338 = local_340;
          local_330 = pbVar18;
          local_328 = pbVar18;
        }
      }
LAB_0011ec71:
      if ((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&
         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)) {
        lVar15 = (long)(local_320 + 1);
        lVar17 = (long)local_34c;
        lVar9 = lVar17;
        if (lVar17 < lVar15) {
          do {
            lVar20 = lVar9;
            lVar9 = lVar20 * 2;
          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);
          if (lVar17 != lVar9) {
            if (local_380 == false) {
              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);
              memcpy(paVar16,local_368,(long)local_34c * 0x28);
              local_368 = paVar16;
            }
            else {
              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);
            }
            local_34c = (int)lVar9;
            local_380 = _Var11;
          }
        }
        local_368[local_320].name_pool_index = pool.tail;
        convert_and_copy(&pool,(char *)b,(char *)e,1);
        local_368[local_320].value_pool_index = pool.tail;
        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);
        local_368[local_320].value_raw_beginning = (char *)local_340;
        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;
        local_320 = local_320 + 1;
      }
      goto LAB_0011eb7b;
    }
    if (((local_384 == 0) && (tail != (tagstack_item *)0x0)) &&
       ((byte *)tail->tagname_begin == local_3a0)) {
      tail->contents_begin = (char *)(b + 1);
    }
    if (!_Var10 || (bVar6 && bVar7) && bVar21) goto joined_r0x0011ef79;
    taginfo.name = pool.contents;
    taginfo.end_tag_p = local_384;
    taginfo.nattrs = local_320;
    if (0 < local_320) {
      paVar16 = local_368;
      do {
        paVar16->name = pool.contents + paVar16->name_pool_index;
        paVar16->value = pool.contents + paVar16->value_pool_index;
        paVar16 = paVar16 + 1;
      } while (paVar16 != local_368 + (ulong)(local_320 - 1) + 1);
    }
    taginfo.attrs = local_368;
    taginfo.end_position = (char *)(b + 1);
    taginfo.contents_begin = (char *)0x0;
    taginfo.contents_end = (char *)0x0;
    taginfo.start_position = pcVar13;
    if (local_384 != 0) {
      if (tail != (tagstack_item *)0x0) {
        __n = (size_t)((int)pbVar19 - (int)local_3a0);
        ptVar14 = tail;
        do {
          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&
             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {
            if (ptVar14->contents_begin != (char *)0x0) {
              taginfo.contents_begin = ptVar14->contents_begin;
              taginfo.contents_end = pcVar13;
            }
            tagstack_pop(&head,&tail,ptVar14);
            break;
          }
          ptVar14 = ptVar14->prev;
        } while (ptVar14 != (tagstack_item *)0x0);
      }
    }
    (*mapfun)(&taginfo,maparg);
    text = (char *)b;
    if (*b != 0x3c) {
joined_r0x0011ef79:
      text = (char *)(b + 1);
      if (pbVar2 <= b + 1) goto LAB_0011e719;
    }
    goto LAB_0011e685;
  }
LAB_0011e780:
  if (lVar5 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
  while (pbVar18[1] == 0x2d) {
LAB_0011e89e:
    pbVar18 = pbVar19;
    pbVar19 = pbVar18 + 1;
    if (pbVar2 == pbVar19) goto LAB_0011e685;
  }
  pbVar1 = pbVar19;
  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;
  goto LAB_0011e86d;
code_r0x0011e8b9:
  pbVar19 = pbVar18 + 2;
LAB_0011e8bd:
  if (pbVar19 == (byte *)0x0) goto LAB_0011e685;
LAB_0011e8ee:
  text = (char *)pbVar19;
  if (pbVar19 == pbVar2) goto LAB_0011e719;
  goto LAB_0011e685;
LAB_0011eb6e:
  pbVar18 = pbVar18 + 1;
  if (pbVar2 <= pbVar18) goto LAB_0011e719;
  goto LAB_0011eb7b;
LAB_0011e719:
  if (pool.resized != false) {
    free(pool.contents);
  }
  pool.contents = pool.orig_contents;
  pool.size = pool.orig_size;
  pool.tail = 0;
  pool.resized = false;
  if (local_380 != false) {
    free(local_368);
  }
  tagstack_pop(&head,&tail,head);
  goto LAB_0011e780;
}



/* WARNING: Removing unreachable block (ram,0x0011ea16) */
/* WARNING: Removing unreachable block (ram,0x0011e8e7) */
/* WARNING: Removing unreachable block (ram,0x0011e8ea) */

void FUN_0011e5b2(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,
                 undefined8 param_6,undefined8 param_7)

{
  byte *pbVar1;
  byte *pbVar2;
  byte bVar3;
  byte bVar4;
  bool bVar5;
  bool bVar6;
  bool bVar7;
  long lVar8;
  char cVar9;
  int iVar10;
  void *pvVar11;
  undefined8 *puVar12;
  long lVar13;
  long *plVar14;
  bool bVar15;
  long lVar16;
  byte *pbVar17;
  byte *pbVar18;
  byte *pbVar19;
  byte *pbVar20;
  long lVar21;
  size_t __n;
  long in_FS_OFFSET;
  bool bVar22;
  bool bVar23;
  byte *local_3a0;
  int local_384;
  char local_380;
  long *local_368;
  int local_34c;
  byte *local_340;
  byte *local_338;
  byte *local_330;
  byte *local_328;
  int local_320;
  int local_31c;
  undefined8 *local_308;
  undefined8 *local_300;
  undefined1 *local_2f8;
  undefined4 local_2f0;
  undefined4 local_2ec;
  char local_2e8;
  undefined1 *local_2e0;
  undefined4 local_2d8;
  undefined1 *local_2c8;
  int local_2c0;
  int local_2bc;
  long *local_2b8;
  void *local_2b0;
  byte *local_2a8;
  long local_2a0;
  void *local_298;
  long local_288 [40];
  undefined1 local_148 [264];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  local_308 = (undefined8 *)0x0;
  local_300 = (undefined8 *)0x0;
  if (param_2 != 0) {
    pbVar2 = param_1 + param_2;
    local_2f8 = local_148;
    local_2f0 = 0x100;
    local_2e8 = '\0';
    local_2d8 = 0x100;
    local_368 = local_288;
    local_380 = '\0';
    local_34c = 8;
    local_2e0 = local_2f8;
LAB_0011e685:
    do {
      local_2ec = 0;
      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);
      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))
      goto LAB_0011e719;
      param_1 = pbVar1;
      if (*(char *)((long)pvVar11 + 1) == '!') {
        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&
            (*(char *)((long)pvVar11 + 2) == '-')) &&
           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {
LAB_0011e86d:
          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {
            if (pbVar20[3] == 0x2d) {
              do {
                pbVar20 = pbVar1;
                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;
                pbVar1 = pbVar20 + 2;
                if (pbVar2 <= pbVar1) goto LAB_0011e685;
              } while (pbVar20[2] == 0x2d);
              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {
                pbVar20 = pbVar20 + 3;
                goto LAB_0011e8bd;
              }
            }
            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {
              pbVar20 = pbVar20 + 4;
              goto LAB_0011e8bd;
            }
          }
          goto LAB_0011e685;
        }
        pbVar20 = (byte *)((long)pvVar11 + 2);
        if (pbVar2 != pbVar20) {
                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);
          return;
        }
        goto LAB_0011e8ee;
      }
      local_384 = 0;
      pbVar20 = pbVar1;
      local_3a0 = pbVar1;
      if (*(char *)((long)pvVar11 + 1) == '/') {
        pbVar20 = (byte *)((long)pvVar11 + 2);
        if (pbVar2 <= pbVar20) goto LAB_0011e719;
        local_384 = 1;
        local_3a0 = pbVar20;
      }
      while( true ) {
        bVar3 = *pbVar20;
        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;
        bVar6 = 2 < (byte)(bVar3 - 0x3c);
        bVar22 = bVar3 != 0x2f;
        if ((!bVar5 || !bVar6) || !bVar22) break;
        pbVar20 = pbVar20 + 1;
        if (pbVar2 <= pbVar20) goto LAB_0011e719;
      }
      pbVar18 = pbVar20;
      param_1 = pbVar20;
    } while (local_3a0 == pbVar20);
    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {
      pbVar18 = pbVar18 + 1;
      if (pbVar2 <= pbVar18) goto LAB_0011e719;
    }
    if (local_384 == 0) {
      puVar12 = (undefined8 *)FUN_001494bf(0x28);
      if (local_308 == (undefined8 *)0x0) {
        puVar12[4] = 0;
        puVar12[3] = 0;
        local_308 = puVar12;
      }
      else {
        local_300[4] = puVar12;
        puVar12[3] = local_300;
        puVar12[4] = 0;
      }
      *puVar12 = local_3a0;
      puVar12[1] = pbVar20;
      puVar12[2] = 0;
      local_300 = puVar12;
    }
    else {
      param_1 = pbVar1;
      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;
    }
    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);
    if (cVar9 != '\0') {
      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);
    }
    bVar7 = cVar9 == '\0';
    local_320 = 0;
LAB_0011eb7b:
    bVar3 = *pbVar18;
    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;
    pbVar19 = pbVar18;
    if (bVar3 == 0x2f) {
      pbVar19 = pbVar18 + 1;
      if (pbVar2 <= pbVar19) goto LAB_0011e719;
      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))
      {
        pbVar19 = pbVar19 + 1;
        if (pbVar2 == pbVar19) goto LAB_0011e719;
      }
      param_1 = pbVar1;
      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;
    }
    pbVar17 = pbVar19;
    if ((*pbVar19 & 0xfd) != 0x3c) {
      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&
             (bVar3 != 0x2f))) {
        pbVar17 = pbVar17 + 1;
        if (pbVar2 <= pbVar17) goto LAB_0011e719;
      }
      pbVar18 = pbVar17;
      param_1 = pbVar1;
      if (pbVar19 == pbVar17) goto LAB_0011e685;
      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))
      {
        pbVar18 = pbVar18 + 1;
        if (pbVar2 <= pbVar18) goto LAB_0011e719;
      }
      local_340 = pbVar19;
      local_338 = pbVar19;
      local_330 = pbVar17;
      local_328 = pbVar17;
      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {
        local_31c = 1;
      }
      else {
        bVar23 = (bVar3 & 0xfd) == 0x3c;
        bVar15 = bVar23 || bVar3 == 0x2f;
        if (bVar23 || bVar3 == 0x2f) {
          local_31c = 1;
        }
        else {
          if (bVar3 != 0x3d) goto LAB_0011e685;
          local_340 = pbVar18 + 1;
          if (pbVar2 <= local_340) goto LAB_0011e719;
          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&
                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {
            local_340 = local_340 + 1;
            if (pbVar2 == local_340) goto LAB_0011e719;
          }
          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {
            local_338 = local_340 + 1;
            pbVar18 = local_338;
            while (bVar23 = bVar15, pbVar18 < pbVar2) {
              do {
                bVar15 = bVar23;
                local_330 = pbVar18;
                bVar4 = *local_330;
                if (bVar3 == bVar4) {
                  pbVar18 = local_330 + 1;
                  if (pbVar2 <= pbVar18) goto LAB_0011e719;
                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;
                  local_328 = pbVar18;
                  goto LAB_0011ec71;
                }
                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));
                pbVar18 = local_338;
              } while (bVar23);
              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;
              pbVar18 = local_330 + 1;
            }
            goto LAB_0011e719;
          }
          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))
                  ) && ((bVar3 & 0xfd) != 0x3c))) {
            pbVar18 = pbVar18 + 1;
            if (pbVar2 <= pbVar18) goto LAB_0011e719;
          }
          if (local_340 == pbVar18) goto LAB_0011e685;
          local_31c = 2;
          local_338 = local_340;
          local_330 = pbVar18;
          local_328 = pbVar18;
        }
      }
LAB_0011ec71:
      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&
         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {
        lVar13 = (long)(local_320 + 1);
        lVar16 = (long)local_34c;
        lVar8 = lVar16;
        if (lVar16 < lVar13) {
          do {
            lVar21 = lVar8;
            lVar8 = lVar21 * 2;
          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);
          if (lVar16 != lVar8) {
            if (local_380 == '\0') {
              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);
              memcpy(plVar14,local_368,(long)local_34c * 0x28);
              local_368 = plVar14;
            }
            else {
              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);
            }
            local_34c = (int)lVar8;
            local_380 = cVar9;
          }
        }
        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;
        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);
        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;
        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);
        local_368[(long)local_320 * 5 + 2] = (long)local_340;
        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;
        local_320 = local_320 + 1;
      }
      goto LAB_0011eb7b;
    }
    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))
    {
      local_300[2] = pbVar19 + 1;
    }
    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;
    local_2c8 = local_2f8;
    local_2c0 = local_384;
    local_2bc = local_320;
    if (0 < local_320) {
      plVar14 = local_368;
      do {
        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));
        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);
        plVar14 = plVar14 + 5;
      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);
    }
    local_2b8 = local_368;
    local_2a8 = pbVar19 + 1;
    local_2a0 = 0;
    local_298 = (void *)0x0;
    local_2b0 = pvVar11;
    if (local_384 != 0) {
      if (local_300 != (undefined8 *)0x0) {
        __n = (size_t)((int)pbVar20 - (int)local_3a0);
        puVar12 = local_300;
        do {
          if ((__n == puVar12[1] - (long)*puVar12) &&
             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {
            if (puVar12[2] != 0) {
              local_2a0 = puVar12[2];
              local_298 = pvVar11;
            }
            FUN_0011dd1f(&local_308,&local_300,puVar12);
            break;
          }
          puVar12 = (undefined8 *)puVar12[3];
        } while (puVar12 != (undefined8 *)0x0);
      }
    }
    (*param_3)(&local_2c8,param_4);
    param_1 = pbVar19;
    if (*pbVar19 != 0x3c) {
joined_r0x0011ef79:
      param_1 = pbVar19 + 1;
      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;
    }
    goto LAB_0011e685;
  }
LAB_0011e780:
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
  while (pbVar18[1] == 0x2d) {
LAB_0011e89e:
    pbVar18 = pbVar20;
    pbVar20 = pbVar18 + 1;
    if (pbVar2 == pbVar20) goto LAB_0011e685;
  }
  pbVar1 = pbVar20;
  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;
  goto LAB_0011e86d;
code_r0x0011e8b9:
  pbVar20 = pbVar18 + 2;
LAB_0011e8bd:
  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;
LAB_0011e8ee:
  param_1 = pbVar20;
  if (pbVar20 == pbVar2) goto LAB_0011e719;
  goto LAB_0011e685;
LAB_0011eb6e:
  pbVar18 = pbVar18 + 1;
  if (pbVar2 <= pbVar18) goto LAB_0011e719;
  goto LAB_0011eb7b;
LAB_0011e719:
  if (local_2e8 != '\0') {
    free(local_2f8);
  }
  local_2f8 = local_2e0;
  local_2f0 = local_2d8;
  local_2ec = 0;
  local_2e8 = 0;
  if (local_380 != '\0') {
    free(local_368);
  }
  FUN_0011dd1f(&local_308,&local_300,local_308);
  goto LAB_0011e780;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x378
MOV qword ptr [RSP + 0x48],RDX
MOV qword ptr [RSP + 0x50],RCX
MOV dword ptr [RSP + 0x58],R8D
MOV qword ptr [RSP + 0x30],R9
MOV RAX,qword ptr [RSP + 0x3b0]
MOV qword ptr [RSP + 0x38],RAX
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x368],RAX
XOR EAX,EAX
MOV qword ptr [RSP + 0xa0],0x0
MOV qword ptr [RSP + 0xa8],0x0
TEST ESI,ESI
JZ 0x0011e780
MOV R13,RDI
MOVSXD RSI,ESI
LEA R14,[RDI + RSI*0x1]
LEA RAX,[RSP + 0x260]
MOV qword ptr [RSP + 0xb0],RAX
MOV dword ptr [RSP + 0xb8],0x100
MOV byte ptr [RSP + 0xc0],0x0
MOV qword ptr [RSP + 0xc8],RAX
MOV dword ptr [RSP + 0xd0],0x100
LEA RAX,[RSP + 0x120]
MOV qword ptr [RSP + 0x40],RAX
MOV byte ptr [RSP + 0x28],0x0
MOV dword ptr [RSP + 0x5c],0x8
LEA RAX,[RSP + 0xb0]
MOV qword ptr [RSP + 0x60],RAX
LEA R15,[0x1558dc]
MOV dword ptr [RSP + 0xbc],0x0
MOV RDX,R14
SUB RDX,R13
MOV ESI,0x3c
MOV RDI,R13
CALL 0x0010c1d0
MOV qword ptr [RSP + 0x18],RAX
TEST RAX,RAX
JZ 0x0011e719
LEA RDI,[RAX + 0x1]
MOV qword ptr [RSP + 0x10],RDI
CMP R14,RDI
JBE 0x0011e719
MOVZX ESI,byte ptr [RAX + 0x1]
CMP SIL,0x21
JZ 0x0011e7db
MOV RAX,qword ptr [RSP + 0x10]
MOV qword ptr [RSP + 0x8],RAX
MOV dword ptr [RSP + 0x24],0x0
CMP SIL,0x2f
JZ 0x0011ea42
MOV R13,qword ptr [RSP + 0x8]
MOVZX EDX,byte ptr [R13]
LEA EAX,[RDX + -0x21]
CMP AL,0x5d
SETBE AL
LEA ECX,[RDX + -0x3c]
CMP CL,0x2
SETA CL
AND EAX,ECX
CMP DL,0x2f
SETNZ DL
AND AL,DL
JZ 0x0011ea66
ADD R13,0x1
CMP R14,R13
JA 0x0011e6ea
CMP byte ptr [RSP + 0xc0],0x0
JNZ 0x0011f0f3
MOV RAX,qword ptr [RSP + 0xc8]
MOV qword ptr [RSP + 0xb0],RAX
MOV EAX,dword ptr [RSP + 0xd0]
MOV dword ptr [RSP + 0xb8],EAX
MOV dword ptr [RSP + 0xbc],0x0
MOV byte ptr [RSP + 0xc0],0x0
CMP byte ptr [RSP + 0x28],0x0
JNZ 0x0011f105
LEA RSI,[RSP + 0xa8]
LEA RDI,[RSP + 0xa0]
MOV RDX,qword ptr [RSP + 0xa0]
CALL 0x0011dd1f
MOV RAX,qword ptr [RSP + 0x368]
XOR RAX,qword ptr FS:[0x28]
JNZ 0x0011f151
ADD RSP,0x378
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV R13,qword ptr [RSP + 0x10]
JMP 0x0011e685
MOV R13,qword ptr [RSP + 0x10]
JMP 0x0011e685
MOV R13,qword ptr [RSP + 0x10]
JMP 0x0011e685
MOV R13,qword ptr [RSP + 0x10]
JMP 0x0011e685
MOV R13,qword ptr [RSP + 0x10]
JMP 0x0011e685
TEST byte ptr [RSP + 0x58],0x1
JNZ 0x0011e7f4
MOV RDI,RAX
LEA RAX,[RAX + 0x4]
CMP R14,RAX
JBE 0x0011e7f4
CMP byte ptr [RDI + 0x2],0x2d
JZ 0x0011e831
MOV R13,qword ptr [RSP + 0x18]
ADD R13,0x2
MOV RCX,R13
MOV EDX,0x2
MOV R8D,0x0
MOV R9D,0x7
MOV EDI,0x3
MOV EBX,0x9
MOV R11D,0x6
MOV R10D,0xb
MOV EBP,0x5
JMP 0x0011ea1f
MOV RDX,RDI
ADD RDX,0x3
CMP byte ptr [RDI + 0x3],0x2d
JNZ 0x0011e7f4
JMP 0x0011e86d
MOV RDX,RAX
CMP byte ptr [RDX + -0x1],0x2d
JZ 0x0011e89e
LEA RAX,[RDX + 0x2]
CMP R14,RAX
JBE 0x0011e7b3
MOVZX ECX,byte ptr [RDX + 0x2]
CMP CL,0x2d
JZ 0x0011e896
CMP CL,0x3e
JNZ 0x0011e86a
CMP byte ptr [RAX + -0x1],0x2d
JZ 0x0011e8cc
MOV RDX,RAX
LEA RAX,[RDX + 0x3]
CMP R14,RAX
JBE 0x0011e8d2
MOVZX ECX,byte ptr [RDX + 0x3]
CMP CL,0x2d
JZ 0x0011e840
CMP CL,0x3e
JNZ 0x0011e86a
CMP byte ptr [RDX + 0x2],0x2d
JNZ 0x0011e86a
CMP byte ptr [RDX + 0x1],0x2d
JNZ 0x0011e86a
LEA R13,[RDX + 0x4]
JMP 0x0011e8bd
MOV RDX,RAX
JMP 0x0011e843
MOV RDX,RAX
LEA RAX,[RDX + 0x1]
CMP R14,RAX
JZ 0x0011e7a9
MOVZX ECX,byte ptr [RDX + 0x1]
CMP CL,0x2d
JZ 0x0011e89b
CMP CL,0x3e
JNZ 0x0011e86a
LEA R13,[RDX + 0x2]
TEST R13,R13
JNZ 0x0011e8ee
MOV R13,qword ptr [RSP + 0x10]
JMP 0x0011e685
LEA R13,[RDX + 0x3]
JMP 0x0011e8bd
MOV R13,qword ptr [RSP + 0x10]
JMP 0x0011e685
CMP SIL,0x21
JZ 0x0011e8fc
MOV EDX,0x1
CMP EDX,0x1
CMOVNZ R13,RCX
CMP R13,R14
JNZ 0x0011e685
JMP 0x0011e719
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
MOV EDX,EDI
JMP 0x0011ea1f
LEA EAX,[RSI + -0x9]
CMP AL,0x35
JA 0x0011e930
MOVZX EAX,AL
LEA R12,[0x155804]
MOVSXD RAX,dword ptr [R12 + RAX*0x4]
ADD RAX,R12
JMP RAX
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
JMP 0x0011ea1f
LEA EAX,[RSI + -0x21]
CMP AL,0x5d
JA 0x0011ea38
LEA EAX,[RSI + -0x3c]
CMP AL,0x2
JBE 0x0011e94c
CMP SIL,0x2f
JNZ 0x0011f125
MOV EDX,0x1
JMP 0x0011e8e7
CMP SIL,0x2d
JZ 0x0011f12f
LEA EAX,[RSI + -0x21]
CMP AL,0x5d
JA 0x0011f136
LEA EAX,[RSI + -0x3c]
CMP AL,0x2
JBE 0x0011e975
CMP SIL,0x2f
JNZ 0x0011e97c
MOV EDX,EDI
JMP 0x0011ea1f
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
JMP 0x0011ea1f
MOV R8D,ESI
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
MOV EDX,R10D
JMP 0x0011ea1f
CMP R8B,SIL
JZ 0x0011f13d
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
JMP 0x0011ea1f
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
MOV EDX,EDI
JMP 0x0011ea1f
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
MOV EDX,R11D
JMP 0x0011ea1f
CMP SIL,0x2d
JZ 0x0011e9d3
MOV EDX,0x1
JMP 0x0011e8e7
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
MOV EDX,R9D
JMP 0x0011ea1f
CMP SIL,0x2d
JZ 0x0011f147
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
JMP 0x0011ea1f
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
MOV EDX,EBX
JMP 0x0011ea1f
MOV EDX,R9D
CMP SIL,0x2d
JNZ 0x0011ea1f
MOVZX ESI,byte ptr [RCX]
LEA RCX,[RCX + 0x1]
MOV EDX,EDI
JMP 0x0011ea1f
MOV EDX,0x0
CMP EDX,0x1
JBE 0x0011e8e7
CMP R14,RCX
JZ 0x0011e8ee
CMP EDX,0xc
JA 0x0011ea16
MOV EAX,EDX
MOVSXD RAX,dword ptr [R15 + RAX*0x4]
ADD RAX,R15
JMP RAX
MOV EDX,0x1
JMP 0x0011e8e7
MOV RAX,qword ptr [RSP + 0x18]
ADD RAX,0x2
MOV qword ptr [RSP + 0x8],RAX
CMP R14,RAX
JBE 0x0011e719
MOV dword ptr [RSP + 0x24],0x1
JMP 0x0011e6e5
MOV EBP,EAX
CMP qword ptr [RSP + 0x8],R13
JZ 0x0011e685
MOV R12,R13
MOVZX EAX,byte ptr [R12]
CMP AL,0x9
JL 0x0011ea95
CMP AL,0xd
JLE 0x0011ea87
CMP AL,0x20
JNZ 0x0011ea95
ADD R12,0x1
CMP R14,R12
JA 0x0011ea76
JMP 0x0011e719
CMP dword ptr [RSP + 0x24],0x0
JZ 0x0011eab2
MOVZX EAX,byte ptr [R12]
AND EAX,0xfffffffd
CMP AL,0x3c
JZ 0x0011eafb
MOV R13,qword ptr [RSP + 0x10]
JMP 0x0011e685
MOV EDI,0x28
CALL 0x001494bf
CMP qword ptr [RSP + 0xa0],0x0
JZ 0x0011eb33
MOV RDX,qword ptr [RSP + 0xa8]
MOV qword ptr [RDX + 0x20],RAX
MOV qword ptr [RAX + 0x18],RDX
MOV qword ptr [RSP + 0xa8],RAX
MOV qword ptr [RAX + 0x20],0x0
MOV RDI,qword ptr [RSP + 0x8]
MOV qword ptr [RAX],RDI
MOV qword ptr [RAX + 0x8],R13
MOV qword ptr [RAX + 0x10],0x0
MOV RDX,R13
MOV RSI,qword ptr [RSP + 0x8]
MOV RDI,qword ptr [RSP + 0x30]
CALL 0x0011e529
TEST AL,AL
JNZ 0x0011eb55
MOV EBP,0x1
MOV dword ptr [RSP + 0x88],0x0
MOV byte ptr [RSP + 0x9a],BPL
MOV qword ptr [RSP + 0x90],R13
JMP 0x0011eb7b
MOV qword ptr [RSP + 0xa8],RAX
MOV qword ptr [RSP + 0xa0],RAX
MOV qword ptr [RAX + 0x20],0x0
MOV qword ptr [RAX + 0x18],0x0
JMP 0x0011eae7
MOV ECX,0x1
MOV RDX,R13
MOV RSI,qword ptr [RSP + 0x8]
MOV RDI,qword ptr [RSP + 0x60]
CALL 0x0011ddab
JMP 0x0011eb16
ADD R12,0x1
CMP R14,R12
JBE 0x0011e719
MOVZX EAX,byte ptr [R12]
CMP AL,0x9
JL 0x0011eb8c
CMP AL,0xd
JLE 0x0011eb6e
CMP AL,0x20
JZ 0x0011eb6e
CMP AL,0x2f
JZ 0x0011ebce
MOVZX EAX,byte ptr [R12]
AND EAX,0xfffffffd
CMP AL,0x3c
JZ 0x0011ef3e
MOV RBX,R12
MOVZX EAX,byte ptr [RBX]
LEA EDX,[RAX + -0x21]
CMP DL,0x5d
SETBE CL
LEA EDX,[RAX + -0x3c]
CMP DL,0x2
SETA DL
TEST CL,DL
JZ 0x0011ec0b
CMP AL,0x2f
JZ 0x0011ec0b
ADD RBX,0x1
CMP R14,RBX
JA 0x0011eba3
JMP 0x0011e719
ADD R12,0x1
CMP R14,R12
JBE 0x0011e719
MOVZX EAX,byte ptr [R12]
CMP AL,0x9
JL 0x0011ebec
CMP AL,0xd
JLE 0x0011ebfd
CMP AL,0x20
JZ 0x0011ebfd
AND EAX,0xfffffffd
CMP AL,0x3c
JZ 0x0011eb90
MOV R13,qword ptr [RSP + 0x10]
JMP 0x0011e685
ADD R12,0x1
CMP R14,R12
JNZ 0x0011ebdb
JMP 0x0011e719
CMP R12,RBX
JZ 0x0011e7bd
MOV RBP,RBX
MOVZX EAX,byte ptr [RBP]
CMP AL,0x9
JL 0x0011ec27
CMP AL,0xd
JLE 0x0011eca2
CMP AL,0x20
JZ 0x0011eca2
LEA EDX,[RAX + -0x21]
CMP DL,0x5d
JA 0x0011ec3b
LEA EDX,[RAX + -0x3c]
CMP DL,0x2
JA 0x0011edf3
MOV EDX,EAX
AND EDX,0xfffffffd
CMP DL,0x3c
SETZ DL
CMP AL,0x2f
SETZ CL
OR DL,CL
JZ 0x0011ecb4
MOV qword ptr [RSP + 0x80],RBX
MOV qword ptr [RSP + 0x68],R12
MOV qword ptr [RSP + 0x78],RBX
MOV qword ptr [RSP + 0x70],R12
MOV dword ptr [RSP + 0x8c],0x1
CMP byte ptr [RSP + 0x9a],0x0
JNZ 0x0011ec9a
MOV RDX,RBX
MOV RSI,R12
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x0011e529
MOV byte ptr [RSP + 0x9b],AL
TEST AL,AL
JNZ 0x0011ee1a
MOV R12,RBP
JMP 0x0011eb7b
ADD RBP,0x1
CMP R14,RBP
JA 0x0011ec17
JMP 0x0011e719
CMP AL,0x3d
JNZ 0x0011e7c7
LEA RAX,[RBP + 0x1]
CMP R14,RAX
JBE 0x0011e719
MOVZX EDI,byte ptr [RAX]
CMP DIL,0x9
JL 0x0011ecde
CMP DIL,0xd
JLE 0x0011ed23
CMP DIL,0x20
JZ 0x0011ed23
MOV qword ptr [RSP + 0x68],RAX
CMP DIL,0x22
JZ 0x0011ed31
MOV RBP,RAX
CMP DIL,0x27
JZ 0x0011ed31
MOVZX EAX,byte ptr [RBP]
CMP AL,0x9
JL 0x0011ed0a
CMP AL,0xd
JLE 0x0011edc3
CMP AL,0x20
JZ 0x0011edc3
AND EAX,0xfffffffd
CMP AL,0x3c
JZ 0x0011edc3
ADD RBP,0x1
CMP R14,RBP
JA 0x0011ecf2
JMP 0x0011e719
ADD RAX,0x1
CMP R14,RAX
JNZ 0x0011ecc9
JMP 0x0011e719
MOV RAX,qword ptr [RSP + 0x68]
LEA RSI,[RAX + 0x1]
MOV qword ptr [RSP + 0x70],RSI
CMP R14,RSI
JA 0x0011ed56
JMP 0x0011e719
ADD RSI,0x1
CMP R14,RSI
JBE 0x0011e719
MOVZX EAX,byte ptr [RSI]
CMP DIL,AL
JZ 0x0011ed8b
CMP AL,0xa
SETZ CL
MOV R8D,EDX
XOR R8D,0x1
AND CL,R8B
JNZ 0x0011ed82
TEST DL,DL
JZ 0x0011ed49
AND EAX,0xfffffffd
CMP AL,0x3c
JNZ 0x0011ed49
MOV R13,RSI
JMP 0x0011e685
MOV EDX,ECX
MOV RSI,qword ptr [RSP + 0x70]
JMP 0x0011ed56
MOV qword ptr [RSP + 0x78],RSI
LEA RBP,[RSI + 0x1]
CMP R14,RBP
JBE 0x0011e719
MOV EAX,dword ptr [RSP + 0x58]
AND EAX,0x2
MOV qword ptr [RSP + 0x80],RBP
CMP EAX,0x1
SBB EAX,EAX
AND EAX,0xfffffffc
ADD EAX,0x6
MOV dword ptr [RSP + 0x8c],EAX
JMP 0x0011ec71
MOV RAX,qword ptr [RSP + 0x68]
CMP RAX,RBP
JZ 0x0011e7d1
MOV qword ptr [RSP + 0x80],RBP
MOV qword ptr [RSP + 0x78],RBP
MOV qword ptr [RSP + 0x70],RAX
MOV dword ptr [RSP + 0x8c],0x2
JMP 0x0011ec71
MOV qword ptr [RSP + 0x80],RBX
MOV qword ptr [RSP + 0x68],R12
MOV qword ptr [RSP + 0x78],RBX
MOV qword ptr [RSP + 0x70],R12
MOV dword ptr [RSP + 0x8c],0x1
JMP 0x0011ec71
MOV EAX,dword ptr [RSP + 0x88]
ADD EAX,0x1
MOV dword ptr [RSP + 0x9c],EAX
CDQE
MOVSXD RDX,dword ptr [RSP + 0x5c]
CMP RAX,RDX
JLE 0x0011ee7b
MOV R13,RDX
ADD R13,R13
CMP RAX,R13
JG 0x0011ee3a
CMP RDX,R13
JZ 0x0011ee7b
CMP byte ptr [RSP + 0x28],0x0
JZ 0x0011ef02
LEA RSI,[R13 + R13*0x4]
SHL RSI,0x3
MOV RDI,qword ptr [RSP + 0x40]
CALL 0x0014951a
MOV qword ptr [RSP + 0x40],RAX
MOV dword ptr [RSP + 0x5c],R13D
MOVZX EAX,byte ptr [RSP + 0x9b]
MOV byte ptr [RSP + 0x28],AL
MOVSXD RAX,dword ptr [RSP + 0x88]
LEA RAX,[RAX + RAX*0x4]
MOV RSI,qword ptr [RSP + 0x40]
LEA R13,[RSI + RAX*0x8]
MOV EAX,dword ptr [RSP + 0xbc]
MOV dword ptr [R13 + 0x1c],EAX
MOV ECX,0x1
MOV RDX,RBX
MOV RSI,R12
MOV RBX,qword ptr [RSP + 0x60]
MOV RDI,RBX
CALL 0x0011ddab
MOV EAX,dword ptr [RSP + 0xbc]
MOV dword ptr [R13 + 0x20],EAX
MOV ECX,dword ptr [RSP + 0x8c]
MOV RDX,qword ptr [RSP + 0x78]
MOV RSI,qword ptr [RSP + 0x70]
MOV RDI,RBX
CALL 0x0011ddab
MOV RSI,qword ptr [RSP + 0x68]
MOV qword ptr [R13 + 0x10],RSI
MOV RAX,qword ptr [RSP + 0x80]
SUB RAX,RSI
MOV dword ptr [R13 + 0x18],EAX
MOV EAX,dword ptr [RSP + 0x9c]
MOV dword ptr [RSP + 0x88],EAX
JMP 0x0011ec9a
LEA RDI,[R13 + R13*0x4]
SHL RDI,0x3
CALL 0x001494bf
MOV RDI,RAX
MOVSXD RAX,dword ptr [RSP + 0x5c]
LEA RDX,[RAX + RAX*0x4]
SHL RDX,0x3
MOV RSI,qword ptr [RSP + 0x40]
MOV qword ptr [RSP + 0x28],RDI
CALL 0x0010cdb0
MOV RDI,qword ptr [RSP + 0x28]
MOV qword ptr [RSP + 0x40],RDI
JMP 0x0011ee6a
MOVZX EBP,byte ptr [RSP + 0x9a]
MOV R13,qword ptr [RSP + 0x90]
CMP dword ptr [RSP + 0x24],0x0
JNZ 0x0011ef6c
MOV RAX,qword ptr [RSP + 0xa8]
TEST RAX,RAX
JZ 0x0011ef6c
MOV RDI,qword ptr [RSP + 0x8]
CMP qword ptr [RAX],RDI
JZ 0x0011ef84
TEST BPL,BPL
JZ 0x0011ef8f
LEA R13,[R12 + 0x1]
CMP R14,R13
JA 0x0011e685
JMP 0x0011e719
LEA RDX,[R12 + 0x1]
MOV qword ptr [RAX + 0x10],RDX
JMP 0x0011ef6c
MOV RAX,qword ptr [RSP + 0xb0]
MOV qword ptr [RSP + 0xe0],RAX
MOV EAX,dword ptr [RSP + 0x24]
MOV dword ptr [RSP + 0xe8],EAX
MOV EDI,dword ptr [RSP + 0x88]
MOV dword ptr [RSP + 0xec],EDI
TEST EDI,EDI
JLE 0x0011eff8
MOV RSI,qword ptr [RSP + 0x40]
MOV RAX,RSI
LEA EDX,[RDI + -0x1]
LEA RDX,[RDX + RDX*0x4]
LEA RCX,[RSI + RDX*0x8 + 0x28]
MOVSXD RDX,dword ptr [RAX + 0x1c]
ADD RDX,qword ptr [RSP + 0xb0]
MOV qword ptr [RAX],RDX
MOVSXD RDX,dword ptr [RAX + 0x20]
ADD RDX,qword ptr [RSP + 0xb0]
MOV qword ptr [RAX + 0x8],RDX
ADD RAX,0x28
CMP RAX,RCX
JNZ 0x0011efd0
MOV RAX,qword ptr [RSP + 0x40]
MOV qword ptr [RSP + 0xf0],RAX
MOV RAX,qword ptr [RSP + 0x18]
MOV qword ptr [RSP + 0xf8],RAX
LEA RBP,[R12 + 0x1]
MOV qword ptr [RSP + 0x100],RBP
MOV qword ptr [RSP + 0x108],0x0
MOV qword ptr [RSP + 0x110],0x0
CMP dword ptr [RSP + 0x24],0x0
JNZ 0x0011f06e
LEA RDI,[RSP + 0xe0]
MOV RSI,qword ptr [RSP + 0x50]
MOV RAX,qword ptr [RSP + 0x48]
CALL RAX
CMP byte ptr [R12],0x3c
JZ 0x0011f0eb
CMP RBP,R14
JNC 0x0011e719
MOV R13,RBP
JMP 0x0011e685
MOV RBX,qword ptr [RSP + 0xa8]
MOV EAX,R13D
SUB EAX,dword ptr [RSP + 0x8]
TEST RBX,RBX
JZ 0x0011f03e
MOVSXD R13,EAX
JMP 0x0011f090
MOV RBX,qword ptr [RBX + 0x18]
TEST RBX,RBX
JZ 0x0011f03e
MOV RDI,qword ptr [RBX]
MOV RAX,qword ptr [RBX + 0x8]
SUB RAX,RDI
CMP R13,RAX
JNZ 0x0011f087
MOV RDX,R13
MOV RSI,qword ptr [RSP + 0x8]
CALL 0x0010ca10
TEST EAX,EAX
JNZ 0x0011f087
MOV RAX,qword ptr [RBX + 0x10]
TEST RAX,RAX
JZ 0x0011f0ce
MOV qword ptr [RSP + 0x108],RAX
MOV RAX,qword ptr [RSP + 0x18]
MOV qword ptr [RSP + 0x110],RAX
LEA RSI,[RSP + 0xa8]
LEA RDI,[RSP + 0xa0]
MOV RDX,RBX
CALL 0x0011dd1f
JMP 0x0011f03e
MOV RBP,R12
JMP 0x0011f066
MOV RDI,qword ptr [RSP + 0xb0]
CALL 0x0010c550
JMP 0x0011e727
MOV RDI,qword ptr [RSP + 0x40]
CALL 0x0010c550
JMP 0x0011e763
MOV EDX,EBP
JMP 0x0011ea1f
MOV EDX,0xa
JMP 0x0011ea1f
MOV EDX,0x4
JMP 0x0011ea1f
MOV EDX,EBP
JMP 0x0011ea1f
MOV EDX,EDI
JMP 0x0011ea1f
MOV EDX,0xc
JMP 0x0011ea1f
MOV EDX,0x8
JMP 0x0011ea1f
CALL 0x0010ca20
(translation_unit "/* WARNING: Removing unreachable block (ram,0x0011ea16) */\n/* WARNING: Removing unreachable block (ram,0x0011e8e7) */\n/* WARNING: Removing unreachable block (ram,0x0011e8ea) */\n\nvoid FUN_0011e5b2(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)\n\n{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  long lVar8;\n  char cVar9;\n  int iVar10;\n  void *pvVar11;\n  undefined8 *puVar12;\n  long lVar13;\n  long *plVar14;\n  bool bVar15;\n  long lVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  long lVar21;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar22;\n  bool bVar23;\n  byte *local_3a0;\n  int local_384;\n  char local_380;\n  long *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  undefined8 *local_308;\n  undefined8 *local_300;\n  undefined1 *local_2f8;\n  undefined4 local_2f0;\n  undefined4 local_2ec;\n  char local_2e8;\n  undefined1 *local_2e0;\n  undefined4 local_2d8;\n  undefined1 *local_2c8;\n  int local_2c0;\n  int local_2bc;\n  long *local_2b8;\n  void *local_2b0;\n  byte *local_2a8;\n  long local_2a0;\n  void *local_298;\n  long local_288 [40];\n  undefined1 local_148 [264];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_308 = (undefined8 *)0x0;\n  local_300 = (undefined8 *)0x0;\n  if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar20;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  param_1 = pbVar20;\n  if (pbVar20 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }\n  local_2f8 = local_2e0;\n  local_2f0 = local_2d8;\n  local_2ec = 0;\n  local_2e8 = 0;\n  if (local_380 != '\0') {\n    free(local_368);\n  }\n  FUN_0011dd1f(&local_308,&local_300,local_308);\n  goto LAB_0011e780;\n}\n\n" comment comment comment (function_definition "void FUN_0011e5b2(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)\n\n{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  long lVar8;\n  char cVar9;\n  int iVar10;\n  void *pvVar11;\n  undefined8 *puVar12;\n  long lVar13;\n  long *plVar14;\n  bool bVar15;\n  long lVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  long lVar21;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar22;\n  bool bVar23;\n  byte *local_3a0;\n  int local_384;\n  char local_380;\n  long *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  undefined8 *local_308;\n  undefined8 *local_300;\n  undefined1 *local_2f8;\n  undefined4 local_2f0;\n  undefined4 local_2ec;\n  char local_2e8;\n  undefined1 *local_2e0;\n  undefined4 local_2d8;\n  undefined1 *local_2c8;\n  int local_2c0;\n  int local_2bc;\n  long *local_2b8;\n  void *local_2b0;\n  byte *local_2a8;\n  long local_2a0;\n  void *local_298;\n  long local_288 [40];\n  undefined1 local_148 [264];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_308 = (undefined8 *)0x0;\n  local_300 = (undefined8 *)0x0;\n  if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar20;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  param_1 = pbVar20;\n  if (pbVar20 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }\n  local_2f8 = local_2e0;\n  local_2f0 = local_2d8;\n  local_2ec = 0;\n  local_2e8 = 0;\n  if (local_380 != '\0') {\n    free(local_368);\n  }\n  FUN_0011dd1f(&local_308,&local_300,local_308);\n  goto LAB_0011e780;\n}" primitive_type (function_declarator "FUN_0011e5b2(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)" identifier (parameter_list "(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "code *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  long lVar8;\n  char cVar9;\n  int iVar10;\n  void *pvVar11;\n  undefined8 *puVar12;\n  long lVar13;\n  long *plVar14;\n  bool bVar15;\n  long lVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  long lVar21;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar22;\n  bool bVar23;\n  byte *local_3a0;\n  int local_384;\n  char local_380;\n  long *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  undefined8 *local_308;\n  undefined8 *local_300;\n  undefined1 *local_2f8;\n  undefined4 local_2f0;\n  undefined4 local_2ec;\n  char local_2e8;\n  undefined1 *local_2e0;\n  undefined4 local_2d8;\n  undefined1 *local_2c8;\n  int local_2c0;\n  int local_2bc;\n  long *local_2b8;\n  void *local_2b0;\n  byte *local_2a8;\n  long local_2a0;\n  void *local_298;\n  long local_288 [40];\n  undefined1 local_148 [264];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_308 = (undefined8 *)0x0;\n  local_300 = (undefined8 *)0x0;\n  if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar20;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  param_1 = pbVar20;\n  if (pbVar20 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }\n  local_2f8 = local_2e0;\n  local_2f0 = local_2d8;\n  local_2ec = 0;\n  local_2e8 = 0;\n  if (local_380 != '\0') {\n    free(local_368);\n  }\n  FUN_0011dd1f(&local_308,&local_300,local_308);\n  goto LAB_0011e780;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "void *pvVar11;" primitive_type (pointer_declarator "*pvVar11" * identifier) ;) (declaration "undefined8 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar14;" (sized_type_specifier "long" long) (pointer_declarator "*plVar14" * identifier) ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "long lVar21;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "byte *local_3a0;" type_identifier (pointer_declarator "*local_3a0" * identifier) ;) (declaration "int local_384;" primitive_type identifier ;) (declaration "char local_380;" primitive_type identifier ;) (declaration "long *local_368;" (sized_type_specifier "long" long) (pointer_declarator "*local_368" * identifier) ;) (declaration "int local_34c;" primitive_type identifier ;) (declaration "byte *local_340;" type_identifier (pointer_declarator "*local_340" * identifier) ;) (declaration "byte *local_338;" type_identifier (pointer_declarator "*local_338" * identifier) ;) (declaration "byte *local_330;" type_identifier (pointer_declarator "*local_330" * identifier) ;) (declaration "byte *local_328;" type_identifier (pointer_declarator "*local_328" * identifier) ;) (declaration "int local_320;" primitive_type identifier ;) (declaration "int local_31c;" primitive_type identifier ;) (declaration "undefined8 *local_308;" type_identifier (pointer_declarator "*local_308" * identifier) ;) (declaration "undefined8 *local_300;" type_identifier (pointer_declarator "*local_300" * identifier) ;) (declaration "undefined1 *local_2f8;" type_identifier (pointer_declarator "*local_2f8" * identifier) ;) (declaration "undefined4 local_2f0;" type_identifier identifier ;) (declaration "undefined4 local_2ec;" type_identifier identifier ;) (declaration "char local_2e8;" primitive_type identifier ;) (declaration "undefined1 *local_2e0;" type_identifier (pointer_declarator "*local_2e0" * identifier) ;) (declaration "undefined4 local_2d8;" type_identifier identifier ;) (declaration "undefined1 *local_2c8;" type_identifier (pointer_declarator "*local_2c8" * identifier) ;) (declaration "int local_2c0;" primitive_type identifier ;) (declaration "int local_2bc;" primitive_type identifier ;) (declaration "long *local_2b8;" (sized_type_specifier "long" long) (pointer_declarator "*local_2b8" * identifier) ;) (declaration "void *local_2b0;" primitive_type (pointer_declarator "*local_2b0" * identifier) ;) (declaration "byte *local_2a8;" type_identifier (pointer_declarator "*local_2a8" * identifier) ;) (declaration "long local_2a0;" (sized_type_specifier "long" long) identifier ;) (declaration "void *local_298;" primitive_type (pointer_declarator "*local_298" * identifier) ;) (declaration "long local_288 [40];" (sized_type_specifier "long" long) (array_declarator "local_288 [40]" identifier [ number_literal ]) ;) (declaration "undefined1 local_148 [264];" type_identifier (array_declarator "local_148 [264]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_308 = (undefined8 *)0x0;" (assignment_expression "local_308 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_300 = (undefined8 *)0x0;" (assignment_expression "local_300 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }" { (expression_statement "pbVar2 = param_1 + param_2;" (assignment_expression "pbVar2 = param_1 + param_2" identifier = (binary_expression "param_1 + param_2" identifier + identifier)) ;) (expression_statement "local_2f8 = local_148;" (assignment_expression "local_2f8 = local_148" identifier = identifier) ;) (expression_statement "local_2f0 = 0x100;" (assignment_expression "local_2f0 = 0x100" identifier = number_literal) ;) (expression_statement "local_2e8 = '\0';" (assignment_expression "local_2e8 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2d8 = 0x100;" (assignment_expression "local_2d8 = 0x100" identifier = number_literal) ;) (expression_statement "local_368 = local_288;" (assignment_expression "local_368 = local_288" identifier = identifier) ;) (expression_statement "local_380 = '\0';" (assignment_expression "local_380 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_34c = 8;" (assignment_expression "local_34c = 8" identifier = number_literal) ;) (expression_statement "local_2e0 = local_2f8;" (assignment_expression "local_2e0 = local_2f8" identifier = identifier) ;) (labeled_statement "LAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);" statement_identifier : (do_statement "do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);" do (compound_statement "{\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    }" { (expression_statement "local_2ec = 0;" (assignment_expression "local_2ec = 0" identifier = number_literal) ;) (expression_statement "pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);" (assignment_expression "pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1)" identifier = (call_expression "memchr(param_1,0x3c,(long)pbVar2 - (long)param_1)" identifier (argument_list "(param_1,0x3c,(long)pbVar2 - (long)param_1)" ( identifier , number_literal , (binary_expression "(long)pbVar2 - (long)param_1" (cast_expression "(long)pbVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;" if (parenthesized_expression "((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))" ( (binary_expression "(pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1)" (parenthesized_expression "(pvVar11 == (void *)0x0)" ( (binary_expression "pvVar11 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1)" ( (comma_expression "pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1" (assignment_expression "pbVar1 = (byte *)((long)pvVar11 + 1)" identifier = (cast_expression "(byte *)((long)pvVar11 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 1)" ( (binary_expression "(long)pvVar11 + 1" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , (binary_expression "pbVar2 <= pbVar1" identifier <= identifier)) ))) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" identifier = identifier) ;) (if_statement "if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }" if (parenthesized_expression "(*(char *)((long)pvVar11 + 1) == '!')" ( (binary_expression "*(char *)((long)pvVar11 + 1) == '!'" (pointer_expression "*(char *)((long)pvVar11 + 1)" * (cast_expression "(char *)((long)pvVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 1)" ( (binary_expression "(long)pvVar11 + 1" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'!'" ' character ')) )) (compound_statement "{\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }" { (if_statement "if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }" if (parenthesized_expression "(((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-'))" ( (binary_expression "((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')" (parenthesized_expression "((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-'))" ( (binary_expression "(((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')" (parenthesized_expression "(((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2))" ( (binary_expression "((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)" (parenthesized_expression "((param_5 & 1) == 0)" ( (binary_expression "(param_5 & 1) == 0" (parenthesized_expression "(param_5 & 1)" ( (binary_expression "param_5 & 1" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((byte *)((long)pvVar11 + 4U) < pbVar2)" ( (binary_expression "(byte *)((long)pvVar11 + 4U) < pbVar2" (cast_expression "(byte *)((long)pvVar11 + 4U)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 4U)" ( (binary_expression "(long)pvVar11 + 4U" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) ))) )) && (parenthesized_expression "(*(char *)((long)pvVar11 + 2) == '-')" ( (binary_expression "*(char *)((long)pvVar11 + 2) == '-'" (pointer_expression "*(char *)((long)pvVar11 + 2)" * (cast_expression "(char *)((long)pvVar11 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 2)" ( (binary_expression "(long)pvVar11 + 2" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) && (parenthesized_expression "(pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')" ( (comma_expression "pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-'" (assignment_expression "pbVar1 = (byte *)((long)pvVar11 + 3)" identifier = (cast_expression "(byte *)((long)pvVar11 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 3)" ( (binary_expression "(long)pvVar11 + 3" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , (binary_expression "*(char *)((long)pvVar11 + 3) == '-'" (pointer_expression "*(char *)((long)pvVar11 + 3)" * (cast_expression "(char *)((long)pvVar11 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 3)" ( (binary_expression "(long)pvVar11 + 3" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character '))) ))) )) (compound_statement "{\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }" { (labeled_statement "LAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" statement_identifier : (while_statement "while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" while (parenthesized_expression "(pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2)" ( (comma_expression "pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2" (assignment_expression "pbVar20 = pbVar1" identifier = identifier) , (comma_expression "pbVar1 = pbVar20 + 3, pbVar1 < pbVar2" (assignment_expression "pbVar1 = pbVar20 + 3" identifier = (binary_expression "pbVar20 + 3" identifier + number_literal)) , (binary_expression "pbVar1 < pbVar2" identifier < identifier))) )) (compound_statement "{\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" { (if_statement "if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" if (parenthesized_expression "(pbVar20[3] == 0x2d)" ( (binary_expression "pbVar20[3] == 0x2d" (subscript_expression "pbVar20[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }" { (do_statement "do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);" do (compound_statement "{\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              }" { (expression_statement "pbVar20 = pbVar1;" (assignment_expression "pbVar20 = pbVar1" identifier = identifier) ;) (if_statement "if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;" if (parenthesized_expression "(pbVar20[-1] == 0x2d)" ( (binary_expression "pbVar20[-1] == 0x2d" (subscript_expression "pbVar20[-1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0011e89e;" goto statement_identifier ;)) (expression_statement "pbVar1 = pbVar20 + 2;" (assignment_expression "pbVar1 = pbVar20 + 2" identifier = (binary_expression "pbVar20 + 2" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar1) goto LAB_0011e685;" if (parenthesized_expression "(pbVar2 <= pbVar1)" ( (binary_expression "pbVar2 <= pbVar1" identifier <= identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) }) while (parenthesized_expression "(pbVar20[2] == 0x2d)" ( (binary_expression "pbVar20[2] == 0x2d" (subscript_expression "pbVar20[2]" identifier [ number_literal ]) == number_literal) )) ;) (if_statement "if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }" if (parenthesized_expression "((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d))" ( (binary_expression "(pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)" (parenthesized_expression "(pbVar20[2] == 0x3e)" ( (binary_expression "pbVar20[2] == 0x3e" (subscript_expression "pbVar20[2]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(pbVar20[1] == 0x2d)" ( (binary_expression "pbVar20[1] == 0x2d" (subscript_expression "pbVar20[1]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }" { (expression_statement "pbVar20 = pbVar20 + 3;" (assignment_expression "pbVar20 = pbVar20 + 3" identifier = (binary_expression "pbVar20 + 3" identifier + number_literal)) ;) (goto_statement "goto LAB_0011e8bd;" goto statement_identifier ;) })) }) (else_clause "else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" else (if_statement "if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" if (parenthesized_expression "(((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d))" ( (binary_expression "((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)" (parenthesized_expression "((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d))" ( (binary_expression "(pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)" (parenthesized_expression "(pbVar20[3] == 0x3e)" ( (binary_expression "pbVar20[3] == 0x3e" (subscript_expression "pbVar20[3]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(pbVar20[2] == 0x2d)" ( (binary_expression "pbVar20[2] == 0x2d" (subscript_expression "pbVar20[2]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(pbVar20[1] == 0x2d)" ( (binary_expression "pbVar20[1] == 0x2d" (subscript_expression "pbVar20[1]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" { (expression_statement "pbVar20 = pbVar20 + 4;" (assignment_expression "pbVar20 = pbVar20 + 4" identifier = (binary_expression "pbVar20 + 4" identifier + number_literal)) ;) (goto_statement "goto LAB_0011e8bd;" goto statement_identifier ;) })))) }))) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;) })) (expression_statement "pbVar20 = (byte *)((long)pvVar11 + 2);" (assignment_expression "pbVar20 = (byte *)((long)pvVar11 + 2)" identifier = (cast_expression "(byte *)((long)pvVar11 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 2)" ( (binary_expression "(long)pvVar11 + 2" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (pbVar2 != pbVar20) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }" if (parenthesized_expression "(pbVar2 != pbVar20)" ( (binary_expression "pbVar2 != pbVar20" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }" { comment comment (expression_statement "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);" (call_expression "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3)" (parenthesized_expression "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))" ( (pointer_expression "*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" * (cast_expression "(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" ( (binary_expression "(long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4" (cast_expression "(long)&switchD_0011ea36" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&switchD_0011ea36" & identifier)) (ERROR "::switchdataD_001558dc" : : identifier) + (cast_expression "(long)(int)UINT_001558e4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)UINT_001558e4" ( (type_descriptor "int" primitive_type) ) identifier))) )))) )) (argument_list "(3)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_0011e8ee;" goto statement_identifier ;) })) (expression_statement "local_384 = 0;" (assignment_expression "local_384 = 0" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar1;" (assignment_expression "pbVar20 = pbVar1" identifier = identifier) ;) (expression_statement "local_3a0 = pbVar1;" (assignment_expression "local_3a0 = pbVar1" identifier = identifier) ;) (if_statement "if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }" if (parenthesized_expression "(*(char *)((long)pvVar11 + 1) == '/')" ( (binary_expression "*(char *)((long)pvVar11 + 1) == '/'" (pointer_expression "*(char *)((long)pvVar11 + 1)" * (cast_expression "(char *)((long)pvVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 1)" ( (binary_expression "(long)pvVar11 + 1" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }" { (expression_statement "pbVar20 = (byte *)((long)pvVar11 + 2);" (assignment_expression "pbVar20 = (byte *)((long)pvVar11 + 2)" identifier = (cast_expression "(byte *)((long)pvVar11 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 2)" ( (binary_expression "(long)pvVar11 + 2" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (pbVar2 <= pbVar20) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar20)" ( (binary_expression "pbVar2 <= pbVar20" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (expression_statement "local_384 = 1;" (assignment_expression "local_384 = 1" identifier = number_literal) ;) (expression_statement "local_3a0 = pbVar20;" (assignment_expression "local_3a0 = pbVar20" identifier = identifier) ;) })) (while_statement "while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }" { (expression_statement "bVar3 = *pbVar20;" (assignment_expression "bVar3 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) (expression_statement "bVar5 = (byte)(bVar3 - 0x21) < 0x5e;" (assignment_expression "bVar5 = (byte)(bVar3 - 0x21) < 0x5e" identifier = (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x21)" ( (binary_expression "bVar3 - 0x21" identifier - number_literal) ))) < number_literal)) ;) (expression_statement "bVar6 = 2 < (byte)(bVar3 - 0x3c);" (assignment_expression "bVar6 = 2 < (byte)(bVar3 - 0x3c)" identifier = (binary_expression "2 < (byte)(bVar3 - 0x3c)" number_literal < (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x3c)" ( (binary_expression "bVar3 - 0x3c" identifier - number_literal) ))))) ;) (expression_statement "bVar22 = bVar3 != 0x2f;" (assignment_expression "bVar22 = bVar3 != 0x2f" identifier = (binary_expression "bVar3 != 0x2f" identifier != number_literal)) ;) (if_statement "if ((!bVar5 || !bVar6) || !bVar22) break;" if (parenthesized_expression "((!bVar5 || !bVar6) || !bVar22)" ( (binary_expression "(!bVar5 || !bVar6) || !bVar22" (parenthesized_expression "(!bVar5 || !bVar6)" ( (binary_expression "!bVar5 || !bVar6" (unary_expression "!bVar5" ! identifier) || (unary_expression "!bVar6" ! identifier)) )) || (unary_expression "!bVar22" ! identifier)) )) (break_statement "break;" break ;)) (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar20) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar20)" ( (binary_expression "pbVar2 <= pbVar20" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "pbVar18 = pbVar20;" (assignment_expression "pbVar18 = pbVar20" identifier = identifier) ;) (expression_statement "param_1 = pbVar20;" (assignment_expression "param_1 = pbVar20" identifier = identifier) ;) }) while (parenthesized_expression "(local_3a0 == pbVar20)" ( (binary_expression "local_3a0 == pbVar20" identifier == identifier) )) ;)) (while_statement "while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }" while (parenthesized_expression "((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) , (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }" { (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (if_statement "if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" if (parenthesized_expression "(local_384 == 0)" ( (binary_expression "local_384 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }" { (expression_statement "puVar12 = (undefined8 *)FUN_001494bf(0x28);" (assignment_expression "puVar12 = (undefined8 *)FUN_001494bf(0x28)" identifier = (cast_expression "(undefined8 *)FUN_001494bf(0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001494bf(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (if_statement "if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }" if (parenthesized_expression "(local_308 == (undefined8 *)0x0)" ( (binary_expression "local_308 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }" { (expression_statement "puVar12[4] = 0;" (assignment_expression "puVar12[4] = 0" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[3] = 0;" (assignment_expression "puVar12[3] = 0" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_308 = puVar12;" (assignment_expression "local_308 = puVar12" identifier = identifier) ;) }) (else_clause "else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }" else (compound_statement "{\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }" { (expression_statement "local_300[4] = puVar12;" (assignment_expression "local_300[4] = puVar12" (subscript_expression "local_300[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = local_300;" (assignment_expression "puVar12[3] = local_300" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[4] = 0;" (assignment_expression "puVar12[4] = 0" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "*puVar12 = local_3a0;" (assignment_expression "*puVar12 = local_3a0" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = pbVar20;" (assignment_expression "puVar12[1] = pbVar20" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = 0;" (assignment_expression "puVar12[2] = 0" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_300 = puVar12;" (assignment_expression "local_300 = puVar12" identifier = identifier) ;) }) (else_clause "else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" else (compound_statement "{\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" { (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" identifier = identifier) ;) (if_statement "if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;" if (parenthesized_expression "((*pbVar18 & 0xfd) != 0x3c)" ( (binary_expression "(*pbVar18 & 0xfd) != 0x3c" (parenthesized_expression "(*pbVar18 & 0xfd)" ( (binary_expression "*pbVar18 & 0xfd" (pointer_expression "*pbVar18" * identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) }))) (expression_statement "cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);" (assignment_expression "cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20)" identifier = (call_expression "FUN_0011e529(param_6,local_3a0,pbVar20)" identifier (argument_list "(param_6,local_3a0,pbVar20)" ( identifier , identifier , identifier )))) ;) (if_statement "if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }" if (parenthesized_expression "(cVar9 != '\0')" ( (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }" { (expression_statement "FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);" (call_expression "FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1)" identifier (argument_list "(&local_2f8,local_3a0,pbVar20,1)" ( (pointer_expression "&local_2f8" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "bVar7 = cVar9 == '\0';" (assignment_expression "bVar7 = cVar9 == '\0'" identifier = (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "local_320 = 0;" (assignment_expression "local_320 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0011eb7b:\n    bVar3 = *pbVar18;" statement_identifier : (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;)) (if_statement "if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;" if (parenthesized_expression "(('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (binary_expression "('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (parenthesized_expression "('\b' < (char)bVar3)" ( (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) )) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0011eb6e;" goto statement_identifier ;)) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (if_statement "if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" if (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) )) (compound_statement "{\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" { (expression_statement "pbVar19 = pbVar18 + 1;" (assignment_expression "pbVar19 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar19) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar19)" ( (binary_expression "pbVar2 <= pbVar19" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (while_statement "while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }" while (parenthesized_expression "((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) , (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }" { (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 == pbVar19) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 == pbVar19)" ( (binary_expression "pbVar2 == pbVar19" identifier == identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" identifier = identifier) ;) (if_statement "if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;" if (parenthesized_expression "((bVar3 & 0xfd) != 0x3c)" ( (binary_expression "(bVar3 & 0xfd) != 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) })) (expression_statement "pbVar17 = pbVar19;" (assignment_expression "pbVar17 = pbVar19" identifier = identifier) ;) (if_statement "if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }" if (parenthesized_expression "((*pbVar19 & 0xfd) != 0x3c)" ( (binary_expression "(*pbVar19 & 0xfd) != 0x3c" (parenthesized_expression "(*pbVar19 & 0xfd)" ( (binary_expression "*pbVar19 & 0xfd" (pointer_expression "*pbVar19" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }" { (while_statement "while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }" while (parenthesized_expression "((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f)))" ( (parenthesized_expression "(bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))" ( (comma_expression "bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f)" (assignment_expression "bVar3 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) , (binary_expression "(byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f)" (binary_expression "(byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c)" (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x21)" ( (binary_expression "bVar3 - 0x21" identifier - number_literal) ))) < number_literal) && (binary_expression "2 < (byte)(bVar3 - 0x3c)" number_literal < (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x3c)" ( (binary_expression "bVar3 - 0x3c" identifier - number_literal) ))))) && (parenthesized_expression "(bVar3 != 0x2f)" ( (binary_expression "bVar3 != 0x2f" identifier != number_literal) )))) )) )) (compound_statement "{\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }" { (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar17) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar17)" ( (binary_expression "pbVar2 <= pbVar17" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" identifier = identifier) ;) (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" identifier = identifier) ;) (if_statement "if (pbVar19 == pbVar17) goto LAB_0011e685;" if (parenthesized_expression "(pbVar19 == pbVar17)" ( (binary_expression "pbVar19 == pbVar17" identifier == identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (while_statement "while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }" while (parenthesized_expression "((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) , (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }" { (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "local_340 = pbVar19;" (assignment_expression "local_340 = pbVar19" identifier = identifier) ;) (expression_statement "local_338 = pbVar19;" (assignment_expression "local_338 = pbVar19" identifier = identifier) ;) (expression_statement "local_330 = pbVar17;" (assignment_expression "local_330 = pbVar17" identifier = identifier) ;) (expression_statement "local_328 = pbVar17;" (assignment_expression "local_328 = pbVar17" identifier = identifier) ;) (if_statement "if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" if (parenthesized_expression "(((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c)))" ( (binary_expression "((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))" (parenthesized_expression "((byte)(bVar3 - 0x21) < 0x5e)" ( (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x21)" ( (binary_expression "bVar3 - 0x21" identifier - number_literal) ))) < number_literal) )) && (parenthesized_expression "(2 < (byte)(bVar3 - 0x3c))" ( (binary_expression "2 < (byte)(bVar3 - 0x3c)" number_literal < (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x3c)" ( (binary_expression "bVar3 - 0x3c" identifier - number_literal) )))) ))) )) (compound_statement "{\n        local_31c = 1;\n      }" { (expression_statement "local_31c = 1;" (assignment_expression "local_31c = 1" identifier = number_literal) ;) }) (else_clause "else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" else (compound_statement "{\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" { (expression_statement "bVar23 = (bVar3 & 0xfd) == 0x3c;" (assignment_expression "bVar23 = (bVar3 & 0xfd) == 0x3c" identifier = (binary_expression "(bVar3 & 0xfd) == 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) == number_literal)) ;) (expression_statement "bVar15 = bVar23 || bVar3 == 0x2f;" (assignment_expression "bVar15 = bVar23 || bVar3 == 0x2f" identifier = (binary_expression "bVar23 || bVar3 == 0x2f" identifier || (binary_expression "bVar3 == 0x2f" identifier == number_literal))) ;) (if_statement "if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" if (parenthesized_expression "(bVar23 || bVar3 == 0x2f)" ( (binary_expression "bVar23 || bVar3 == 0x2f" identifier || (binary_expression "bVar3 == 0x2f" identifier == number_literal)) )) (compound_statement "{\n          local_31c = 1;\n        }" { (expression_statement "local_31c = 1;" (assignment_expression "local_31c = 1" identifier = number_literal) ;) }) (else_clause "else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" else (compound_statement "{\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" { (if_statement "if (bVar3 != 0x3d) goto LAB_0011e685;" if (parenthesized_expression "(bVar3 != 0x3d)" ( (binary_expression "bVar3 != 0x3d" identifier != number_literal) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (expression_statement "local_340 = pbVar18 + 1;" (assignment_expression "local_340 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= local_340) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= local_340)" ( (binary_expression "pbVar2 <= local_340" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (while_statement "while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }" while (parenthesized_expression "((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *local_340" identifier = (pointer_expression "*local_340" * identifier)) , (binary_expression "'\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }" { (expression_statement "local_340 = local_340 + 1;" (assignment_expression "local_340 = local_340 + 1" identifier = (binary_expression "local_340 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 == local_340) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 == local_340)" ( (binary_expression "pbVar2 == local_340" identifier == identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (if_statement "if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }" if (parenthesized_expression "((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27))" ( (binary_expression "(bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)" (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) || (parenthesized_expression "(pbVar18 = local_340, bVar3 == 0x27)" ( (comma_expression "pbVar18 = local_340, bVar3 == 0x27" (assignment_expression "pbVar18 = local_340" identifier = identifier) , (binary_expression "bVar3 == 0x27" identifier == number_literal)) ))) )) (compound_statement "{\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }" { (expression_statement "local_338 = local_340 + 1;" (assignment_expression "local_338 = local_340 + 1" identifier = (binary_expression "local_340 + 1" identifier + number_literal)) ;) (expression_statement "pbVar18 = local_338;" (assignment_expression "pbVar18 = local_338" identifier = identifier) ;) (while_statement "while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }" while (parenthesized_expression "(bVar23 = bVar15, pbVar18 < pbVar2)" ( (comma_expression "bVar23 = bVar15, pbVar18 < pbVar2" (assignment_expression "bVar23 = bVar15" identifier = identifier) , (binary_expression "pbVar18 < pbVar2" identifier < identifier)) )) (compound_statement "{\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }" { (do_statement "do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);" do (compound_statement "{\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              }" { (expression_statement "bVar15 = bVar23;" (assignment_expression "bVar15 = bVar23" identifier = identifier) ;) (expression_statement "local_330 = pbVar18;" (assignment_expression "local_330 = pbVar18" identifier = identifier) ;) (expression_statement "bVar4 = *local_330;" (assignment_expression "bVar4 = *local_330" identifier = (pointer_expression "*local_330" * identifier)) ;) (if_statement "if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }" if (parenthesized_expression "(bVar3 == bVar4)" ( (binary_expression "bVar3 == bVar4" identifier == identifier) )) (compound_statement "{\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }" { (expression_statement "pbVar18 = local_330 + 1;" (assignment_expression "pbVar18 = local_330 + 1" identifier = (binary_expression "local_330 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (expression_statement "local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;" (assignment_expression "local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6" identifier = (binary_expression "(-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6" (parenthesized_expression "(-(uint)((param_5 & 2) == 0) & 0xfffffffc)" ( (binary_expression "-(uint)((param_5 & 2) == 0) & 0xfffffffc" (unary_expression "-(uint)((param_5 & 2) == 0)" - (call_expression "(uint)((param_5 & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((param_5 & 2) == 0)" ( (binary_expression "(param_5 & 2) == 0" (parenthesized_expression "(param_5 & 2)" ( (binary_expression "param_5 & 2" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "local_328 = pbVar18;" (assignment_expression "local_328 = pbVar18" identifier = identifier) ;) (goto_statement "goto LAB_0011ec71;" goto statement_identifier ;) })) (expression_statement "bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));" (assignment_expression "bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U))" identifier = (cast_expression "(bool)(bVar4 == 10 & (bVar15 ^ 1U))" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar4 == 10 & (bVar15 ^ 1U))" ( (binary_expression "bVar4 == 10 & (bVar15 ^ 1U)" (binary_expression "bVar4 == 10" identifier == number_literal) & (parenthesized_expression "(bVar15 ^ 1U)" ( (binary_expression "bVar15 ^ 1U" identifier ^ number_literal) ))) )))) ;) (expression_statement "pbVar18 = local_338;" (assignment_expression "pbVar18 = local_338" identifier = identifier) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (if_statement "if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;" if (parenthesized_expression "((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c))" ( (binary_expression "(bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)" (parenthesized_expression "(bVar15)" ( identifier )) && (parenthesized_expression "(param_1 = local_330, (bVar4 & 0xfd) == 0x3c)" ( (comma_expression "param_1 = local_330, (bVar4 & 0xfd) == 0x3c" (assignment_expression "param_1 = local_330" identifier = identifier) , (binary_expression "(bVar4 & 0xfd) == 0x3c" (parenthesized_expression "(bVar4 & 0xfd)" ( (binary_expression "bVar4 & 0xfd" identifier & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (expression_statement "pbVar18 = local_330 + 1;" (assignment_expression "pbVar18 = local_330 + 1" identifier = (binary_expression "local_330 + 1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;) })) (while_statement "while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }" while (parenthesized_expression "(((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c)))" ( (parenthesized_expression "((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))" ( (binary_expression "(bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c)" (parenthesized_expression "(bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  )" ( (comma_expression "bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) , (binary_expression "(char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))" (binary_expression "(char)bVar3 < '\t'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\t'" ' escape_sequence ')) || (parenthesized_expression "(('\r' < (char)bVar3 && (bVar3 != 0x20)))" ( (parenthesized_expression "('\r' < (char)bVar3 && (bVar3 != 0x20))" ( (binary_expression "'\r' < (char)bVar3 && (bVar3 != 0x20)" (binary_expression "'\r' < (char)bVar3" (char_literal "'\r'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(bVar3 != 0x20)" ( (binary_expression "bVar3 != 0x20" identifier != number_literal) ))) )) )))) )) && (parenthesized_expression "((bVar3 & 0xfd) != 0x3c)" ( (binary_expression "(bVar3 & 0xfd) != 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }" { (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (if_statement "if (local_340 == pbVar18) goto LAB_0011e685;" if (parenthesized_expression "(local_340 == pbVar18)" ( (binary_expression "local_340 == pbVar18" identifier == identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (expression_statement "local_31c = 2;" (assignment_expression "local_31c = 2" identifier = number_literal) ;) (expression_statement "local_338 = local_340;" (assignment_expression "local_338 = local_340" identifier = identifier) ;) (expression_statement "local_330 = pbVar18;" (assignment_expression "local_330 = pbVar18" identifier = identifier) ;) (expression_statement "local_328 = pbVar18;" (assignment_expression "local_328 = pbVar18" identifier = identifier) ;) }))) }))) (labeled_statement "LAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" statement_identifier : (if_statement "if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" if (parenthesized_expression "((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0'))" ( (binary_expression "(!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')" (parenthesized_expression "(!bVar7 && ((!bVar5 || !bVar6) || !bVar22))" ( (binary_expression "!bVar7 && ((!bVar5 || !bVar6) || !bVar22)" (unary_expression "!bVar7" ! identifier) && (parenthesized_expression "((!bVar5 || !bVar6) || !bVar22)" ( (binary_expression "(!bVar5 || !bVar6) || !bVar22" (parenthesized_expression "(!bVar5 || !bVar6)" ( (binary_expression "!bVar5 || !bVar6" (unary_expression "!bVar5" ! identifier) || (unary_expression "!bVar6" ! identifier)) )) || (unary_expression "!bVar22" ! identifier)) ))) )) && (parenthesized_expression "(cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')" ( (comma_expression "cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0'" (assignment_expression "cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17)" identifier = (call_expression "FUN_0011e529(param_7,pbVar19,pbVar17)" identifier (argument_list "(param_7,pbVar19,pbVar17)" ( identifier , identifier , identifier )))) , (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" { (expression_statement "lVar13 = (long)(local_320 + 1);" (assignment_expression "lVar13 = (long)(local_320 + 1)" identifier = (cast_expression "(long)(local_320 + 1)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(local_320 + 1)" ( (binary_expression "local_320 + 1" identifier + number_literal) )))) ;) (expression_statement "lVar16 = (long)local_34c;" (assignment_expression "lVar16 = (long)local_34c" identifier = (cast_expression "(long)local_34c" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "lVar8 = lVar16;" (assignment_expression "lVar8 = lVar16" identifier = identifier) ;) (if_statement "if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }" if (parenthesized_expression "(lVar16 < lVar13)" ( (binary_expression "lVar16 < lVar13" identifier < identifier) )) (compound_statement "{\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }" { (do_statement "do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);" do (compound_statement "{\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          }" { (expression_statement "lVar21 = lVar8;" (assignment_expression "lVar21 = lVar8" identifier = identifier) ;) (expression_statement "lVar8 = lVar21 * 2;" (assignment_expression "lVar8 = lVar21 * 2" identifier = (binary_expression "lVar21 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "(lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0)" ( (binary_expression "lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0" (binary_expression "lVar13 != lVar8" identifier != identifier) && (binary_expression "SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0" (call_expression "SBORROW8(lVar13,lVar8)" identifier (argument_list "(lVar13,lVar8)" ( identifier , identifier ))) == (binary_expression "lVar13 + lVar21 * -2 < 0" (binary_expression "lVar13 + lVar21 * -2" identifier + (binary_expression "lVar21 * -2" identifier * number_literal)) < number_literal))) )) ;) (if_statement "if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }" if (parenthesized_expression "(lVar16 != lVar8)" ( (binary_expression "lVar16 != lVar8" identifier != identifier) )) (compound_statement "{\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }" { (if_statement "if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }" if (parenthesized_expression "(local_380 == '\0')" ( (binary_expression "local_380 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }" { (expression_statement "plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);" (assignment_expression "plVar14 = (long *)FUN_001494bf(lVar21 * 0x50)" identifier = (cast_expression "(long *)FUN_001494bf(lVar21 * 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001494bf(lVar21 * 0x50)" identifier (argument_list "(lVar21 * 0x50)" ( (binary_expression "lVar21 * 0x50" identifier * number_literal) ))))) ;) (expression_statement "memcpy(plVar14,local_368,(long)local_34c * 0x28);" (call_expression "memcpy(plVar14,local_368,(long)local_34c * 0x28)" identifier (argument_list "(plVar14,local_368,(long)local_34c * 0x28)" ( identifier , identifier , (binary_expression "(long)local_34c * 0x28" (cast_expression "(long)local_34c" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal) ))) ;) (expression_statement "local_368 = plVar14;" (assignment_expression "local_368 = plVar14" identifier = identifier) ;) }) (else_clause "else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }" else (compound_statement "{\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }" { (expression_statement "local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);" (assignment_expression "local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50)" identifier = (cast_expression "(long *)FUN_0014951a(local_368,lVar21 * 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014951a(local_368,lVar21 * 0x50)" identifier (argument_list "(local_368,lVar21 * 0x50)" ( identifier , (binary_expression "lVar21 * 0x50" identifier * number_literal) ))))) ;) }))) (expression_statement "local_34c = (int)lVar8;" (assignment_expression "local_34c = (int)lVar8" identifier = (cast_expression "(int)lVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_380 = cVar9;" (assignment_expression "local_380 = cVar9" identifier = identifier) ;) })) })) (expression_statement "*(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;" (assignment_expression "*(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec" (pointer_expression "*(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c)" * (cast_expression "(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_368 + (long)local_320 * 0x28 + 0x1c)" ( (binary_expression "(long)local_368 + (long)local_320 * 0x28 + 0x1c" (binary_expression "(long)local_368 + (long)local_320 * 0x28" (cast_expression "(long)local_368" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(long)local_320 * 0x28" (cast_expression "(long)local_320" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);" (call_expression "FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1)" identifier (argument_list "(&local_2f8,pbVar19,pbVar17,1)" ( (pointer_expression "&local_2f8" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;" (assignment_expression "*(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec" (pointer_expression "*(undefined4 *)(local_368 + (long)local_320 * 5 + 4)" * (cast_expression "(undefined4 *)(local_368 + (long)local_320 * 5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_368 + (long)local_320 * 5 + 4)" ( (binary_expression "local_368 + (long)local_320 * 5 + 4" (binary_expression "local_368 + (long)local_320 * 5" identifier + (binary_expression "(long)local_320 * 5" (cast_expression "(long)local_320" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);" (call_expression "FUN_0011ddab(&local_2f8,local_338,local_330,local_31c)" identifier (argument_list "(&local_2f8,local_338,local_330,local_31c)" ( (pointer_expression "&local_2f8" & identifier) , identifier , identifier , identifier ))) ;) (expression_statement "local_368[(long)local_320 * 5 + 2] = (long)local_340;" (assignment_expression "local_368[(long)local_320 * 5 + 2] = (long)local_340" (subscript_expression "local_368[(long)local_320 * 5 + 2]" identifier [ (binary_expression "(long)local_320 * 5 + 2" (binary_expression "(long)local_320 * 5" (cast_expression "(long)local_320" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal) + number_literal) ]) = (cast_expression "(long)local_340" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "*(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;" (assignment_expression "*(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340" (pointer_expression "*(int *)(local_368 + (long)local_320 * 5 + 3)" * (cast_expression "(int *)(local_368 + (long)local_320 * 5 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_368 + (long)local_320 * 5 + 3)" ( (binary_expression "local_368 + (long)local_320 * 5 + 3" (binary_expression "local_368 + (long)local_320 * 5" identifier + (binary_expression "(long)local_320 * 5" (cast_expression "(long)local_320" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) + number_literal) )))) = (binary_expression "(int)local_328 - (int)local_340" (cast_expression "(int)local_328" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_340" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_320 = local_320 + 1;" (assignment_expression "local_320 = local_320 + 1" identifier = (binary_expression "local_320 + 1" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0011eb7b;" goto statement_identifier ;) })) (if_statement "if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }" if (parenthesized_expression "(((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))" ( (binary_expression "((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0)" (parenthesized_expression "((local_384 == 0) && (local_300 != (undefined8 *)0x0))" ( (binary_expression "(local_384 == 0) && (local_300 != (undefined8 *)0x0)" (parenthesized_expression "(local_384 == 0)" ( (binary_expression "local_384 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_300 != (undefined8 *)0x0)" ( (binary_expression "local_300 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((byte *)*local_300 == local_3a0)" ( (binary_expression "(byte *)*local_300 == local_3a0" (cast_expression "(byte *)*local_300" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_300" * identifier)) == identifier) ))) )) (compound_statement "{\n      local_300[2] = pbVar19 + 1;\n    }" { (expression_statement "local_300[2] = pbVar19 + 1;" (assignment_expression "local_300[2] = pbVar19 + 1" (subscript_expression "local_300[2]" identifier [ number_literal ]) = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;" if (parenthesized_expression "(bVar7 || (bVar5 && bVar6) && bVar22)" ( (binary_expression "bVar7 || (bVar5 && bVar6) && bVar22" identifier || (binary_expression "(bVar5 && bVar6) && bVar22" (parenthesized_expression "(bVar5 && bVar6)" ( (binary_expression "bVar5 && bVar6" identifier && identifier) )) && identifier)) )) (goto_statement "goto joined_r0x0011ef79;" goto statement_identifier ;)) (expression_statement "local_2c8 = local_2f8;" (assignment_expression "local_2c8 = local_2f8" identifier = identifier) ;) (expression_statement "local_2c0 = local_384;" (assignment_expression "local_2c0 = local_384" identifier = identifier) ;) (expression_statement "local_2bc = local_320;" (assignment_expression "local_2bc = local_320" identifier = identifier) ;) (if_statement "if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }" if (parenthesized_expression "(0 < local_320)" ( (binary_expression "0 < local_320" number_literal < identifier) )) (compound_statement "{\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }" { (expression_statement "plVar14 = local_368;" (assignment_expression "plVar14 = local_368" identifier = identifier) ;) (do_statement "do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);" do (compound_statement "{\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      }" { (expression_statement "*plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));" (assignment_expression "*plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c))" (pointer_expression "*plVar14" * identifier) = (cast_expression "(long)(local_2f8 + *(int *)((long)plVar14 + 0x1c))" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(local_2f8 + *(int *)((long)plVar14 + 0x1c))" ( (binary_expression "local_2f8 + *(int *)((long)plVar14 + 0x1c)" identifier + (pointer_expression "*(int *)((long)plVar14 + 0x1c)" * (cast_expression "(int *)((long)plVar14 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar14 + 0x1c)" ( (binary_expression "(long)plVar14 + 0x1c" (cast_expression "(long)plVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) )))) ;) (expression_statement "plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);" (assignment_expression "plVar14[1] = (long)(local_2f8 + (int)plVar14[4])" (subscript_expression "plVar14[1]" identifier [ number_literal ]) = (cast_expression "(long)(local_2f8 + (int)plVar14[4])" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(local_2f8 + (int)plVar14[4])" ( (binary_expression "local_2f8 + (int)plVar14[4]" identifier + (cast_expression "(int)plVar14[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar14[4]" identifier [ number_literal ]))) )))) ;) (expression_statement "plVar14 = plVar14 + 5;" (assignment_expression "plVar14 = plVar14 + 5" identifier = (binary_expression "plVar14 + 5" identifier + number_literal)) ;) }) while (parenthesized_expression "(plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5)" ( (binary_expression "plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5" identifier != (binary_expression "local_368 + (ulong)(local_320 - 1) * 5 + 5" (binary_expression "local_368 + (ulong)(local_320 - 1) * 5" identifier + (binary_expression "(ulong)(local_320 - 1) * 5" (call_expression "(ulong)(local_320 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_320 - 1)" ( (binary_expression "local_320 - 1" identifier - number_literal) ))) * number_literal)) + number_literal)) )) ;) })) (expression_statement "local_2b8 = local_368;" (assignment_expression "local_2b8 = local_368" identifier = identifier) ;) (expression_statement "local_2a8 = pbVar19 + 1;" (assignment_expression "local_2a8 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "local_2a0 = 0;" (assignment_expression "local_2a0 = 0" identifier = number_literal) ;) (expression_statement "local_298 = (void *)0x0;" (assignment_expression "local_298 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2b0 = pvVar11;" (assignment_expression "local_2b0 = pvVar11" identifier = identifier) ;) (if_statement "if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }" if (parenthesized_expression "(local_384 != 0)" ( (binary_expression "local_384 != 0" identifier != number_literal) )) (compound_statement "{\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }" { (if_statement "if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }" if (parenthesized_expression "(local_300 != (undefined8 *)0x0)" ( (binary_expression "local_300 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }" { (expression_statement "__n = (size_t)((int)pbVar20 - (int)local_3a0);" (assignment_expression "__n = (size_t)((int)pbVar20 - (int)local_3a0)" identifier = (cast_expression "(size_t)((int)pbVar20 - (int)local_3a0)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "((int)pbVar20 - (int)local_3a0)" ( (binary_expression "(int)pbVar20 - (int)local_3a0" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_3a0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar12 = local_300;" (assignment_expression "puVar12 = local_300" identifier = identifier) ;) (do_statement "do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);" do (compound_statement "{\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        }" { (if_statement "if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }" if (parenthesized_expression "((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0))" ( (binary_expression "(__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)" (parenthesized_expression "(__n == puVar12[1] - (long)*puVar12)" ( (binary_expression "__n == puVar12[1] - (long)*puVar12" identifier == (binary_expression "puVar12[1] - (long)*puVar12" (subscript_expression "puVar12[1]" identifier [ number_literal ]) - (cast_expression "(long)*puVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "*puVar12" * identifier)))) )) && (parenthesized_expression "(iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)" ( (comma_expression "iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0" (assignment_expression "iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n)" identifier = (call_expression "strncasecmp((char *)*puVar12,(char *)local_3a0,__n)" identifier (argument_list "((char *)*puVar12,(char *)local_3a0,__n)" ( (cast_expression "(char *)*puVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier)) , (cast_expression "(char *)local_3a0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }" { (if_statement "if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }" if (parenthesized_expression "(puVar12[2] != 0)" ( (binary_expression "puVar12[2] != 0" (subscript_expression "puVar12[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }" { (expression_statement "local_2a0 = puVar12[2];" (assignment_expression "local_2a0 = puVar12[2]" identifier = (subscript_expression "puVar12[2]" identifier [ number_literal ])) ;) (expression_statement "local_298 = pvVar11;" (assignment_expression "local_298 = pvVar11" identifier = identifier) ;) })) (expression_statement "FUN_0011dd1f(&local_308,&local_300,puVar12);" (call_expression "FUN_0011dd1f(&local_308,&local_300,puVar12)" identifier (argument_list "(&local_308,&local_300,puVar12)" ( (pointer_expression "&local_308" & identifier) , (pointer_expression "&local_300" & identifier) , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "puVar12 = (undefined8 *)puVar12[3];" (assignment_expression "puVar12 = (undefined8 *)puVar12[3]" identifier = (cast_expression "(undefined8 *)puVar12[3]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[3]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar12 != (undefined8 *)0x0)" ( (binary_expression "puVar12 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) })) (expression_statement "(*param_3)(&local_2c8,param_4);" (call_expression "(*param_3)(&local_2c8,param_4)" (parenthesized_expression "(*param_3)" ( (pointer_expression "*param_3" * identifier) )) (argument_list "(&local_2c8,param_4)" ( (pointer_expression "&local_2c8" & identifier) , identifier ))) ;) (expression_statement "param_1 = pbVar19;" (assignment_expression "param_1 = pbVar19" identifier = identifier) ;) (if_statement "if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }" if (parenthesized_expression "(*pbVar19 != 0x3c)" ( (binary_expression "*pbVar19 != 0x3c" (pointer_expression "*pbVar19" * identifier) != number_literal) )) (compound_statement "{\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }" { (labeled_statement "joined_r0x0011ef79:\n      param_1 = pbVar19 + 1;" statement_identifier : (expression_statement "param_1 = pbVar19 + 1;" (assignment_expression "param_1 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;)) (if_statement "if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar19 + 1)" ( (binary_expression "pbVar2 <= pbVar19 + 1" identifier <= (binary_expression "pbVar19 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;) })) (labeled_statement "LAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" statement_identifier : (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) (while_statement "while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }" while (parenthesized_expression "(pbVar18[1] == 0x2d)" ( (binary_expression "pbVar18[1] == 0x2d" (subscript_expression "pbVar18[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }" { (labeled_statement "LAB_0011e89e:\n    pbVar18 = pbVar20;" statement_identifier : (expression_statement "pbVar18 = pbVar20;" (assignment_expression "pbVar18 = pbVar20" identifier = identifier) ;)) (expression_statement "pbVar20 = pbVar18 + 1;" (assignment_expression "pbVar20 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 == pbVar20) goto LAB_0011e685;" if (parenthesized_expression "(pbVar2 == pbVar20)" ( (binary_expression "pbVar2 == pbVar20" identifier == identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) })) (expression_statement "pbVar1 = pbVar20;" (assignment_expression "pbVar1 = pbVar20" identifier = identifier) ;) (if_statement "if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;" if (parenthesized_expression "(pbVar18[1] == 0x3e)" ( (binary_expression "pbVar18[1] == 0x3e" (subscript_expression "pbVar18[1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto code_r0x0011e8b9;" goto statement_identifier ;)) (goto_statement "goto LAB_0011e86d;" goto statement_identifier ;) (labeled_statement "code_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;" statement_identifier : (expression_statement "pbVar20 = pbVar18 + 2;" (assignment_expression "pbVar20 = pbVar18 + 2" identifier = (binary_expression "pbVar18 + 2" identifier + number_literal)) ;)) (labeled_statement "LAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;" statement_identifier : (if_statement "if (pbVar20 == (byte *)0x0) goto LAB_0011e685;" if (parenthesized_expression "(pbVar20 == (byte *)0x0)" ( (binary_expression "pbVar20 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;))) (labeled_statement "LAB_0011e8ee:\n  param_1 = pbVar20;" statement_identifier : (expression_statement "param_1 = pbVar20;" (assignment_expression "param_1 = pbVar20" identifier = identifier) ;)) (if_statement "if (pbVar20 == pbVar2) goto LAB_0011e719;" if (parenthesized_expression "(pbVar20 == pbVar2)" ( (binary_expression "pbVar20 == pbVar2" identifier == identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;) (labeled_statement "LAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;" statement_identifier : (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;)) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (goto_statement "goto LAB_0011eb7b;" goto statement_identifier ;) (labeled_statement "LAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }" statement_identifier : (if_statement "if (local_2e8 != '\0') {\n    free(local_2f8);\n  }" if (parenthesized_expression "(local_2e8 != '\0')" ( (binary_expression "local_2e8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    free(local_2f8);\n  }" { (expression_statement "free(local_2f8);" (call_expression "free(local_2f8)" identifier (argument_list "(local_2f8)" ( identifier ))) ;) }))) (expression_statement "local_2f8 = local_2e0;" (assignment_expression "local_2f8 = local_2e0" identifier = identifier) ;) (expression_statement "local_2f0 = local_2d8;" (assignment_expression "local_2f0 = local_2d8" identifier = identifier) ;) (expression_statement "local_2ec = 0;" (assignment_expression "local_2ec = 0" identifier = number_literal) ;) (expression_statement "local_2e8 = 0;" (assignment_expression "local_2e8 = 0" identifier = number_literal) ;) (if_statement "if (local_380 != '\0') {\n    free(local_368);\n  }" if (parenthesized_expression "(local_380 != '\0')" ( (binary_expression "local_380 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    free(local_368);\n  }" { (expression_statement "free(local_368);" (call_expression "free(local_368)" identifier (argument_list "(local_368)" ( identifier ))) ;) })) (expression_statement "FUN_0011dd1f(&local_308,&local_300,local_308);" (call_expression "FUN_0011dd1f(&local_308,&local_300,local_308)" identifier (argument_list "(&local_308,&local_300,local_308)" ( (pointer_expression "&local_308" & identifier) , (pointer_expression "&local_300" & identifier) , identifier ))) ;) (goto_statement "goto LAB_0011e780;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x0011ea16) */\n/* WARNING: Removing unreachable block (ram,0x0011e8e7) */\n/* WARNING: Removing unreachable block (ram,0x0011e8ea) */\n\nvoid map_html_tags(char *text,int size,_func_void_taginfo_ptr_void_ptr *mapfun,void *maparg,\n                  int flags,hash_table *allowed_tags,hash_table *allowed_attributes)\n\n{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  long lVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  long lVar9;\n  _Bool _Var10;\n  _Bool _Var11;\n  int iVar12;\n  char *pcVar13;\n  tagstack_item *ptVar14;\n  long lVar15;\n  attr_pair *paVar16;\n  long lVar17;\n  byte *e;\n  byte *pbVar18;\n  byte *b;\n  byte *pbVar19;\n  long lVar20;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar21;\n  bool bVar22;\n  byte *local_3a0;\n  int local_384;\n  _Bool local_380;\n  attr_pair *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  tagstack_item *head;\n  tagstack_item *tail;\n  pool pool;\n  taginfo taginfo;\n  attr_pair attr_pair_initial_storage [8];\n  char pool_initial_storage [256];\n  \n  lVar5 = *(long *)(in_FS_OFFSET + 0x28);\n  head = (tagstack_item *)0x0;\n  tail = (tagstack_item *)0x0;\n  if (size != 0) {\n    pbVar2 = (byte *)(text + size);\n    pool.contents = pool_initial_storage;\n    pool.size = 0x100;\n    pool.resized = false;\n    pool.orig_size = 0x100;\n    local_368 = attr_pair_initial_storage;\n    local_380 = false;\n    local_34c = 8;\n    pool.orig_contents = pool.contents;\nLAB_0011e685:\n    do {\n      pool.tail = 0;\n      pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text);\n      if ((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      text = (char *)pbVar1;\n      if (pcVar13[1] == '!') {\n        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar19 = pbVar1;\n      local_3a0 = pbVar1;\n      if (pcVar13[1] == '/') {\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar19;\n      }\n      while( true ) {\n        bVar3 = *pbVar19;\n        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar7 = 2 < (byte)(bVar3 - 0x3c);\n        bVar21 = bVar3 != 0x2f;\n        if ((!bVar6 || !bVar7) || !bVar21) break;\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar19;\n      text = (char *)pbVar19;\n    } while (local_3a0 == pbVar19);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      ptVar14 = (tagstack_item *)xmalloc(0x28);\n      if (head == (tagstack_item *)0x0) {\n        ptVar14->next = (tagstack_item *)0x0;\n        ptVar14->prev = (tagstack_item *)0x0;\n        head = ptVar14;\n      }\n      else {\n        tail->next = ptVar14;\n        ptVar14->prev = tail;\n        ptVar14->next = (tagstack_item *)0x0;\n      }\n      ptVar14->tagname_begin = (char *)local_3a0;\n      ptVar14->tagname_end = (char *)pbVar19;\n      ptVar14->contents_begin = (char *)0x0;\n      tail = ptVar14;\n    }\n    else {\n      text = (char *)pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    _Var10 = name_allowed(allowed_tags,(char *)local_3a0,(char *)pbVar19);\n    if (_Var10) {\n      convert_and_copy(&pool,(char *)local_3a0,(char *)pbVar19,1);\n    }\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    b = pbVar18;\n    if (bVar3 == 0x2f) {\n      b = pbVar18 + 1;\n      if (pbVar2 <= b) goto LAB_0011e719;\n      while ((bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n        b = b + 1;\n        if (pbVar2 == b) goto LAB_0011e719;\n      }\n      text = (char *)pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    e = b;\n    if ((*b & 0xfd) != 0x3c) {\n      while ((bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)\n             )) {\n        e = e + 1;\n        if (pbVar2 <= e) goto LAB_0011e719;\n      }\n      pbVar18 = e;\n      text = (char *)pbVar1;\n      if (b == e) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = b;\n      local_338 = b;\n      local_330 = e;\n      local_328 = e;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar22 = (bVar3 & 0xfd) == 0x3c;\n        bVar8 = bVar22 || bVar3 == 0x2f;\n        if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)) {\n        lVar15 = (long)(local_320 + 1);\n        lVar17 = (long)local_34c;\n        lVar9 = lVar17;\n        if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }\n        local_368[local_320].name_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)b,(char *)e,1);\n        local_368[local_320].value_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);\n        local_368[local_320].value_raw_beginning = (char *)local_340;\n        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (tail != (tagstack_item *)0x0)) &&\n       ((byte *)tail->tagname_begin == local_3a0)) {\n      tail->contents_begin = (char *)(b + 1);\n    }\n    if (!_Var10 || (bVar6 && bVar7) && bVar21) goto joined_r0x0011ef79;\n    taginfo.name = pool.contents;\n    taginfo.end_tag_p = local_384;\n    taginfo.nattrs = local_320;\n    if (0 < local_320) {\n      paVar16 = local_368;\n      do {\n        paVar16->name = pool.contents + paVar16->name_pool_index;\n        paVar16->value = pool.contents + paVar16->value_pool_index;\n        paVar16 = paVar16 + 1;\n      } while (paVar16 != local_368 + (ulong)(local_320 - 1) + 1);\n    }\n    taginfo.attrs = local_368;\n    taginfo.end_position = (char *)(b + 1);\n    taginfo.contents_begin = (char *)0x0;\n    taginfo.contents_end = (char *)0x0;\n    taginfo.start_position = pcVar13;\n    if (local_384 != 0) {\n      if (tail != (tagstack_item *)0x0) {\n        __n = (size_t)((int)pbVar19 - (int)local_3a0);\n        ptVar14 = tail;\n        do {\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        } while (ptVar14 != (tagstack_item *)0x0);\n      }\n    }\n    (*mapfun)(&taginfo,maparg);\n    text = (char *)b;\n    if (*b != 0x3c) {\njoined_r0x0011ef79:\n      text = (char *)(b + 1);\n      if (pbVar2 <= b + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (lVar5 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar19;\n    pbVar19 = pbVar18 + 1;\n    if (pbVar2 == pbVar19) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar19;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar19 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar19 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  text = (char *)pbVar19;\n  if (pbVar19 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (pool.resized != false) {\n    free(pool.contents);\n  }\n  pool.contents = pool.orig_contents;\n  pool.size = pool.orig_size;\n  pool.tail = 0;\n  pool.resized = false;\n  if (local_380 != false) {\n    free(local_368);\n  }\n  tagstack_pop(&head,&tail,head);\n  goto LAB_0011e780;\n}\n\n" comment comment comment (function_definition "void map_html_tags(char *text,int size,_func_void_taginfo_ptr_void_ptr *mapfun,void *maparg,\n                  int flags,hash_table *allowed_tags,hash_table *allowed_attributes)\n\n{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  long lVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  long lVar9;\n  _Bool _Var10;\n  _Bool _Var11;\n  int iVar12;\n  char *pcVar13;\n  tagstack_item *ptVar14;\n  long lVar15;\n  attr_pair *paVar16;\n  long lVar17;\n  byte *e;\n  byte *pbVar18;\n  byte *b;\n  byte *pbVar19;\n  long lVar20;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar21;\n  bool bVar22;\n  byte *local_3a0;\n  int local_384;\n  _Bool local_380;\n  attr_pair *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  tagstack_item *head;\n  tagstack_item *tail;\n  pool pool;\n  taginfo taginfo;\n  attr_pair attr_pair_initial_storage [8];\n  char pool_initial_storage [256];\n  \n  lVar5 = *(long *)(in_FS_OFFSET + 0x28);\n  head = (tagstack_item *)0x0;\n  tail = (tagstack_item *)0x0;\n  if (size != 0) {\n    pbVar2 = (byte *)(text + size);\n    pool.contents = pool_initial_storage;\n    pool.size = 0x100;\n    pool.resized = false;\n    pool.orig_size = 0x100;\n    local_368 = attr_pair_initial_storage;\n    local_380 = false;\n    local_34c = 8;\n    pool.orig_contents = pool.contents;\nLAB_0011e685:\n    do {\n      pool.tail = 0;\n      pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text);\n      if ((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      text = (char *)pbVar1;\n      if (pcVar13[1] == '!') {\n        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar19 = pbVar1;\n      local_3a0 = pbVar1;\n      if (pcVar13[1] == '/') {\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar19;\n      }\n      while( true ) {\n        bVar3 = *pbVar19;\n        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar7 = 2 < (byte)(bVar3 - 0x3c);\n        bVar21 = bVar3 != 0x2f;\n        if ((!bVar6 || !bVar7) || !bVar21) break;\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar19;\n      text = (char *)pbVar19;\n    } while (local_3a0 == pbVar19);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      ptVar14 = (tagstack_item *)xmalloc(0x28);\n      if (head == (tagstack_item *)0x0) {\n        ptVar14->next = (tagstack_item *)0x0;\n        ptVar14->prev = (tagstack_item *)0x0;\n        head = ptVar14;\n      }\n      else {\n        tail->next = ptVar14;\n        ptVar14->prev = tail;\n        ptVar14->next = (tagstack_item *)0x0;\n      }\n      ptVar14->tagname_begin = (char *)local_3a0;\n      ptVar14->tagname_end = (char *)pbVar19;\n      ptVar14->contents_begin = (char *)0x0;\n      tail = ptVar14;\n    }\n    else {\n      text = (char *)pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    _Var10 = name_allowed(allowed_tags,(char *)local_3a0,(char *)pbVar19);\n    if (_Var10) {\n      convert_and_copy(&pool,(char *)local_3a0,(char *)pbVar19,1);\n    }\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    b = pbVar18;\n    if (bVar3 == 0x2f) {\n      b = pbVar18 + 1;\n      if (pbVar2 <= b) goto LAB_0011e719;\n      while ((bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n        b = b + 1;\n        if (pbVar2 == b) goto LAB_0011e719;\n      }\n      text = (char *)pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    e = b;\n    if ((*b & 0xfd) != 0x3c) {\n      while ((bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)\n             )) {\n        e = e + 1;\n        if (pbVar2 <= e) goto LAB_0011e719;\n      }\n      pbVar18 = e;\n      text = (char *)pbVar1;\n      if (b == e) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = b;\n      local_338 = b;\n      local_330 = e;\n      local_328 = e;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar22 = (bVar3 & 0xfd) == 0x3c;\n        bVar8 = bVar22 || bVar3 == 0x2f;\n        if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)) {\n        lVar15 = (long)(local_320 + 1);\n        lVar17 = (long)local_34c;\n        lVar9 = lVar17;\n        if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }\n        local_368[local_320].name_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)b,(char *)e,1);\n        local_368[local_320].value_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);\n        local_368[local_320].value_raw_beginning = (char *)local_340;\n        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (tail != (tagstack_item *)0x0)) &&\n       ((byte *)tail->tagname_begin == local_3a0)) {\n      tail->contents_begin = (char *)(b + 1);\n    }\n    if (!_Var10 || (bVar6 && bVar7) && bVar21) goto joined_r0x0011ef79;\n    taginfo.name = pool.contents;\n    taginfo.end_tag_p = local_384;\n    taginfo.nattrs = local_320;\n    if (0 < local_320) {\n      paVar16 = local_368;\n      do {\n        paVar16->name = pool.contents + paVar16->name_pool_index;\n        paVar16->value = pool.contents + paVar16->value_pool_index;\n        paVar16 = paVar16 + 1;\n      } while (paVar16 != local_368 + (ulong)(local_320 - 1) + 1);\n    }\n    taginfo.attrs = local_368;\n    taginfo.end_position = (char *)(b + 1);\n    taginfo.contents_begin = (char *)0x0;\n    taginfo.contents_end = (char *)0x0;\n    taginfo.start_position = pcVar13;\n    if (local_384 != 0) {\n      if (tail != (tagstack_item *)0x0) {\n        __n = (size_t)((int)pbVar19 - (int)local_3a0);\n        ptVar14 = tail;\n        do {\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        } while (ptVar14 != (tagstack_item *)0x0);\n      }\n    }\n    (*mapfun)(&taginfo,maparg);\n    text = (char *)b;\n    if (*b != 0x3c) {\njoined_r0x0011ef79:\n      text = (char *)(b + 1);\n      if (pbVar2 <= b + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (lVar5 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar19;\n    pbVar19 = pbVar18 + 1;\n    if (pbVar2 == pbVar19) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar19;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar19 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar19 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  text = (char *)pbVar19;\n  if (pbVar19 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (pool.resized != false) {\n    free(pool.contents);\n  }\n  pool.contents = pool.orig_contents;\n  pool.size = pool.orig_size;\n  pool.tail = 0;\n  pool.resized = false;\n  if (local_380 != false) {\n    free(local_368);\n  }\n  tagstack_pop(&head,&tail,head);\n  goto LAB_0011e780;\n}" primitive_type (function_declarator "map_html_tags(char *text,int size,_func_void_taginfo_ptr_void_ptr *mapfun,void *maparg,\n                  int flags,hash_table *allowed_tags,hash_table *allowed_attributes)" identifier (parameter_list "(char *text,int size,_func_void_taginfo_ptr_void_ptr *mapfun,void *maparg,\n                  int flags,hash_table *allowed_tags,hash_table *allowed_attributes)" ( (parameter_declaration "char *text" primitive_type (pointer_declarator "*text" * identifier)) , (parameter_declaration "int size" primitive_type identifier) , (parameter_declaration "_func_void_taginfo_ptr_void_ptr *mapfun" type_identifier (pointer_declarator "*mapfun" * identifier)) , (parameter_declaration "void *maparg" primitive_type (pointer_declarator "*maparg" * identifier)) , (parameter_declaration "int flags" primitive_type identifier) , (parameter_declaration "hash_table *allowed_tags" type_identifier (pointer_declarator "*allowed_tags" * identifier)) , (parameter_declaration "hash_table *allowed_attributes" type_identifier (pointer_declarator "*allowed_attributes" * identifier)) ))) (compound_statement "{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  long lVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  long lVar9;\n  _Bool _Var10;\n  _Bool _Var11;\n  int iVar12;\n  char *pcVar13;\n  tagstack_item *ptVar14;\n  long lVar15;\n  attr_pair *paVar16;\n  long lVar17;\n  byte *e;\n  byte *pbVar18;\n  byte *b;\n  byte *pbVar19;\n  long lVar20;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar21;\n  bool bVar22;\n  byte *local_3a0;\n  int local_384;\n  _Bool local_380;\n  attr_pair *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  tagstack_item *head;\n  tagstack_item *tail;\n  pool pool;\n  taginfo taginfo;\n  attr_pair attr_pair_initial_storage [8];\n  char pool_initial_storage [256];\n  \n  lVar5 = *(long *)(in_FS_OFFSET + 0x28);\n  head = (tagstack_item *)0x0;\n  tail = (tagstack_item *)0x0;\n  if (size != 0) {\n    pbVar2 = (byte *)(text + size);\n    pool.contents = pool_initial_storage;\n    pool.size = 0x100;\n    pool.resized = false;\n    pool.orig_size = 0x100;\n    local_368 = attr_pair_initial_storage;\n    local_380 = false;\n    local_34c = 8;\n    pool.orig_contents = pool.contents;\nLAB_0011e685:\n    do {\n      pool.tail = 0;\n      pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text);\n      if ((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      text = (char *)pbVar1;\n      if (pcVar13[1] == '!') {\n        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar19 = pbVar1;\n      local_3a0 = pbVar1;\n      if (pcVar13[1] == '/') {\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar19;\n      }\n      while( true ) {\n        bVar3 = *pbVar19;\n        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar7 = 2 < (byte)(bVar3 - 0x3c);\n        bVar21 = bVar3 != 0x2f;\n        if ((!bVar6 || !bVar7) || !bVar21) break;\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar19;\n      text = (char *)pbVar19;\n    } while (local_3a0 == pbVar19);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      ptVar14 = (tagstack_item *)xmalloc(0x28);\n      if (head == (tagstack_item *)0x0) {\n        ptVar14->next = (tagstack_item *)0x0;\n        ptVar14->prev = (tagstack_item *)0x0;\n        head = ptVar14;\n      }\n      else {\n        tail->next = ptVar14;\n        ptVar14->prev = tail;\n        ptVar14->next = (tagstack_item *)0x0;\n      }\n      ptVar14->tagname_begin = (char *)local_3a0;\n      ptVar14->tagname_end = (char *)pbVar19;\n      ptVar14->contents_begin = (char *)0x0;\n      tail = ptVar14;\n    }\n    else {\n      text = (char *)pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    _Var10 = name_allowed(allowed_tags,(char *)local_3a0,(char *)pbVar19);\n    if (_Var10) {\n      convert_and_copy(&pool,(char *)local_3a0,(char *)pbVar19,1);\n    }\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    b = pbVar18;\n    if (bVar3 == 0x2f) {\n      b = pbVar18 + 1;\n      if (pbVar2 <= b) goto LAB_0011e719;\n      while ((bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n        b = b + 1;\n        if (pbVar2 == b) goto LAB_0011e719;\n      }\n      text = (char *)pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    e = b;\n    if ((*b & 0xfd) != 0x3c) {\n      while ((bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)\n             )) {\n        e = e + 1;\n        if (pbVar2 <= e) goto LAB_0011e719;\n      }\n      pbVar18 = e;\n      text = (char *)pbVar1;\n      if (b == e) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = b;\n      local_338 = b;\n      local_330 = e;\n      local_328 = e;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar22 = (bVar3 & 0xfd) == 0x3c;\n        bVar8 = bVar22 || bVar3 == 0x2f;\n        if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)) {\n        lVar15 = (long)(local_320 + 1);\n        lVar17 = (long)local_34c;\n        lVar9 = lVar17;\n        if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }\n        local_368[local_320].name_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)b,(char *)e,1);\n        local_368[local_320].value_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);\n        local_368[local_320].value_raw_beginning = (char *)local_340;\n        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (tail != (tagstack_item *)0x0)) &&\n       ((byte *)tail->tagname_begin == local_3a0)) {\n      tail->contents_begin = (char *)(b + 1);\n    }\n    if (!_Var10 || (bVar6 && bVar7) && bVar21) goto joined_r0x0011ef79;\n    taginfo.name = pool.contents;\n    taginfo.end_tag_p = local_384;\n    taginfo.nattrs = local_320;\n    if (0 < local_320) {\n      paVar16 = local_368;\n      do {\n        paVar16->name = pool.contents + paVar16->name_pool_index;\n        paVar16->value = pool.contents + paVar16->value_pool_index;\n        paVar16 = paVar16 + 1;\n      } while (paVar16 != local_368 + (ulong)(local_320 - 1) + 1);\n    }\n    taginfo.attrs = local_368;\n    taginfo.end_position = (char *)(b + 1);\n    taginfo.contents_begin = (char *)0x0;\n    taginfo.contents_end = (char *)0x0;\n    taginfo.start_position = pcVar13;\n    if (local_384 != 0) {\n      if (tail != (tagstack_item *)0x0) {\n        __n = (size_t)((int)pbVar19 - (int)local_3a0);\n        ptVar14 = tail;\n        do {\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        } while (ptVar14 != (tagstack_item *)0x0);\n      }\n    }\n    (*mapfun)(&taginfo,maparg);\n    text = (char *)b;\n    if (*b != 0x3c) {\njoined_r0x0011ef79:\n      text = (char *)(b + 1);\n      if (pbVar2 <= b + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (lVar5 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar19;\n    pbVar19 = pbVar18 + 1;\n    if (pbVar2 == pbVar19) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar19;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar19 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar19 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  text = (char *)pbVar19;\n  if (pbVar19 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (pool.resized != false) {\n    free(pool.contents);\n  }\n  pool.contents = pool.orig_contents;\n  pool.size = pool.orig_size;\n  pool.tail = 0;\n  pool.resized = false;\n  if (local_380 != false) {\n    free(local_368);\n  }\n  tagstack_pop(&head,&tail,head);\n  goto LAB_0011e780;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "_Bool _Var10;" type_identifier identifier ;) (declaration "_Bool _Var11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "tagstack_item *ptVar14;" type_identifier (pointer_declarator "*ptVar14" * identifier) ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "attr_pair *paVar16;" type_identifier (pointer_declarator "*paVar16" * identifier) ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *e;" type_identifier (pointer_declarator "*e" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *b;" type_identifier (pointer_declarator "*b" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "long lVar20;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "byte *local_3a0;" type_identifier (pointer_declarator "*local_3a0" * identifier) ;) (declaration "int local_384;" primitive_type identifier ;) (declaration "_Bool local_380;" type_identifier identifier ;) (declaration "attr_pair *local_368;" type_identifier (pointer_declarator "*local_368" * identifier) ;) (declaration "int local_34c;" primitive_type identifier ;) (declaration "byte *local_340;" type_identifier (pointer_declarator "*local_340" * identifier) ;) (declaration "byte *local_338;" type_identifier (pointer_declarator "*local_338" * identifier) ;) (declaration "byte *local_330;" type_identifier (pointer_declarator "*local_330" * identifier) ;) (declaration "byte *local_328;" type_identifier (pointer_declarator "*local_328" * identifier) ;) (declaration "int local_320;" primitive_type identifier ;) (declaration "int local_31c;" primitive_type identifier ;) (declaration "tagstack_item *head;" type_identifier (pointer_declarator "*head" * identifier) ;) (declaration "tagstack_item *tail;" type_identifier (pointer_declarator "*tail" * identifier) ;) (declaration "pool pool;" type_identifier identifier ;) (declaration "taginfo taginfo;" type_identifier identifier ;) (declaration "attr_pair attr_pair_initial_storage [8];" type_identifier (array_declarator "attr_pair_initial_storage [8]" identifier [ number_literal ]) ;) (declaration "char pool_initial_storage [256];" primitive_type (array_declarator "pool_initial_storage [256]" identifier [ number_literal ]) ;) (expression_statement "lVar5 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar5 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "head = (tagstack_item *)0x0;" (assignment_expression "head = (tagstack_item *)0x0" identifier = (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "tail = (tagstack_item *)0x0;" (assignment_expression "tail = (tagstack_item *)0x0" identifier = (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (size != 0) {\n    pbVar2 = (byte *)(text + size);\n    pool.contents = pool_initial_storage;\n    pool.size = 0x100;\n    pool.resized = false;\n    pool.orig_size = 0x100;\n    local_368 = attr_pair_initial_storage;\n    local_380 = false;\n    local_34c = 8;\n    pool.orig_contents = pool.contents;\nLAB_0011e685:\n    do {\n      pool.tail = 0;\n      pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text);\n      if ((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      text = (char *)pbVar1;\n      if (pcVar13[1] == '!') {\n        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar19 = pbVar1;\n      local_3a0 = pbVar1;\n      if (pcVar13[1] == '/') {\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar19;\n      }\n      while( true ) {\n        bVar3 = *pbVar19;\n        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar7 = 2 < (byte)(bVar3 - 0x3c);\n        bVar21 = bVar3 != 0x2f;\n        if ((!bVar6 || !bVar7) || !bVar21) break;\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar19;\n      text = (char *)pbVar19;\n    } while (local_3a0 == pbVar19);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      ptVar14 = (tagstack_item *)xmalloc(0x28);\n      if (head == (tagstack_item *)0x0) {\n        ptVar14->next = (tagstack_item *)0x0;\n        ptVar14->prev = (tagstack_item *)0x0;\n        head = ptVar14;\n      }\n      else {\n        tail->next = ptVar14;\n        ptVar14->prev = tail;\n        ptVar14->next = (tagstack_item *)0x0;\n      }\n      ptVar14->tagname_begin = (char *)local_3a0;\n      ptVar14->tagname_end = (char *)pbVar19;\n      ptVar14->contents_begin = (char *)0x0;\n      tail = ptVar14;\n    }\n    else {\n      text = (char *)pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    _Var10 = name_allowed(allowed_tags,(char *)local_3a0,(char *)pbVar19);\n    if (_Var10) {\n      convert_and_copy(&pool,(char *)local_3a0,(char *)pbVar19,1);\n    }\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    b = pbVar18;\n    if (bVar3 == 0x2f) {\n      b = pbVar18 + 1;\n      if (pbVar2 <= b) goto LAB_0011e719;\n      while ((bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n        b = b + 1;\n        if (pbVar2 == b) goto LAB_0011e719;\n      }\n      text = (char *)pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    e = b;\n    if ((*b & 0xfd) != 0x3c) {\n      while ((bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)\n             )) {\n        e = e + 1;\n        if (pbVar2 <= e) goto LAB_0011e719;\n      }\n      pbVar18 = e;\n      text = (char *)pbVar1;\n      if (b == e) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = b;\n      local_338 = b;\n      local_330 = e;\n      local_328 = e;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar22 = (bVar3 & 0xfd) == 0x3c;\n        bVar8 = bVar22 || bVar3 == 0x2f;\n        if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)) {\n        lVar15 = (long)(local_320 + 1);\n        lVar17 = (long)local_34c;\n        lVar9 = lVar17;\n        if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }\n        local_368[local_320].name_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)b,(char *)e,1);\n        local_368[local_320].value_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);\n        local_368[local_320].value_raw_beginning = (char *)local_340;\n        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (tail != (tagstack_item *)0x0)) &&\n       ((byte *)tail->tagname_begin == local_3a0)) {\n      tail->contents_begin = (char *)(b + 1);\n    }\n    if (!_Var10 || (bVar6 && bVar7) && bVar21) goto joined_r0x0011ef79;\n    taginfo.name = pool.contents;\n    taginfo.end_tag_p = local_384;\n    taginfo.nattrs = local_320;\n    if (0 < local_320) {\n      paVar16 = local_368;\n      do {\n        paVar16->name = pool.contents + paVar16->name_pool_index;\n        paVar16->value = pool.contents + paVar16->value_pool_index;\n        paVar16 = paVar16 + 1;\n      } while (paVar16 != local_368 + (ulong)(local_320 - 1) + 1);\n    }\n    taginfo.attrs = local_368;\n    taginfo.end_position = (char *)(b + 1);\n    taginfo.contents_begin = (char *)0x0;\n    taginfo.contents_end = (char *)0x0;\n    taginfo.start_position = pcVar13;\n    if (local_384 != 0) {\n      if (tail != (tagstack_item *)0x0) {\n        __n = (size_t)((int)pbVar19 - (int)local_3a0);\n        ptVar14 = tail;\n        do {\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        } while (ptVar14 != (tagstack_item *)0x0);\n      }\n    }\n    (*mapfun)(&taginfo,maparg);\n    text = (char *)b;\n    if (*b != 0x3c) {\njoined_r0x0011ef79:\n      text = (char *)(b + 1);\n      if (pbVar2 <= b + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }" if (parenthesized_expression "(size != 0)" ( (binary_expression "size != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar2 = (byte *)(text + size);\n    pool.contents = pool_initial_storage;\n    pool.size = 0x100;\n    pool.resized = false;\n    pool.orig_size = 0x100;\n    local_368 = attr_pair_initial_storage;\n    local_380 = false;\n    local_34c = 8;\n    pool.orig_contents = pool.contents;\nLAB_0011e685:\n    do {\n      pool.tail = 0;\n      pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text);\n      if ((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      text = (char *)pbVar1;\n      if (pcVar13[1] == '!') {\n        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar19 = pbVar1;\n      local_3a0 = pbVar1;\n      if (pcVar13[1] == '/') {\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar19;\n      }\n      while( true ) {\n        bVar3 = *pbVar19;\n        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar7 = 2 < (byte)(bVar3 - 0x3c);\n        bVar21 = bVar3 != 0x2f;\n        if ((!bVar6 || !bVar7) || !bVar21) break;\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar19;\n      text = (char *)pbVar19;\n    } while (local_3a0 == pbVar19);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      ptVar14 = (tagstack_item *)xmalloc(0x28);\n      if (head == (tagstack_item *)0x0) {\n        ptVar14->next = (tagstack_item *)0x0;\n        ptVar14->prev = (tagstack_item *)0x0;\n        head = ptVar14;\n      }\n      else {\n        tail->next = ptVar14;\n        ptVar14->prev = tail;\n        ptVar14->next = (tagstack_item *)0x0;\n      }\n      ptVar14->tagname_begin = (char *)local_3a0;\n      ptVar14->tagname_end = (char *)pbVar19;\n      ptVar14->contents_begin = (char *)0x0;\n      tail = ptVar14;\n    }\n    else {\n      text = (char *)pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    _Var10 = name_allowed(allowed_tags,(char *)local_3a0,(char *)pbVar19);\n    if (_Var10) {\n      convert_and_copy(&pool,(char *)local_3a0,(char *)pbVar19,1);\n    }\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    b = pbVar18;\n    if (bVar3 == 0x2f) {\n      b = pbVar18 + 1;\n      if (pbVar2 <= b) goto LAB_0011e719;\n      while ((bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n        b = b + 1;\n        if (pbVar2 == b) goto LAB_0011e719;\n      }\n      text = (char *)pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    e = b;\n    if ((*b & 0xfd) != 0x3c) {\n      while ((bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)\n             )) {\n        e = e + 1;\n        if (pbVar2 <= e) goto LAB_0011e719;\n      }\n      pbVar18 = e;\n      text = (char *)pbVar1;\n      if (b == e) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = b;\n      local_338 = b;\n      local_330 = e;\n      local_328 = e;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar22 = (bVar3 & 0xfd) == 0x3c;\n        bVar8 = bVar22 || bVar3 == 0x2f;\n        if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)) {\n        lVar15 = (long)(local_320 + 1);\n        lVar17 = (long)local_34c;\n        lVar9 = lVar17;\n        if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }\n        local_368[local_320].name_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)b,(char *)e,1);\n        local_368[local_320].value_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);\n        local_368[local_320].value_raw_beginning = (char *)local_340;\n        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (tail != (tagstack_item *)0x0)) &&\n       ((byte *)tail->tagname_begin == local_3a0)) {\n      tail->contents_begin = (char *)(b + 1);\n    }\n    if (!_Var10 || (bVar6 && bVar7) && bVar21) goto joined_r0x0011ef79;\n    taginfo.name = pool.contents;\n    taginfo.end_tag_p = local_384;\n    taginfo.nattrs = local_320;\n    if (0 < local_320) {\n      paVar16 = local_368;\n      do {\n        paVar16->name = pool.contents + paVar16->name_pool_index;\n        paVar16->value = pool.contents + paVar16->value_pool_index;\n        paVar16 = paVar16 + 1;\n      } while (paVar16 != local_368 + (ulong)(local_320 - 1) + 1);\n    }\n    taginfo.attrs = local_368;\n    taginfo.end_position = (char *)(b + 1);\n    taginfo.contents_begin = (char *)0x0;\n    taginfo.contents_end = (char *)0x0;\n    taginfo.start_position = pcVar13;\n    if (local_384 != 0) {\n      if (tail != (tagstack_item *)0x0) {\n        __n = (size_t)((int)pbVar19 - (int)local_3a0);\n        ptVar14 = tail;\n        do {\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        } while (ptVar14 != (tagstack_item *)0x0);\n      }\n    }\n    (*mapfun)(&taginfo,maparg);\n    text = (char *)b;\n    if (*b != 0x3c) {\njoined_r0x0011ef79:\n      text = (char *)(b + 1);\n      if (pbVar2 <= b + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }" { (expression_statement "pbVar2 = (byte *)(text + size);" (assignment_expression "pbVar2 = (byte *)(text + size)" identifier = (cast_expression "(byte *)(text + size)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(text + size)" ( (binary_expression "text + size" identifier + identifier) )))) ;) (expression_statement "pool.contents = pool_initial_storage;" (assignment_expression "pool.contents = pool_initial_storage" (field_expression "pool.contents" identifier . field_identifier) = identifier) ;) (expression_statement "pool.size = 0x100;" (assignment_expression "pool.size = 0x100" (field_expression "pool.size" identifier . field_identifier) = number_literal) ;) (expression_statement "pool.resized = false;" (assignment_expression "pool.resized = false" (field_expression "pool.resized" identifier . field_identifier) = false) ;) (expression_statement "pool.orig_size = 0x100;" (assignment_expression "pool.orig_size = 0x100" (field_expression "pool.orig_size" identifier . field_identifier) = number_literal) ;) (expression_statement "local_368 = attr_pair_initial_storage;" (assignment_expression "local_368 = attr_pair_initial_storage" identifier = identifier) ;) (expression_statement "local_380 = false;" (assignment_expression "local_380 = false" identifier = false) ;) (expression_statement "local_34c = 8;" (assignment_expression "local_34c = 8" identifier = number_literal) ;) (expression_statement "pool.orig_contents = pool.contents;" (assignment_expression "pool.orig_contents = pool.contents" (field_expression "pool.orig_contents" identifier . field_identifier) = (field_expression "pool.contents" identifier . field_identifier)) ;) (labeled_statement "LAB_0011e685:\n    do {\n      pool.tail = 0;\n      pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text);\n      if ((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      text = (char *)pbVar1;\n      if (pcVar13[1] == '!') {\n        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar19 = pbVar1;\n      local_3a0 = pbVar1;\n      if (pcVar13[1] == '/') {\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar19;\n      }\n      while( true ) {\n        bVar3 = *pbVar19;\n        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar7 = 2 < (byte)(bVar3 - 0x3c);\n        bVar21 = bVar3 != 0x2f;\n        if ((!bVar6 || !bVar7) || !bVar21) break;\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar19;\n      text = (char *)pbVar19;\n    } while (local_3a0 == pbVar19);" statement_identifier : (do_statement "do {\n      pool.tail = 0;\n      pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text);\n      if ((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      text = (char *)pbVar1;\n      if (pcVar13[1] == '!') {\n        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar19 = pbVar1;\n      local_3a0 = pbVar1;\n      if (pcVar13[1] == '/') {\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar19;\n      }\n      while( true ) {\n        bVar3 = *pbVar19;\n        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar7 = 2 < (byte)(bVar3 - 0x3c);\n        bVar21 = bVar3 != 0x2f;\n        if ((!bVar6 || !bVar7) || !bVar21) break;\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar19;\n      text = (char *)pbVar19;\n    } while (local_3a0 == pbVar19);" do (compound_statement "{\n      pool.tail = 0;\n      pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text);\n      if ((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      text = (char *)pbVar1;\n      if (pcVar13[1] == '!') {\n        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar19 = pbVar1;\n      local_3a0 = pbVar1;\n      if (pcVar13[1] == '/') {\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar19;\n      }\n      while( true ) {\n        bVar3 = *pbVar19;\n        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar7 = 2 < (byte)(bVar3 - 0x3c);\n        bVar21 = bVar3 != 0x2f;\n        if ((!bVar6 || !bVar7) || !bVar21) break;\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar19;\n      text = (char *)pbVar19;\n    }" { (expression_statement "pool.tail = 0;" (assignment_expression "pool.tail = 0" (field_expression "pool.tail" identifier . field_identifier) = number_literal) ;) (expression_statement "pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text);" (assignment_expression "pcVar13 = (char *)memchr(text,0x3c,(long)pbVar2 - (long)text)" identifier = (cast_expression "(char *)memchr(text,0x3c,(long)pbVar2 - (long)text)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "memchr(text,0x3c,(long)pbVar2 - (long)text)" identifier (argument_list "(text,0x3c,(long)pbVar2 - (long)text)" ( identifier , number_literal , (binary_expression "(long)pbVar2 - (long)text" (cast_expression "(long)pbVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)text" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))))) ;) (if_statement "if ((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;" if (parenthesized_expression "((pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1))" ( (binary_expression "(pcVar13 == (char *)0x0) || (pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1)" (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)) )) || (parenthesized_expression "(pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1)" ( (comma_expression "pbVar1 = (byte *)(pcVar13 + 1), pbVar2 <= pbVar1" (assignment_expression "pbVar1 = (byte *)(pcVar13 + 1)" identifier = (cast_expression "(byte *)(pcVar13 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 1)" ( (binary_expression "pcVar13 + 1" identifier + number_literal) )))) , (binary_expression "pbVar2 <= pbVar1" identifier <= identifier)) ))) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (expression_statement "text = (char *)pbVar1;" (assignment_expression "text = (char *)pbVar1" identifier = (cast_expression "(char *)pbVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pcVar13[1] == '!') {\n        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }" if (parenthesized_expression "(pcVar13[1] == '!')" ( (binary_expression "pcVar13[1] == '!'" (subscript_expression "pcVar13[1]" identifier [ number_literal ]) == (char_literal "'!'" ' character ')) )) (compound_statement "{\n        if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }" { (if_statement "if (((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')) {\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }" if (parenthesized_expression "(((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-'))" ( (binary_expression "((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')) &&\n           (pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')" (parenthesized_expression "((((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-'))" ( (binary_expression "(((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)) && (pcVar13[2] == '-')" (parenthesized_expression "(((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2))" ( (binary_expression "((flags & 1U) == 0) && (pcVar13 + 4 < pbVar2)" (parenthesized_expression "((flags & 1U) == 0)" ( (binary_expression "(flags & 1U) == 0" (parenthesized_expression "(flags & 1U)" ( (binary_expression "flags & 1U" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(pcVar13 + 4 < pbVar2)" ( (binary_expression "pcVar13 + 4 < pbVar2" (binary_expression "pcVar13 + 4" identifier + number_literal) < identifier) ))) )) && (parenthesized_expression "(pcVar13[2] == '-')" ( (binary_expression "pcVar13[2] == '-'" (subscript_expression "pcVar13[2]" identifier [ number_literal ]) == (char_literal "'-'" ' character ')) ))) )) && (parenthesized_expression "(pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-')" ( (comma_expression "pbVar1 = (byte *)(pcVar13 + 3), pcVar13[3] == '-'" (assignment_expression "pbVar1 = (byte *)(pcVar13 + 3)" identifier = (cast_expression "(byte *)(pcVar13 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 3)" ( (binary_expression "pcVar13 + 3" identifier + number_literal) )))) , (binary_expression "pcVar13[3] == '-'" (subscript_expression "pcVar13[3]" identifier [ number_literal ]) == (char_literal "'-'" ' character '))) ))) )) (compound_statement "{\nLAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }" { (labeled_statement "LAB_0011e86d:\n          while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" statement_identifier : (while_statement "while (pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2) {\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" while (parenthesized_expression "(pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2)" ( (comma_expression "pbVar19 = pbVar1, pbVar1 = pbVar19 + 3, pbVar1 < pbVar2" (assignment_expression "pbVar19 = pbVar1" identifier = identifier) , (comma_expression "pbVar1 = pbVar19 + 3, pbVar1 < pbVar2" (assignment_expression "pbVar1 = pbVar19 + 3" identifier = (binary_expression "pbVar19 + 3" identifier + number_literal)) , (binary_expression "pbVar1 < pbVar2" identifier < identifier))) )) (compound_statement "{\n            if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" { (if_statement "if (pbVar19[3] == 0x2d) {\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }" if (parenthesized_expression "(pbVar19[3] == 0x2d)" ( (binary_expression "pbVar19[3] == 0x2d" (subscript_expression "pbVar19[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);\n              if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }\n            }" { (do_statement "do {\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar19[2] == 0x2d);" do (compound_statement "{\n                pbVar19 = pbVar1;\n                if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar19 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              }" { (expression_statement "pbVar19 = pbVar1;" (assignment_expression "pbVar19 = pbVar1" identifier = identifier) ;) (if_statement "if (pbVar19[-1] == 0x2d) goto LAB_0011e89e;" if (parenthesized_expression "(pbVar19[-1] == 0x2d)" ( (binary_expression "pbVar19[-1] == 0x2d" (subscript_expression "pbVar19[-1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0011e89e;" goto statement_identifier ;)) (expression_statement "pbVar1 = pbVar19 + 2;" (assignment_expression "pbVar1 = pbVar19 + 2" identifier = (binary_expression "pbVar19 + 2" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar1) goto LAB_0011e685;" if (parenthesized_expression "(pbVar2 <= pbVar1)" ( (binary_expression "pbVar2 <= pbVar1" identifier <= identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) }) while (parenthesized_expression "(pbVar19[2] == 0x2d)" ( (binary_expression "pbVar19[2] == 0x2d" (subscript_expression "pbVar19[2]" identifier [ number_literal ]) == number_literal) )) ;) (if_statement "if ((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)) {\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }" if (parenthesized_expression "((pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d))" ( (binary_expression "(pbVar19[2] == 0x3e) && (pbVar19[1] == 0x2d)" (parenthesized_expression "(pbVar19[2] == 0x3e)" ( (binary_expression "pbVar19[2] == 0x3e" (subscript_expression "pbVar19[2]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(pbVar19[1] == 0x2d)" ( (binary_expression "pbVar19[1] == 0x2d" (subscript_expression "pbVar19[1]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n                pbVar19 = pbVar19 + 3;\n                goto LAB_0011e8bd;\n              }" { (expression_statement "pbVar19 = pbVar19 + 3;" (assignment_expression "pbVar19 = pbVar19 + 3" identifier = (binary_expression "pbVar19 + 3" identifier + number_literal)) ;) (goto_statement "goto LAB_0011e8bd;" goto statement_identifier ;) })) }) (else_clause "else if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }" else (if_statement "if (((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)) {\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }" if (parenthesized_expression "(((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d))" ( (binary_expression "((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)) && (pbVar19[1] == 0x2d)" (parenthesized_expression "((pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d))" ( (binary_expression "(pbVar19[3] == 0x3e) && (pbVar19[2] == 0x2d)" (parenthesized_expression "(pbVar19[3] == 0x3e)" ( (binary_expression "pbVar19[3] == 0x3e" (subscript_expression "pbVar19[3]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(pbVar19[2] == 0x2d)" ( (binary_expression "pbVar19[2] == 0x2d" (subscript_expression "pbVar19[2]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(pbVar19[1] == 0x2d)" ( (binary_expression "pbVar19[1] == 0x2d" (subscript_expression "pbVar19[1]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n              pbVar19 = pbVar19 + 4;\n              goto LAB_0011e8bd;\n            }" { (expression_statement "pbVar19 = pbVar19 + 4;" (assignment_expression "pbVar19 = pbVar19 + 4" identifier = (binary_expression "pbVar19 + 4" identifier + number_literal)) ;) (goto_statement "goto LAB_0011e8bd;" goto statement_identifier ;) })))) }))) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;) })) (expression_statement "pbVar19 = (byte *)(pcVar13 + 2);" (assignment_expression "pbVar19 = (byte *)(pcVar13 + 2)" identifier = (cast_expression "(byte *)(pcVar13 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 2)" ( (binary_expression "pcVar13 + 2" identifier + number_literal) )))) ;) (if_statement "if (pbVar2 != pbVar19) {\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }" if (parenthesized_expression "(pbVar2 != pbVar19)" ( (binary_expression "pbVar2 != pbVar19" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }" { comment comment (expression_statement "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);" (call_expression "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3)" (parenthesized_expression "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))" ( (pointer_expression "*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" * (cast_expression "(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" ( (binary_expression "(long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4" (cast_expression "(long)&switchD_0011ea36" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&switchD_0011ea36" & identifier)) (ERROR "::switchdataD_001558dc" : : identifier) + (cast_expression "(long)(int)UINT_001558e4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)UINT_001558e4" ( (type_descriptor "int" primitive_type) ) identifier))) )))) )) (argument_list "(3)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_0011e8ee;" goto statement_identifier ;) })) (expression_statement "local_384 = 0;" (assignment_expression "local_384 = 0" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar1;" (assignment_expression "pbVar19 = pbVar1" identifier = identifier) ;) (expression_statement "local_3a0 = pbVar1;" (assignment_expression "local_3a0 = pbVar1" identifier = identifier) ;) (if_statement "if (pcVar13[1] == '/') {\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar19;\n      }" if (parenthesized_expression "(pcVar13[1] == '/')" ( (binary_expression "pcVar13[1] == '/'" (subscript_expression "pcVar13[1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        pbVar19 = (byte *)(pcVar13 + 2);\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar19;\n      }" { (expression_statement "pbVar19 = (byte *)(pcVar13 + 2);" (assignment_expression "pbVar19 = (byte *)(pcVar13 + 2)" identifier = (cast_expression "(byte *)(pcVar13 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 2)" ( (binary_expression "pcVar13 + 2" identifier + number_literal) )))) ;) (if_statement "if (pbVar2 <= pbVar19) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar19)" ( (binary_expression "pbVar2 <= pbVar19" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (expression_statement "local_384 = 1;" (assignment_expression "local_384 = 1" identifier = number_literal) ;) (expression_statement "local_3a0 = pbVar19;" (assignment_expression "local_3a0 = pbVar19" identifier = identifier) ;) })) (while_statement "while( true ) {\n        bVar3 = *pbVar19;\n        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar7 = 2 < (byte)(bVar3 - 0x3c);\n        bVar21 = bVar3 != 0x2f;\n        if ((!bVar6 || !bVar7) || !bVar21) break;\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        bVar3 = *pbVar19;\n        bVar6 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar7 = 2 < (byte)(bVar3 - 0x3c);\n        bVar21 = bVar3 != 0x2f;\n        if ((!bVar6 || !bVar7) || !bVar21) break;\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      }" { (expression_statement "bVar3 = *pbVar19;" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (expression_statement "bVar6 = (byte)(bVar3 - 0x21) < 0x5e;" (assignment_expression "bVar6 = (byte)(bVar3 - 0x21) < 0x5e" identifier = (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x21)" ( (binary_expression "bVar3 - 0x21" identifier - number_literal) ))) < number_literal)) ;) (expression_statement "bVar7 = 2 < (byte)(bVar3 - 0x3c);" (assignment_expression "bVar7 = 2 < (byte)(bVar3 - 0x3c)" identifier = (binary_expression "2 < (byte)(bVar3 - 0x3c)" number_literal < (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x3c)" ( (binary_expression "bVar3 - 0x3c" identifier - number_literal) ))))) ;) (expression_statement "bVar21 = bVar3 != 0x2f;" (assignment_expression "bVar21 = bVar3 != 0x2f" identifier = (binary_expression "bVar3 != 0x2f" identifier != number_literal)) ;) (if_statement "if ((!bVar6 || !bVar7) || !bVar21) break;" if (parenthesized_expression "((!bVar6 || !bVar7) || !bVar21)" ( (binary_expression "(!bVar6 || !bVar7) || !bVar21" (parenthesized_expression "(!bVar6 || !bVar7)" ( (binary_expression "!bVar6 || !bVar7" (unary_expression "!bVar6" ! identifier) || (unary_expression "!bVar7" ! identifier)) )) || (unary_expression "!bVar21" ! identifier)) )) (break_statement "break;" break ;)) (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar19) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar19)" ( (binary_expression "pbVar2 <= pbVar19" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "pbVar18 = pbVar19;" (assignment_expression "pbVar18 = pbVar19" identifier = identifier) ;) (expression_statement "text = (char *)pbVar19;" (assignment_expression "text = (char *)pbVar19" identifier = (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(local_3a0 == pbVar19)" ( (binary_expression "local_3a0 == pbVar19" identifier == identifier) )) ;)) (while_statement "while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }" while (parenthesized_expression "((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) , (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }" { (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (if_statement "if (local_384 == 0) {\n      ptVar14 = (tagstack_item *)xmalloc(0x28);\n      if (head == (tagstack_item *)0x0) {\n        ptVar14->next = (tagstack_item *)0x0;\n        ptVar14->prev = (tagstack_item *)0x0;\n        head = ptVar14;\n      }\n      else {\n        tail->next = ptVar14;\n        ptVar14->prev = tail;\n        ptVar14->next = (tagstack_item *)0x0;\n      }\n      ptVar14->tagname_begin = (char *)local_3a0;\n      ptVar14->tagname_end = (char *)pbVar19;\n      ptVar14->contents_begin = (char *)0x0;\n      tail = ptVar14;\n    }\n    else {\n      text = (char *)pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" if (parenthesized_expression "(local_384 == 0)" ( (binary_expression "local_384 == 0" identifier == number_literal) )) (compound_statement "{\n      ptVar14 = (tagstack_item *)xmalloc(0x28);\n      if (head == (tagstack_item *)0x0) {\n        ptVar14->next = (tagstack_item *)0x0;\n        ptVar14->prev = (tagstack_item *)0x0;\n        head = ptVar14;\n      }\n      else {\n        tail->next = ptVar14;\n        ptVar14->prev = tail;\n        ptVar14->next = (tagstack_item *)0x0;\n      }\n      ptVar14->tagname_begin = (char *)local_3a0;\n      ptVar14->tagname_end = (char *)pbVar19;\n      ptVar14->contents_begin = (char *)0x0;\n      tail = ptVar14;\n    }" { (expression_statement "ptVar14 = (tagstack_item *)xmalloc(0x28);" (assignment_expression "ptVar14 = (tagstack_item *)xmalloc(0x28)" identifier = (cast_expression "(tagstack_item *)xmalloc(0x28)" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (if_statement "if (head == (tagstack_item *)0x0) {\n        ptVar14->next = (tagstack_item *)0x0;\n        ptVar14->prev = (tagstack_item *)0x0;\n        head = ptVar14;\n      }\n      else {\n        tail->next = ptVar14;\n        ptVar14->prev = tail;\n        ptVar14->next = (tagstack_item *)0x0;\n      }" if (parenthesized_expression "(head == (tagstack_item *)0x0)" ( (binary_expression "head == (tagstack_item *)0x0" identifier == (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        ptVar14->next = (tagstack_item *)0x0;\n        ptVar14->prev = (tagstack_item *)0x0;\n        head = ptVar14;\n      }" { (expression_statement "ptVar14->next = (tagstack_item *)0x0;" (assignment_expression "ptVar14->next = (tagstack_item *)0x0" (field_expression "ptVar14->next" identifier -> field_identifier) = (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ptVar14->prev = (tagstack_item *)0x0;" (assignment_expression "ptVar14->prev = (tagstack_item *)0x0" (field_expression "ptVar14->prev" identifier -> field_identifier) = (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "head = ptVar14;" (assignment_expression "head = ptVar14" identifier = identifier) ;) }) (else_clause "else {\n        tail->next = ptVar14;\n        ptVar14->prev = tail;\n        ptVar14->next = (tagstack_item *)0x0;\n      }" else (compound_statement "{\n        tail->next = ptVar14;\n        ptVar14->prev = tail;\n        ptVar14->next = (tagstack_item *)0x0;\n      }" { (expression_statement "tail->next = ptVar14;" (assignment_expression "tail->next = ptVar14" (field_expression "tail->next" identifier -> field_identifier) = identifier) ;) (expression_statement "ptVar14->prev = tail;" (assignment_expression "ptVar14->prev = tail" (field_expression "ptVar14->prev" identifier -> field_identifier) = identifier) ;) (expression_statement "ptVar14->next = (tagstack_item *)0x0;" (assignment_expression "ptVar14->next = (tagstack_item *)0x0" (field_expression "ptVar14->next" identifier -> field_identifier) = (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "ptVar14->tagname_begin = (char *)local_3a0;" (assignment_expression "ptVar14->tagname_begin = (char *)local_3a0" (field_expression "ptVar14->tagname_begin" identifier -> field_identifier) = (cast_expression "(char *)local_3a0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ptVar14->tagname_end = (char *)pbVar19;" (assignment_expression "ptVar14->tagname_end = (char *)pbVar19" (field_expression "ptVar14->tagname_end" identifier -> field_identifier) = (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ptVar14->contents_begin = (char *)0x0;" (assignment_expression "ptVar14->contents_begin = (char *)0x0" (field_expression "ptVar14->contents_begin" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "tail = ptVar14;" (assignment_expression "tail = ptVar14" identifier = identifier) ;) }) (else_clause "else {\n      text = (char *)pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" else (compound_statement "{\n      text = (char *)pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" { (expression_statement "text = (char *)pbVar1;" (assignment_expression "text = (char *)pbVar1" identifier = (cast_expression "(char *)pbVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;" if (parenthesized_expression "((*pbVar18 & 0xfd) != 0x3c)" ( (binary_expression "(*pbVar18 & 0xfd) != 0x3c" (parenthesized_expression "(*pbVar18 & 0xfd)" ( (binary_expression "*pbVar18 & 0xfd" (pointer_expression "*pbVar18" * identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) }))) (expression_statement "_Var10 = name_allowed(allowed_tags,(char *)local_3a0,(char *)pbVar19);" (assignment_expression "_Var10 = name_allowed(allowed_tags,(char *)local_3a0,(char *)pbVar19)" identifier = (call_expression "name_allowed(allowed_tags,(char *)local_3a0,(char *)pbVar19)" identifier (argument_list "(allowed_tags,(char *)local_3a0,(char *)pbVar19)" ( identifier , (cast_expression "(char *)local_3a0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (_Var10) {\n      convert_and_copy(&pool,(char *)local_3a0,(char *)pbVar19,1);\n    }" if (parenthesized_expression "(_Var10)" ( identifier )) (compound_statement "{\n      convert_and_copy(&pool,(char *)local_3a0,(char *)pbVar19,1);\n    }" { (expression_statement "convert_and_copy(&pool,(char *)local_3a0,(char *)pbVar19,1);" (call_expression "convert_and_copy(&pool,(char *)local_3a0,(char *)pbVar19,1)" identifier (argument_list "(&pool,(char *)local_3a0,(char *)pbVar19,1)" ( (pointer_expression "&pool" & identifier) , (cast_expression "(char *)local_3a0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;) })) (expression_statement "local_320 = 0;" (assignment_expression "local_320 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0011eb7b:\n    bVar3 = *pbVar18;" statement_identifier : (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;)) (if_statement "if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;" if (parenthesized_expression "(('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (binary_expression "('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (parenthesized_expression "('\b' < (char)bVar3)" ( (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) )) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0011eb6e;" goto statement_identifier ;)) (expression_statement "b = pbVar18;" (assignment_expression "b = pbVar18" identifier = identifier) ;) (if_statement "if (bVar3 == 0x2f) {\n      b = pbVar18 + 1;\n      if (pbVar2 <= b) goto LAB_0011e719;\n      while ((bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n        b = b + 1;\n        if (pbVar2 == b) goto LAB_0011e719;\n      }\n      text = (char *)pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" if (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) )) (compound_statement "{\n      b = pbVar18 + 1;\n      if (pbVar2 <= b) goto LAB_0011e719;\n      while ((bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n        b = b + 1;\n        if (pbVar2 == b) goto LAB_0011e719;\n      }\n      text = (char *)pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" { (expression_statement "b = pbVar18 + 1;" (assignment_expression "b = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= b) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= b)" ( (binary_expression "pbVar2 <= b" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (while_statement "while ((bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n        b = b + 1;\n        if (pbVar2 == b) goto LAB_0011e719;\n      }" while (parenthesized_expression "((bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *b, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *b" identifier = (pointer_expression "*b" * identifier)) , (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n        b = b + 1;\n        if (pbVar2 == b) goto LAB_0011e719;\n      }" { (expression_statement "b = b + 1;" (assignment_expression "b = b + 1" identifier = (binary_expression "b + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 == b) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 == b)" ( (binary_expression "pbVar2 == b" identifier == identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "text = (char *)pbVar1;" (assignment_expression "text = (char *)pbVar1" identifier = (cast_expression "(char *)pbVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;" if (parenthesized_expression "((bVar3 & 0xfd) != 0x3c)" ( (binary_expression "(bVar3 & 0xfd) != 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) })) (expression_statement "e = b;" (assignment_expression "e = b" identifier = identifier) ;) (if_statement "if ((*b & 0xfd) != 0x3c) {\n      while ((bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)\n             )) {\n        e = e + 1;\n        if (pbVar2 <= e) goto LAB_0011e719;\n      }\n      pbVar18 = e;\n      text = (char *)pbVar1;\n      if (b == e) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = b;\n      local_338 = b;\n      local_330 = e;\n      local_328 = e;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar22 = (bVar3 & 0xfd) == 0x3c;\n        bVar8 = bVar22 || bVar3 == 0x2f;\n        if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)) {\n        lVar15 = (long)(local_320 + 1);\n        lVar17 = (long)local_34c;\n        lVar9 = lVar17;\n        if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }\n        local_368[local_320].name_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)b,(char *)e,1);\n        local_368[local_320].value_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);\n        local_368[local_320].value_raw_beginning = (char *)local_340;\n        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }" if (parenthesized_expression "((*b & 0xfd) != 0x3c)" ( (binary_expression "(*b & 0xfd) != 0x3c" (parenthesized_expression "(*b & 0xfd)" ( (binary_expression "*b & 0xfd" (pointer_expression "*b" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      while ((bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)\n             )) {\n        e = e + 1;\n        if (pbVar2 <= e) goto LAB_0011e719;\n      }\n      pbVar18 = e;\n      text = (char *)pbVar1;\n      if (b == e) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = b;\n      local_338 = b;\n      local_330 = e;\n      local_328 = e;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar22 = (bVar3 & 0xfd) == 0x3c;\n        bVar8 = bVar22 || bVar3 == 0x2f;\n        if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)) {\n        lVar15 = (long)(local_320 + 1);\n        lVar17 = (long)local_34c;\n        lVar9 = lVar17;\n        if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }\n        local_368[local_320].name_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)b,(char *)e,1);\n        local_368[local_320].value_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);\n        local_368[local_320].value_raw_beginning = (char *)local_340;\n        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }" { (while_statement "while ((bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)\n             )) {\n        e = e + 1;\n        if (pbVar2 <= e) goto LAB_0011e719;\n      }" while (parenthesized_expression "((bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)\n             ))" ( (parenthesized_expression "(bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)\n             )" ( (comma_expression "bVar3 = *e, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)" (assignment_expression "bVar3 = *e" identifier = (pointer_expression "*e" * identifier)) , (binary_expression "(byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) && (bVar3 != 0x2f)" (binary_expression "(byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c)" (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x21)" ( (binary_expression "bVar3 - 0x21" identifier - number_literal) ))) < number_literal) && (binary_expression "2 < (byte)(bVar3 - 0x3c)" number_literal < (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x3c)" ( (binary_expression "bVar3 - 0x3c" identifier - number_literal) ))))) && (parenthesized_expression "(bVar3 != 0x2f)" ( (binary_expression "bVar3 != 0x2f" identifier != number_literal) )))) )) )) (compound_statement "{\n        e = e + 1;\n        if (pbVar2 <= e) goto LAB_0011e719;\n      }" { (expression_statement "e = e + 1;" (assignment_expression "e = e + 1" identifier = (binary_expression "e + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= e) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= e)" ( (binary_expression "pbVar2 <= e" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "pbVar18 = e;" (assignment_expression "pbVar18 = e" identifier = identifier) ;) (expression_statement "text = (char *)pbVar1;" (assignment_expression "text = (char *)pbVar1" identifier = (cast_expression "(char *)pbVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (b == e) goto LAB_0011e685;" if (parenthesized_expression "(b == e)" ( (binary_expression "b == e" identifier == identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (while_statement "while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }" while (parenthesized_expression "((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) , (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }" { (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "local_340 = b;" (assignment_expression "local_340 = b" identifier = identifier) ;) (expression_statement "local_338 = b;" (assignment_expression "local_338 = b" identifier = identifier) ;) (expression_statement "local_330 = e;" (assignment_expression "local_330 = e" identifier = identifier) ;) (expression_statement "local_328 = e;" (assignment_expression "local_328 = e" identifier = identifier) ;) (if_statement "if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar22 = (bVar3 & 0xfd) == 0x3c;\n        bVar8 = bVar22 || bVar3 == 0x2f;\n        if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" if (parenthesized_expression "(((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c)))" ( (binary_expression "((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))" (parenthesized_expression "((byte)(bVar3 - 0x21) < 0x5e)" ( (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x21)" ( (binary_expression "bVar3 - 0x21" identifier - number_literal) ))) < number_literal) )) && (parenthesized_expression "(2 < (byte)(bVar3 - 0x3c))" ( (binary_expression "2 < (byte)(bVar3 - 0x3c)" number_literal < (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x3c)" ( (binary_expression "bVar3 - 0x3c" identifier - number_literal) )))) ))) )) (compound_statement "{\n        local_31c = 1;\n      }" { (expression_statement "local_31c = 1;" (assignment_expression "local_31c = 1" identifier = number_literal) ;) }) (else_clause "else {\n        bVar22 = (bVar3 & 0xfd) == 0x3c;\n        bVar8 = bVar22 || bVar3 == 0x2f;\n        if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" else (compound_statement "{\n        bVar22 = (bVar3 & 0xfd) == 0x3c;\n        bVar8 = bVar22 || bVar3 == 0x2f;\n        if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" { (expression_statement "bVar22 = (bVar3 & 0xfd) == 0x3c;" (assignment_expression "bVar22 = (bVar3 & 0xfd) == 0x3c" identifier = (binary_expression "(bVar3 & 0xfd) == 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) == number_literal)) ;) (expression_statement "bVar8 = bVar22 || bVar3 == 0x2f;" (assignment_expression "bVar8 = bVar22 || bVar3 == 0x2f" identifier = (binary_expression "bVar22 || bVar3 == 0x2f" identifier || (binary_expression "bVar3 == 0x2f" identifier == number_literal))) ;) (if_statement "if (bVar22 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" if (parenthesized_expression "(bVar22 || bVar3 == 0x2f)" ( (binary_expression "bVar22 || bVar3 == 0x2f" identifier || (binary_expression "bVar3 == 0x2f" identifier == number_literal)) )) (compound_statement "{\n          local_31c = 1;\n        }" { (expression_statement "local_31c = 1;" (assignment_expression "local_31c = 1" identifier = number_literal) ;) }) (else_clause "else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" else (compound_statement "{\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" { (if_statement "if (bVar3 != 0x3d) goto LAB_0011e685;" if (parenthesized_expression "(bVar3 != 0x3d)" ( (binary_expression "bVar3 != 0x3d" identifier != number_literal) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (expression_statement "local_340 = pbVar18 + 1;" (assignment_expression "local_340 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= local_340) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= local_340)" ( (binary_expression "pbVar2 <= local_340" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (while_statement "while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }" while (parenthesized_expression "((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *local_340" identifier = (pointer_expression "*local_340" * identifier)) , (binary_expression "'\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }" { (expression_statement "local_340 = local_340 + 1;" (assignment_expression "local_340 = local_340 + 1" identifier = (binary_expression "local_340 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 == local_340) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 == local_340)" ( (binary_expression "pbVar2 == local_340" identifier == identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (if_statement "if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }" if (parenthesized_expression "((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27))" ( (binary_expression "(bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)" (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) || (parenthesized_expression "(pbVar18 = local_340, bVar3 == 0x27)" ( (comma_expression "pbVar18 = local_340, bVar3 == 0x27" (assignment_expression "pbVar18 = local_340" identifier = identifier) , (binary_expression "bVar3 == 0x27" identifier == number_literal)) ))) )) (compound_statement "{\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }" { (expression_statement "local_338 = local_340 + 1;" (assignment_expression "local_338 = local_340 + 1" identifier = (binary_expression "local_340 + 1" identifier + number_literal)) ;) (expression_statement "pbVar18 = local_338;" (assignment_expression "pbVar18 = local_338" identifier = identifier) ;) (while_statement "while (bVar22 = bVar8, pbVar18 < pbVar2) {\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }" while (parenthesized_expression "(bVar22 = bVar8, pbVar18 < pbVar2)" ( (comma_expression "bVar22 = bVar8, pbVar18 < pbVar2" (assignment_expression "bVar22 = bVar8" identifier = identifier) , (binary_expression "pbVar18 < pbVar2" identifier < identifier)) )) (compound_statement "{\n              do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);\n              if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }" { (do_statement "do {\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar22);" do (compound_statement "{\n                bVar8 = bVar22;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));\n                pbVar18 = local_338;\n              }" { (expression_statement "bVar8 = bVar22;" (assignment_expression "bVar8 = bVar22" identifier = identifier) ;) (expression_statement "local_330 = pbVar18;" (assignment_expression "local_330 = pbVar18" identifier = identifier) ;) (expression_statement "bVar4 = *local_330;" (assignment_expression "bVar4 = *local_330" identifier = (pointer_expression "*local_330" * identifier)) ;) (if_statement "if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }" if (parenthesized_expression "(bVar3 == bVar4)" ( (binary_expression "bVar3 == bVar4" identifier == identifier) )) (compound_statement "{\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }" { (expression_statement "pbVar18 = local_330 + 1;" (assignment_expression "pbVar18 = local_330 + 1" identifier = (binary_expression "local_330 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (expression_statement "local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6;" (assignment_expression "local_31c = (-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6" identifier = (binary_expression "(-(uint)((flags & 2U) == 0) & 0xfffffffc) + 6" (parenthesized_expression "(-(uint)((flags & 2U) == 0) & 0xfffffffc)" ( (binary_expression "-(uint)((flags & 2U) == 0) & 0xfffffffc" (unary_expression "-(uint)((flags & 2U) == 0)" - (call_expression "(uint)((flags & 2U) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((flags & 2U) == 0)" ( (binary_expression "(flags & 2U) == 0" (parenthesized_expression "(flags & 2U)" ( (binary_expression "flags & 2U" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "local_328 = pbVar18;" (assignment_expression "local_328 = pbVar18" identifier = identifier) ;) (goto_statement "goto LAB_0011ec71;" goto statement_identifier ;) })) (expression_statement "bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U));" (assignment_expression "bVar22 = (bool)(bVar4 == 10 & (bVar8 ^ 1U))" identifier = (cast_expression "(bool)(bVar4 == 10 & (bVar8 ^ 1U))" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar4 == 10 & (bVar8 ^ 1U))" ( (binary_expression "bVar4 == 10 & (bVar8 ^ 1U)" (binary_expression "bVar4 == 10" identifier == number_literal) & (parenthesized_expression "(bVar8 ^ 1U)" ( (binary_expression "bVar8 ^ 1U" identifier ^ number_literal) ))) )))) ;) (expression_statement "pbVar18 = local_338;" (assignment_expression "pbVar18 = local_338" identifier = identifier) ;) }) while (parenthesized_expression "(bVar22)" ( identifier )) ;) (if_statement "if ((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;" if (parenthesized_expression "((bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c))" ( (binary_expression "(bVar8) && (text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)" (parenthesized_expression "(bVar8)" ( identifier )) && (parenthesized_expression "(text = (char *)local_330, (bVar4 & 0xfd) == 0x3c)" ( (comma_expression "text = (char *)local_330, (bVar4 & 0xfd) == 0x3c" (assignment_expression "text = (char *)local_330" identifier = (cast_expression "(char *)local_330" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "(bVar4 & 0xfd) == 0x3c" (parenthesized_expression "(bVar4 & 0xfd)" ( (binary_expression "bVar4 & 0xfd" identifier & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (expression_statement "pbVar18 = local_330 + 1;" (assignment_expression "pbVar18 = local_330 + 1" identifier = (binary_expression "local_330 + 1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;) })) (while_statement "while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }" while (parenthesized_expression "(((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c)))" ( (parenthesized_expression "((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))" ( (binary_expression "(bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c)" (parenthesized_expression "(bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  )" ( (comma_expression "bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) , (binary_expression "(char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))" (binary_expression "(char)bVar3 < '\t'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\t'" ' escape_sequence ')) || (parenthesized_expression "(('\r' < (char)bVar3 && (bVar3 != 0x20)))" ( (parenthesized_expression "('\r' < (char)bVar3 && (bVar3 != 0x20))" ( (binary_expression "'\r' < (char)bVar3 && (bVar3 != 0x20)" (binary_expression "'\r' < (char)bVar3" (char_literal "'\r'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(bVar3 != 0x20)" ( (binary_expression "bVar3 != 0x20" identifier != number_literal) ))) )) )))) )) && (parenthesized_expression "((bVar3 & 0xfd) != 0x3c)" ( (binary_expression "(bVar3 & 0xfd) != 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }" { (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (if_statement "if (local_340 == pbVar18) goto LAB_0011e685;" if (parenthesized_expression "(local_340 == pbVar18)" ( (binary_expression "local_340 == pbVar18" identifier == identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (expression_statement "local_31c = 2;" (assignment_expression "local_31c = 2" identifier = number_literal) ;) (expression_statement "local_338 = local_340;" (assignment_expression "local_338 = local_340" identifier = identifier) ;) (expression_statement "local_330 = pbVar18;" (assignment_expression "local_330 = pbVar18" identifier = identifier) ;) (expression_statement "local_328 = pbVar18;" (assignment_expression "local_328 = pbVar18" identifier = identifier) ;) }))) }))) (labeled_statement "LAB_0011ec71:\n      if ((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)) {\n        lVar15 = (long)(local_320 + 1);\n        lVar17 = (long)local_34c;\n        lVar9 = lVar17;\n        if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }\n        local_368[local_320].name_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)b,(char *)e,1);\n        local_368[local_320].value_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);\n        local_368[local_320].value_raw_beginning = (char *)local_340;\n        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" statement_identifier : (if_statement "if ((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)) {\n        lVar15 = (long)(local_320 + 1);\n        lVar17 = (long)local_34c;\n        lVar9 = lVar17;\n        if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }\n        local_368[local_320].name_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)b,(char *)e,1);\n        local_368[local_320].value_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);\n        local_368[local_320].value_raw_beginning = (char *)local_340;\n        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" if (parenthesized_expression "((_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11))" ( (binary_expression "(_Var10 && ((!bVar6 || !bVar7) || !bVar21)) &&\n         (_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)" (parenthesized_expression "(_Var10 && ((!bVar6 || !bVar7) || !bVar21))" ( (binary_expression "_Var10 && ((!bVar6 || !bVar7) || !bVar21)" identifier && (parenthesized_expression "((!bVar6 || !bVar7) || !bVar21)" ( (binary_expression "(!bVar6 || !bVar7) || !bVar21" (parenthesized_expression "(!bVar6 || !bVar7)" ( (binary_expression "!bVar6 || !bVar7" (unary_expression "!bVar6" ! identifier) || (unary_expression "!bVar7" ! identifier)) )) || (unary_expression "!bVar21" ! identifier)) ))) )) && (parenthesized_expression "(_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11)" ( (comma_expression "_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e), _Var11" (assignment_expression "_Var11 = name_allowed(allowed_attributes,(char *)b,(char *)e)" identifier = (call_expression "name_allowed(allowed_attributes,(char *)b,(char *)e)" identifier (argument_list "(allowed_attributes,(char *)b,(char *)e)" ( identifier , (cast_expression "(char *)b" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)e" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , identifier) ))) )) (compound_statement "{\n        lVar15 = (long)(local_320 + 1);\n        lVar17 = (long)local_34c;\n        lVar9 = lVar17;\n        if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }\n        local_368[local_320].name_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)b,(char *)e,1);\n        local_368[local_320].value_pool_index = pool.tail;\n        convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);\n        local_368[local_320].value_raw_beginning = (char *)local_340;\n        local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" { (expression_statement "lVar15 = (long)(local_320 + 1);" (assignment_expression "lVar15 = (long)(local_320 + 1)" identifier = (cast_expression "(long)(local_320 + 1)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(local_320 + 1)" ( (binary_expression "local_320 + 1" identifier + number_literal) )))) ;) (expression_statement "lVar17 = (long)local_34c;" (assignment_expression "lVar17 = (long)local_34c" identifier = (cast_expression "(long)local_34c" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "lVar9 = lVar17;" (assignment_expression "lVar9 = lVar17" identifier = identifier) ;) (if_statement "if (lVar17 < lVar15) {\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }" if (parenthesized_expression "(lVar17 < lVar15)" ( (binary_expression "lVar17 < lVar15" identifier < identifier) )) (compound_statement "{\n          do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);\n          if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }\n        }" { (do_statement "do {\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          } while (lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0);" do (compound_statement "{\n            lVar20 = lVar9;\n            lVar9 = lVar20 * 2;\n          }" { (expression_statement "lVar20 = lVar9;" (assignment_expression "lVar20 = lVar9" identifier = identifier) ;) (expression_statement "lVar9 = lVar20 * 2;" (assignment_expression "lVar9 = lVar20 * 2" identifier = (binary_expression "lVar20 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "(lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0)" ( (binary_expression "lVar15 != lVar9 && SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0" (binary_expression "lVar15 != lVar9" identifier != identifier) && (binary_expression "SBORROW8(lVar15,lVar9) == lVar15 + lVar20 * -2 < 0" (call_expression "SBORROW8(lVar15,lVar9)" identifier (argument_list "(lVar15,lVar9)" ( identifier , identifier ))) == (binary_expression "lVar15 + lVar20 * -2 < 0" (binary_expression "lVar15 + lVar20 * -2" identifier + (binary_expression "lVar20 * -2" identifier * number_literal)) < number_literal))) )) ;) (if_statement "if (lVar17 != lVar9) {\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }" if (parenthesized_expression "(lVar17 != lVar9)" ( (binary_expression "lVar17 != lVar9" identifier != identifier) )) (compound_statement "{\n            if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }\n            local_34c = (int)lVar9;\n            local_380 = _Var11;\n          }" { (if_statement "if (local_380 == false) {\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }\n            else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }" if (parenthesized_expression "(local_380 == false)" ( (binary_expression "local_380 == false" identifier == false) )) (compound_statement "{\n              paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);\n              memcpy(paVar16,local_368,(long)local_34c * 0x28);\n              local_368 = paVar16;\n            }" { (expression_statement "paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50);" (assignment_expression "paVar16 = (attr_pair *)xmalloc(lVar20 * 0x50)" identifier = (cast_expression "(attr_pair *)xmalloc(lVar20 * 0x50)" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(lVar20 * 0x50)" identifier (argument_list "(lVar20 * 0x50)" ( (binary_expression "lVar20 * 0x50" identifier * number_literal) ))))) ;) (expression_statement "memcpy(paVar16,local_368,(long)local_34c * 0x28);" (call_expression "memcpy(paVar16,local_368,(long)local_34c * 0x28)" identifier (argument_list "(paVar16,local_368,(long)local_34c * 0x28)" ( identifier , identifier , (binary_expression "(long)local_34c * 0x28" (cast_expression "(long)local_34c" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal) ))) ;) (expression_statement "local_368 = paVar16;" (assignment_expression "local_368 = paVar16" identifier = identifier) ;) }) (else_clause "else {\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }" else (compound_statement "{\n              local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);\n            }" { (expression_statement "local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50);" (assignment_expression "local_368 = (attr_pair *)xrealloc(local_368,lVar20 * 0x50)" identifier = (cast_expression "(attr_pair *)xrealloc(local_368,lVar20 * 0x50)" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(local_368,lVar20 * 0x50)" identifier (argument_list "(local_368,lVar20 * 0x50)" ( identifier , (binary_expression "lVar20 * 0x50" identifier * number_literal) ))))) ;) }))) (expression_statement "local_34c = (int)lVar9;" (assignment_expression "local_34c = (int)lVar9" identifier = (cast_expression "(int)lVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_380 = _Var11;" (assignment_expression "local_380 = _Var11" identifier = identifier) ;) })) })) (expression_statement "local_368[local_320].name_pool_index = pool.tail;" (assignment_expression "local_368[local_320].name_pool_index = pool.tail" (field_expression "local_368[local_320].name_pool_index" (subscript_expression "local_368[local_320]" identifier [ identifier ]) . field_identifier) = (field_expression "pool.tail" identifier . field_identifier)) ;) (expression_statement "convert_and_copy(&pool,(char *)b,(char *)e,1);" (call_expression "convert_and_copy(&pool,(char *)b,(char *)e,1)" identifier (argument_list "(&pool,(char *)b,(char *)e,1)" ( (pointer_expression "&pool" & identifier) , (cast_expression "(char *)b" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)e" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;) (expression_statement "local_368[local_320].value_pool_index = pool.tail;" (assignment_expression "local_368[local_320].value_pool_index = pool.tail" (field_expression "local_368[local_320].value_pool_index" (subscript_expression "local_368[local_320]" identifier [ identifier ]) . field_identifier) = (field_expression "pool.tail" identifier . field_identifier)) ;) (expression_statement "convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c);" (call_expression "convert_and_copy(&pool,(char *)local_338,(char *)local_330,local_31c)" identifier (argument_list "(&pool,(char *)local_338,(char *)local_330,local_31c)" ( (pointer_expression "&pool" & identifier) , (cast_expression "(char *)local_338" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)local_330" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "local_368[local_320].value_raw_beginning = (char *)local_340;" (assignment_expression "local_368[local_320].value_raw_beginning = (char *)local_340" (field_expression "local_368[local_320].value_raw_beginning" (subscript_expression "local_368[local_320]" identifier [ identifier ]) . field_identifier) = (cast_expression "(char *)local_340" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_368[local_320].value_raw_size = (int)local_328 - (int)local_340;" (assignment_expression "local_368[local_320].value_raw_size = (int)local_328 - (int)local_340" (field_expression "local_368[local_320].value_raw_size" (subscript_expression "local_368[local_320]" identifier [ identifier ]) . field_identifier) = (binary_expression "(int)local_328 - (int)local_340" (cast_expression "(int)local_328" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_340" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_320 = local_320 + 1;" (assignment_expression "local_320 = local_320 + 1" identifier = (binary_expression "local_320 + 1" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0011eb7b;" goto statement_identifier ;) })) (if_statement "if (((local_384 == 0) && (tail != (tagstack_item *)0x0)) &&\n       ((byte *)tail->tagname_begin == local_3a0)) {\n      tail->contents_begin = (char *)(b + 1);\n    }" if (parenthesized_expression "(((local_384 == 0) && (tail != (tagstack_item *)0x0)) &&\n       ((byte *)tail->tagname_begin == local_3a0))" ( (binary_expression "((local_384 == 0) && (tail != (tagstack_item *)0x0)) &&\n       ((byte *)tail->tagname_begin == local_3a0)" (parenthesized_expression "((local_384 == 0) && (tail != (tagstack_item *)0x0))" ( (binary_expression "(local_384 == 0) && (tail != (tagstack_item *)0x0)" (parenthesized_expression "(local_384 == 0)" ( (binary_expression "local_384 == 0" identifier == number_literal) )) && (parenthesized_expression "(tail != (tagstack_item *)0x0)" ( (binary_expression "tail != (tagstack_item *)0x0" identifier != (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((byte *)tail->tagname_begin == local_3a0)" ( (binary_expression "(byte *)tail->tagname_begin == local_3a0" (cast_expression "(byte *)tail->tagname_begin" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "tail->tagname_begin" identifier -> field_identifier)) == identifier) ))) )) (compound_statement "{\n      tail->contents_begin = (char *)(b + 1);\n    }" { (expression_statement "tail->contents_begin = (char *)(b + 1);" (assignment_expression "tail->contents_begin = (char *)(b + 1)" (field_expression "tail->contents_begin" identifier -> field_identifier) = (cast_expression "(char *)(b + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(b + 1)" ( (binary_expression "b + 1" identifier + number_literal) )))) ;) })) (if_statement "if (!_Var10 || (bVar6 && bVar7) && bVar21) goto joined_r0x0011ef79;" if (parenthesized_expression "(!_Var10 || (bVar6 && bVar7) && bVar21)" ( (binary_expression "!_Var10 || (bVar6 && bVar7) && bVar21" (unary_expression "!_Var10" ! identifier) || (binary_expression "(bVar6 && bVar7) && bVar21" (parenthesized_expression "(bVar6 && bVar7)" ( (binary_expression "bVar6 && bVar7" identifier && identifier) )) && identifier)) )) (goto_statement "goto joined_r0x0011ef79;" goto statement_identifier ;)) (expression_statement "taginfo.name = pool.contents;" (assignment_expression "taginfo.name = pool.contents" (field_expression "taginfo.name" identifier . field_identifier) = (field_expression "pool.contents" identifier . field_identifier)) ;) (expression_statement "taginfo.end_tag_p = local_384;" (assignment_expression "taginfo.end_tag_p = local_384" (field_expression "taginfo.end_tag_p" identifier . field_identifier) = identifier) ;) (expression_statement "taginfo.nattrs = local_320;" (assignment_expression "taginfo.nattrs = local_320" (field_expression "taginfo.nattrs" identifier . field_identifier) = identifier) ;) (if_statement "if (0 < local_320) {\n      paVar16 = local_368;\n      do {\n        paVar16->name = pool.contents + paVar16->name_pool_index;\n        paVar16->value = pool.contents + paVar16->value_pool_index;\n        paVar16 = paVar16 + 1;\n      } while (paVar16 != local_368 + (ulong)(local_320 - 1) + 1);\n    }" if (parenthesized_expression "(0 < local_320)" ( (binary_expression "0 < local_320" number_literal < identifier) )) (compound_statement "{\n      paVar16 = local_368;\n      do {\n        paVar16->name = pool.contents + paVar16->name_pool_index;\n        paVar16->value = pool.contents + paVar16->value_pool_index;\n        paVar16 = paVar16 + 1;\n      } while (paVar16 != local_368 + (ulong)(local_320 - 1) + 1);\n    }" { (expression_statement "paVar16 = local_368;" (assignment_expression "paVar16 = local_368" identifier = identifier) ;) (do_statement "do {\n        paVar16->name = pool.contents + paVar16->name_pool_index;\n        paVar16->value = pool.contents + paVar16->value_pool_index;\n        paVar16 = paVar16 + 1;\n      } while (paVar16 != local_368 + (ulong)(local_320 - 1) + 1);" do (compound_statement "{\n        paVar16->name = pool.contents + paVar16->name_pool_index;\n        paVar16->value = pool.contents + paVar16->value_pool_index;\n        paVar16 = paVar16 + 1;\n      }" { (expression_statement "paVar16->name = pool.contents + paVar16->name_pool_index;" (assignment_expression "paVar16->name = pool.contents + paVar16->name_pool_index" (field_expression "paVar16->name" identifier -> field_identifier) = (binary_expression "pool.contents + paVar16->name_pool_index" (field_expression "pool.contents" identifier . field_identifier) + (field_expression "paVar16->name_pool_index" identifier -> field_identifier))) ;) (expression_statement "paVar16->value = pool.contents + paVar16->value_pool_index;" (assignment_expression "paVar16->value = pool.contents + paVar16->value_pool_index" (field_expression "paVar16->value" identifier -> field_identifier) = (binary_expression "pool.contents + paVar16->value_pool_index" (field_expression "pool.contents" identifier . field_identifier) + (field_expression "paVar16->value_pool_index" identifier -> field_identifier))) ;) (expression_statement "paVar16 = paVar16 + 1;" (assignment_expression "paVar16 = paVar16 + 1" identifier = (binary_expression "paVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(paVar16 != local_368 + (ulong)(local_320 - 1) + 1)" ( (binary_expression "paVar16 != local_368 + (ulong)(local_320 - 1) + 1" identifier != (binary_expression "local_368 + (ulong)(local_320 - 1) + 1" (binary_expression "local_368 + (ulong)(local_320 - 1)" identifier + (call_expression "(ulong)(local_320 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_320 - 1)" ( (binary_expression "local_320 - 1" identifier - number_literal) )))) + number_literal)) )) ;) })) (expression_statement "taginfo.attrs = local_368;" (assignment_expression "taginfo.attrs = local_368" (field_expression "taginfo.attrs" identifier . field_identifier) = identifier) ;) (expression_statement "taginfo.end_position = (char *)(b + 1);" (assignment_expression "taginfo.end_position = (char *)(b + 1)" (field_expression "taginfo.end_position" identifier . field_identifier) = (cast_expression "(char *)(b + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(b + 1)" ( (binary_expression "b + 1" identifier + number_literal) )))) ;) (expression_statement "taginfo.contents_begin = (char *)0x0;" (assignment_expression "taginfo.contents_begin = (char *)0x0" (field_expression "taginfo.contents_begin" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "taginfo.contents_end = (char *)0x0;" (assignment_expression "taginfo.contents_end = (char *)0x0" (field_expression "taginfo.contents_end" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "taginfo.start_position = pcVar13;" (assignment_expression "taginfo.start_position = pcVar13" (field_expression "taginfo.start_position" identifier . field_identifier) = identifier) ;) (if_statement "if (local_384 != 0) {\n      if (tail != (tagstack_item *)0x0) {\n        __n = (size_t)((int)pbVar19 - (int)local_3a0);\n        ptVar14 = tail;\n        do {\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        } while (ptVar14 != (tagstack_item *)0x0);\n      }\n    }" if (parenthesized_expression "(local_384 != 0)" ( (binary_expression "local_384 != 0" identifier != number_literal) )) (compound_statement "{\n      if (tail != (tagstack_item *)0x0) {\n        __n = (size_t)((int)pbVar19 - (int)local_3a0);\n        ptVar14 = tail;\n        do {\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        } while (ptVar14 != (tagstack_item *)0x0);\n      }\n    }" { (if_statement "if (tail != (tagstack_item *)0x0) {\n        __n = (size_t)((int)pbVar19 - (int)local_3a0);\n        ptVar14 = tail;\n        do {\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        } while (ptVar14 != (tagstack_item *)0x0);\n      }" if (parenthesized_expression "(tail != (tagstack_item *)0x0)" ( (binary_expression "tail != (tagstack_item *)0x0" identifier != (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        __n = (size_t)((int)pbVar19 - (int)local_3a0);\n        ptVar14 = tail;\n        do {\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        } while (ptVar14 != (tagstack_item *)0x0);\n      }" { (expression_statement "__n = (size_t)((int)pbVar19 - (int)local_3a0);" (assignment_expression "__n = (size_t)((int)pbVar19 - (int)local_3a0)" identifier = (cast_expression "(size_t)((int)pbVar19 - (int)local_3a0)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "((int)pbVar19 - (int)local_3a0)" ( (binary_expression "(int)pbVar19 - (int)local_3a0" (cast_expression "(int)pbVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_3a0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ptVar14 = tail;" (assignment_expression "ptVar14 = tail" identifier = identifier) ;) (do_statement "do {\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        } while (ptVar14 != (tagstack_item *)0x0);" do (compound_statement "{\n          if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }\n          ptVar14 = ptVar14->prev;\n        }" { (if_statement "if ((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)) {\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }" if (parenthesized_expression "((__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0))" ( (binary_expression "(__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin) &&\n             (iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)" (parenthesized_expression "(__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin)" ( (binary_expression "__n == (long)ptVar14->tagname_end - (long)ptVar14->tagname_begin" identifier == (binary_expression "(long)ptVar14->tagname_end - (long)ptVar14->tagname_begin" (cast_expression "(long)ptVar14->tagname_end" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ptVar14->tagname_end" identifier -> field_identifier)) - (cast_expression "(long)ptVar14->tagname_begin" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "ptVar14->tagname_begin" identifier -> field_identifier)))) )) && (parenthesized_expression "(iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0)" ( (comma_expression "iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n), iVar12 == 0" (assignment_expression "iVar12 = strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n)" identifier = (call_expression "strncasecmp(ptVar14->tagname_begin,(char *)local_3a0,__n)" identifier (argument_list "(ptVar14->tagname_begin,(char *)local_3a0,__n)" ( (field_expression "ptVar14->tagname_begin" identifier -> field_identifier) , (cast_expression "(char *)local_3a0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) , (binary_expression "iVar12 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }\n            tagstack_pop(&head,&tail,ptVar14);\n            break;\n          }" { (if_statement "if (ptVar14->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }" if (parenthesized_expression "(ptVar14->contents_begin != (char *)0x0)" ( (binary_expression "ptVar14->contents_begin != (char *)0x0" (field_expression "ptVar14->contents_begin" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              taginfo.contents_begin = ptVar14->contents_begin;\n              taginfo.contents_end = pcVar13;\n            }" { (expression_statement "taginfo.contents_begin = ptVar14->contents_begin;" (assignment_expression "taginfo.contents_begin = ptVar14->contents_begin" (field_expression "taginfo.contents_begin" identifier . field_identifier) = (field_expression "ptVar14->contents_begin" identifier -> field_identifier)) ;) (expression_statement "taginfo.contents_end = pcVar13;" (assignment_expression "taginfo.contents_end = pcVar13" (field_expression "taginfo.contents_end" identifier . field_identifier) = identifier) ;) })) (expression_statement "tagstack_pop(&head,&tail,ptVar14);" (call_expression "tagstack_pop(&head,&tail,ptVar14)" identifier (argument_list "(&head,&tail,ptVar14)" ( (pointer_expression "&head" & identifier) , (pointer_expression "&tail" & identifier) , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "ptVar14 = ptVar14->prev;" (assignment_expression "ptVar14 = ptVar14->prev" identifier = (field_expression "ptVar14->prev" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(ptVar14 != (tagstack_item *)0x0)" ( (binary_expression "ptVar14 != (tagstack_item *)0x0" identifier != (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) })) (expression_statement "(*mapfun)(&taginfo,maparg);" (call_expression "(*mapfun)(&taginfo,maparg)" (parenthesized_expression "(*mapfun)" ( (pointer_expression "*mapfun" * identifier) )) (argument_list "(&taginfo,maparg)" ( (pointer_expression "&taginfo" & identifier) , identifier ))) ;) (expression_statement "text = (char *)b;" (assignment_expression "text = (char *)b" identifier = (cast_expression "(char *)b" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*b != 0x3c) {\njoined_r0x0011ef79:\n      text = (char *)(b + 1);\n      if (pbVar2 <= b + 1) goto LAB_0011e719;\n    }" if (parenthesized_expression "(*b != 0x3c)" ( (binary_expression "*b != 0x3c" (pointer_expression "*b" * identifier) != number_literal) )) (compound_statement "{\njoined_r0x0011ef79:\n      text = (char *)(b + 1);\n      if (pbVar2 <= b + 1) goto LAB_0011e719;\n    }" { (labeled_statement "joined_r0x0011ef79:\n      text = (char *)(b + 1);" statement_identifier : (expression_statement "text = (char *)(b + 1);" (assignment_expression "text = (char *)(b + 1)" identifier = (cast_expression "(char *)(b + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(b + 1)" ( (binary_expression "b + 1" identifier + number_literal) )))) ;)) (if_statement "if (pbVar2 <= b + 1) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= b + 1)" ( (binary_expression "pbVar2 <= b + 1" identifier <= (binary_expression "b + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;) })) (labeled_statement "LAB_0011e780:\n  if (lVar5 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" statement_identifier : (if_statement "if (lVar5 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(lVar5 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar5 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) (while_statement "while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar19;\n    pbVar19 = pbVar18 + 1;\n    if (pbVar2 == pbVar19) goto LAB_0011e685;\n  }" while (parenthesized_expression "(pbVar18[1] == 0x2d)" ( (binary_expression "pbVar18[1] == 0x2d" (subscript_expression "pbVar18[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_0011e89e:\n    pbVar18 = pbVar19;\n    pbVar19 = pbVar18 + 1;\n    if (pbVar2 == pbVar19) goto LAB_0011e685;\n  }" { (labeled_statement "LAB_0011e89e:\n    pbVar18 = pbVar19;" statement_identifier : (expression_statement "pbVar18 = pbVar19;" (assignment_expression "pbVar18 = pbVar19" identifier = identifier) ;)) (expression_statement "pbVar19 = pbVar18 + 1;" (assignment_expression "pbVar19 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 == pbVar19) goto LAB_0011e685;" if (parenthesized_expression "(pbVar2 == pbVar19)" ( (binary_expression "pbVar2 == pbVar19" identifier == identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) })) (expression_statement "pbVar1 = pbVar19;" (assignment_expression "pbVar1 = pbVar19" identifier = identifier) ;) (if_statement "if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;" if (parenthesized_expression "(pbVar18[1] == 0x3e)" ( (binary_expression "pbVar18[1] == 0x3e" (subscript_expression "pbVar18[1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto code_r0x0011e8b9;" goto statement_identifier ;)) (goto_statement "goto LAB_0011e86d;" goto statement_identifier ;) (labeled_statement "code_r0x0011e8b9:\n  pbVar19 = pbVar18 + 2;" statement_identifier : (expression_statement "pbVar19 = pbVar18 + 2;" (assignment_expression "pbVar19 = pbVar18 + 2" identifier = (binary_expression "pbVar18 + 2" identifier + number_literal)) ;)) (labeled_statement "LAB_0011e8bd:\n  if (pbVar19 == (byte *)0x0) goto LAB_0011e685;" statement_identifier : (if_statement "if (pbVar19 == (byte *)0x0) goto LAB_0011e685;" if (parenthesized_expression "(pbVar19 == (byte *)0x0)" ( (binary_expression "pbVar19 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;))) (labeled_statement "LAB_0011e8ee:\n  text = (char *)pbVar19;" statement_identifier : (expression_statement "text = (char *)pbVar19;" (assignment_expression "text = (char *)pbVar19" identifier = (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (pbVar19 == pbVar2) goto LAB_0011e719;" if (parenthesized_expression "(pbVar19 == pbVar2)" ( (binary_expression "pbVar19 == pbVar2" identifier == identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;) (labeled_statement "LAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;" statement_identifier : (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;)) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (goto_statement "goto LAB_0011eb7b;" goto statement_identifier ;) (labeled_statement "LAB_0011e719:\n  if (pool.resized != false) {\n    free(pool.contents);\n  }" statement_identifier : (if_statement "if (pool.resized != false) {\n    free(pool.contents);\n  }" if (parenthesized_expression "(pool.resized != false)" ( (binary_expression "pool.resized != false" (field_expression "pool.resized" identifier . field_identifier) != false) )) (compound_statement "{\n    free(pool.contents);\n  }" { (expression_statement "free(pool.contents);" (call_expression "free(pool.contents)" identifier (argument_list "(pool.contents)" ( (field_expression "pool.contents" identifier . field_identifier) ))) ;) }))) (expression_statement "pool.contents = pool.orig_contents;" (assignment_expression "pool.contents = pool.orig_contents" (field_expression "pool.contents" identifier . field_identifier) = (field_expression "pool.orig_contents" identifier . field_identifier)) ;) (expression_statement "pool.size = pool.orig_size;" (assignment_expression "pool.size = pool.orig_size" (field_expression "pool.size" identifier . field_identifier) = (field_expression "pool.orig_size" identifier . field_identifier)) ;) (expression_statement "pool.tail = 0;" (assignment_expression "pool.tail = 0" (field_expression "pool.tail" identifier . field_identifier) = number_literal) ;) (expression_statement "pool.resized = false;" (assignment_expression "pool.resized = false" (field_expression "pool.resized" identifier . field_identifier) = false) ;) (if_statement "if (local_380 != false) {\n    free(local_368);\n  }" if (parenthesized_expression "(local_380 != false)" ( (binary_expression "local_380 != false" identifier != false) )) (compound_statement "{\n    free(local_368);\n  }" { (expression_statement "free(local_368);" (call_expression "free(local_368)" identifier (argument_list "(local_368)" ( identifier ))) ;) })) (expression_statement "tagstack_pop(&head,&tail,head);" (call_expression "tagstack_pop(&head,&tail,head)" identifier (argument_list "(&head,&tail,head)" ( (pointer_expression "&head" & identifier) , (pointer_expression "&tail" & identifier) , identifier ))) ;) (goto_statement "goto LAB_0011e780;" goto statement_identifier ;) })))
(translation_unit "void FUN_0011e5b2(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)\n\n{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  long lVar8;\n  char cVar9;\n  int iVar10;\n  void *pvVar11;\n  undefined8 *puVar12;\n  long lVar13;\n  long *plVar14;\n  bool bVar15;\n  long lVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  long lVar21;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar22;\n  bool bVar23;\n  byte *local_3a0;\n  int local_384;\n  char local_380;\n  long *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  undefined8 *local_308;\n  undefined8 *local_300;\n  undefined1 *local_2f8;\n  undefined4 local_2f0;\n  undefined4 local_2ec;\n  char local_2e8;\n  undefined1 *local_2e0;\n  undefined4 local_2d8;\n  undefined1 *local_2c8;\n  int local_2c0;\n  int local_2bc;\n  long *local_2b8;\n  void *local_2b0;\n  byte *local_2a8;\n  long local_2a0;\n  void *local_298;\n  long local_288 [40];\n  undefined1 local_148 [264];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_308 = (undefined8 *)0x0;\n  local_300 = (undefined8 *)0x0;\n  if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar20;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  param_1 = pbVar20;\n  if (pbVar20 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }\n  local_2f8 = local_2e0;\n  local_2f0 = local_2d8;\n  local_2ec = 0;\n  local_2e8 = 0;\n  if (local_380 != '\0') {\n    free(local_368);\n  }\n  FUN_0011dd1f(&local_308,&local_300,local_308);\n  goto LAB_0011e780;\n}\n\n" (function_definition "void FUN_0011e5b2(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)\n\n{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  long lVar8;\n  char cVar9;\n  int iVar10;\n  void *pvVar11;\n  undefined8 *puVar12;\n  long lVar13;\n  long *plVar14;\n  bool bVar15;\n  long lVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  long lVar21;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar22;\n  bool bVar23;\n  byte *local_3a0;\n  int local_384;\n  char local_380;\n  long *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  undefined8 *local_308;\n  undefined8 *local_300;\n  undefined1 *local_2f8;\n  undefined4 local_2f0;\n  undefined4 local_2ec;\n  char local_2e8;\n  undefined1 *local_2e0;\n  undefined4 local_2d8;\n  undefined1 *local_2c8;\n  int local_2c0;\n  int local_2bc;\n  long *local_2b8;\n  void *local_2b0;\n  byte *local_2a8;\n  long local_2a0;\n  void *local_298;\n  long local_288 [40];\n  undefined1 local_148 [264];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_308 = (undefined8 *)0x0;\n  local_300 = (undefined8 *)0x0;\n  if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar20;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  param_1 = pbVar20;\n  if (pbVar20 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }\n  local_2f8 = local_2e0;\n  local_2f0 = local_2d8;\n  local_2ec = 0;\n  local_2e8 = 0;\n  if (local_380 != '\0') {\n    free(local_368);\n  }\n  FUN_0011dd1f(&local_308,&local_300,local_308);\n  goto LAB_0011e780;\n}" primitive_type (function_declarator "FUN_0011e5b2(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)" identifier (parameter_list "(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "code *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  long lVar8;\n  char cVar9;\n  int iVar10;\n  void *pvVar11;\n  undefined8 *puVar12;\n  long lVar13;\n  long *plVar14;\n  bool bVar15;\n  long lVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  long lVar21;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar22;\n  bool bVar23;\n  byte *local_3a0;\n  int local_384;\n  char local_380;\n  long *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  undefined8 *local_308;\n  undefined8 *local_300;\n  undefined1 *local_2f8;\n  undefined4 local_2f0;\n  undefined4 local_2ec;\n  char local_2e8;\n  undefined1 *local_2e0;\n  undefined4 local_2d8;\n  undefined1 *local_2c8;\n  int local_2c0;\n  int local_2bc;\n  long *local_2b8;\n  void *local_2b0;\n  byte *local_2a8;\n  long local_2a0;\n  void *local_298;\n  long local_288 [40];\n  undefined1 local_148 [264];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_308 = (undefined8 *)0x0;\n  local_300 = (undefined8 *)0x0;\n  if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar20;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  param_1 = pbVar20;\n  if (pbVar20 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }\n  local_2f8 = local_2e0;\n  local_2f0 = local_2d8;\n  local_2ec = 0;\n  local_2e8 = 0;\n  if (local_380 != '\0') {\n    free(local_368);\n  }\n  FUN_0011dd1f(&local_308,&local_300,local_308);\n  goto LAB_0011e780;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "void *pvVar11;" primitive_type (pointer_declarator "*pvVar11" * identifier) ;) (declaration "undefined8 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar14;" (sized_type_specifier "long" long) (pointer_declarator "*plVar14" * identifier) ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "long lVar21;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "byte *local_3a0;" type_identifier (pointer_declarator "*local_3a0" * identifier) ;) (declaration "int local_384;" primitive_type identifier ;) (declaration "char local_380;" primitive_type identifier ;) (declaration "long *local_368;" (sized_type_specifier "long" long) (pointer_declarator "*local_368" * identifier) ;) (declaration "int local_34c;" primitive_type identifier ;) (declaration "byte *local_340;" type_identifier (pointer_declarator "*local_340" * identifier) ;) (declaration "byte *local_338;" type_identifier (pointer_declarator "*local_338" * identifier) ;) (declaration "byte *local_330;" type_identifier (pointer_declarator "*local_330" * identifier) ;) (declaration "byte *local_328;" type_identifier (pointer_declarator "*local_328" * identifier) ;) (declaration "int local_320;" primitive_type identifier ;) (declaration "int local_31c;" primitive_type identifier ;) (declaration "undefined8 *local_308;" type_identifier (pointer_declarator "*local_308" * identifier) ;) (declaration "undefined8 *local_300;" type_identifier (pointer_declarator "*local_300" * identifier) ;) (declaration "undefined1 *local_2f8;" type_identifier (pointer_declarator "*local_2f8" * identifier) ;) (declaration "undefined4 local_2f0;" type_identifier identifier ;) (declaration "undefined4 local_2ec;" type_identifier identifier ;) (declaration "char local_2e8;" primitive_type identifier ;) (declaration "undefined1 *local_2e0;" type_identifier (pointer_declarator "*local_2e0" * identifier) ;) (declaration "undefined4 local_2d8;" type_identifier identifier ;) (declaration "undefined1 *local_2c8;" type_identifier (pointer_declarator "*local_2c8" * identifier) ;) (declaration "int local_2c0;" primitive_type identifier ;) (declaration "int local_2bc;" primitive_type identifier ;) (declaration "long *local_2b8;" (sized_type_specifier "long" long) (pointer_declarator "*local_2b8" * identifier) ;) (declaration "void *local_2b0;" primitive_type (pointer_declarator "*local_2b0" * identifier) ;) (declaration "byte *local_2a8;" type_identifier (pointer_declarator "*local_2a8" * identifier) ;) (declaration "long local_2a0;" (sized_type_specifier "long" long) identifier ;) (declaration "void *local_298;" primitive_type (pointer_declarator "*local_298" * identifier) ;) (declaration "long local_288 [40];" (sized_type_specifier "long" long) (array_declarator "local_288 [40]" identifier [ number_literal ]) ;) (declaration "undefined1 local_148 [264];" type_identifier (array_declarator "local_148 [264]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_308 = (undefined8 *)0x0;" (assignment_expression "local_308 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_300 = (undefined8 *)0x0;" (assignment_expression "local_300 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }" { (expression_statement "pbVar2 = param_1 + param_2;" (assignment_expression "pbVar2 = param_1 + param_2" identifier = (binary_expression "param_1 + param_2" identifier + identifier)) ;) (expression_statement "local_2f8 = local_148;" (assignment_expression "local_2f8 = local_148" identifier = identifier) ;) (expression_statement "local_2f0 = 0x100;" (assignment_expression "local_2f0 = 0x100" identifier = number_literal) ;) (expression_statement "local_2e8 = '\0';" (assignment_expression "local_2e8 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2d8 = 0x100;" (assignment_expression "local_2d8 = 0x100" identifier = number_literal) ;) (expression_statement "local_368 = local_288;" (assignment_expression "local_368 = local_288" identifier = identifier) ;) (expression_statement "local_380 = '\0';" (assignment_expression "local_380 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_34c = 8;" (assignment_expression "local_34c = 8" identifier = number_literal) ;) (expression_statement "local_2e0 = local_2f8;" (assignment_expression "local_2e0 = local_2f8" identifier = identifier) ;) (labeled_statement "LAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);" statement_identifier : (do_statement "do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);" do (compound_statement "{\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    }" { (expression_statement "local_2ec = 0;" (assignment_expression "local_2ec = 0" identifier = number_literal) ;) (expression_statement "pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);" (assignment_expression "pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1)" identifier = (call_expression "memchr(param_1,0x3c,(long)pbVar2 - (long)param_1)" identifier (argument_list "(param_1,0x3c,(long)pbVar2 - (long)param_1)" ( identifier , number_literal , (binary_expression "(long)pbVar2 - (long)param_1" (cast_expression "(long)pbVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;" if (parenthesized_expression "((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))" ( (binary_expression "(pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1)" (parenthesized_expression "(pvVar11 == (void *)0x0)" ( (binary_expression "pvVar11 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1)" ( (comma_expression "pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1" (assignment_expression "pbVar1 = (byte *)((long)pvVar11 + 1)" identifier = (cast_expression "(byte *)((long)pvVar11 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 1)" ( (binary_expression "(long)pvVar11 + 1" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , (binary_expression "pbVar2 <= pbVar1" identifier <= identifier)) ))) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" identifier = identifier) ;) (if_statement "if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }" if (parenthesized_expression "(*(char *)((long)pvVar11 + 1) == '!')" ( (binary_expression "*(char *)((long)pvVar11 + 1) == '!'" (pointer_expression "*(char *)((long)pvVar11 + 1)" * (cast_expression "(char *)((long)pvVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 1)" ( (binary_expression "(long)pvVar11 + 1" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'!'" ' character ')) )) (compound_statement "{\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }" { (if_statement "if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }" if (parenthesized_expression "(((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-'))" ( (binary_expression "((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')" (parenthesized_expression "((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-'))" ( (binary_expression "(((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')" (parenthesized_expression "(((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2))" ( (binary_expression "((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)" (parenthesized_expression "((param_5 & 1) == 0)" ( (binary_expression "(param_5 & 1) == 0" (parenthesized_expression "(param_5 & 1)" ( (binary_expression "param_5 & 1" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((byte *)((long)pvVar11 + 4U) < pbVar2)" ( (binary_expression "(byte *)((long)pvVar11 + 4U) < pbVar2" (cast_expression "(byte *)((long)pvVar11 + 4U)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 4U)" ( (binary_expression "(long)pvVar11 + 4U" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) < identifier) ))) )) && (parenthesized_expression "(*(char *)((long)pvVar11 + 2) == '-')" ( (binary_expression "*(char *)((long)pvVar11 + 2) == '-'" (pointer_expression "*(char *)((long)pvVar11 + 2)" * (cast_expression "(char *)((long)pvVar11 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 2)" ( (binary_expression "(long)pvVar11 + 2" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) && (parenthesized_expression "(pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')" ( (comma_expression "pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-'" (assignment_expression "pbVar1 = (byte *)((long)pvVar11 + 3)" identifier = (cast_expression "(byte *)((long)pvVar11 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 3)" ( (binary_expression "(long)pvVar11 + 3" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , (binary_expression "*(char *)((long)pvVar11 + 3) == '-'" (pointer_expression "*(char *)((long)pvVar11 + 3)" * (cast_expression "(char *)((long)pvVar11 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 3)" ( (binary_expression "(long)pvVar11 + 3" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character '))) ))) )) (compound_statement "{\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }" { (labeled_statement "LAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" statement_identifier : (while_statement "while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" while (parenthesized_expression "(pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2)" ( (comma_expression "pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2" (assignment_expression "pbVar20 = pbVar1" identifier = identifier) , (comma_expression "pbVar1 = pbVar20 + 3, pbVar1 < pbVar2" (assignment_expression "pbVar1 = pbVar20 + 3" identifier = (binary_expression "pbVar20 + 3" identifier + number_literal)) , (binary_expression "pbVar1 < pbVar2" identifier < identifier))) )) (compound_statement "{\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" { (if_statement "if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" if (parenthesized_expression "(pbVar20[3] == 0x2d)" ( (binary_expression "pbVar20[3] == 0x2d" (subscript_expression "pbVar20[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }" { (do_statement "do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);" do (compound_statement "{\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              }" { (expression_statement "pbVar20 = pbVar1;" (assignment_expression "pbVar20 = pbVar1" identifier = identifier) ;) (if_statement "if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;" if (parenthesized_expression "(pbVar20[-1] == 0x2d)" ( (binary_expression "pbVar20[-1] == 0x2d" (subscript_expression "pbVar20[-1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0011e89e;" goto statement_identifier ;)) (expression_statement "pbVar1 = pbVar20 + 2;" (assignment_expression "pbVar1 = pbVar20 + 2" identifier = (binary_expression "pbVar20 + 2" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar1) goto LAB_0011e685;" if (parenthesized_expression "(pbVar2 <= pbVar1)" ( (binary_expression "pbVar2 <= pbVar1" identifier <= identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) }) while (parenthesized_expression "(pbVar20[2] == 0x2d)" ( (binary_expression "pbVar20[2] == 0x2d" (subscript_expression "pbVar20[2]" identifier [ number_literal ]) == number_literal) )) ;) (if_statement "if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }" if (parenthesized_expression "((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d))" ( (binary_expression "(pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)" (parenthesized_expression "(pbVar20[2] == 0x3e)" ( (binary_expression "pbVar20[2] == 0x3e" (subscript_expression "pbVar20[2]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(pbVar20[1] == 0x2d)" ( (binary_expression "pbVar20[1] == 0x2d" (subscript_expression "pbVar20[1]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }" { (expression_statement "pbVar20 = pbVar20 + 3;" (assignment_expression "pbVar20 = pbVar20 + 3" identifier = (binary_expression "pbVar20 + 3" identifier + number_literal)) ;) (goto_statement "goto LAB_0011e8bd;" goto statement_identifier ;) })) }) (else_clause "else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" else (if_statement "if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" if (parenthesized_expression "(((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d))" ( (binary_expression "((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)" (parenthesized_expression "((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d))" ( (binary_expression "(pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)" (parenthesized_expression "(pbVar20[3] == 0x3e)" ( (binary_expression "pbVar20[3] == 0x3e" (subscript_expression "pbVar20[3]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(pbVar20[2] == 0x2d)" ( (binary_expression "pbVar20[2] == 0x2d" (subscript_expression "pbVar20[2]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(pbVar20[1] == 0x2d)" ( (binary_expression "pbVar20[1] == 0x2d" (subscript_expression "pbVar20[1]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" { (expression_statement "pbVar20 = pbVar20 + 4;" (assignment_expression "pbVar20 = pbVar20 + 4" identifier = (binary_expression "pbVar20 + 4" identifier + number_literal)) ;) (goto_statement "goto LAB_0011e8bd;" goto statement_identifier ;) })))) }))) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;) })) (expression_statement "pbVar20 = (byte *)((long)pvVar11 + 2);" (assignment_expression "pbVar20 = (byte *)((long)pvVar11 + 2)" identifier = (cast_expression "(byte *)((long)pvVar11 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 2)" ( (binary_expression "(long)pvVar11 + 2" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }" if (parenthesized_expression "(pbVar2 != pbVar20)" ( (binary_expression "pbVar2 != pbVar20" identifier != identifier) )) (compound_statement "{\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }" { (expression_statement "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);" (call_expression "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3)" (parenthesized_expression "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))" ( (pointer_expression "*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" * (cast_expression "(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" ( (binary_expression "(long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4" (cast_expression "(long)&switchD_0011ea36" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&switchD_0011ea36" & identifier)) (ERROR "::switchdataD_001558dc" : : identifier) + (cast_expression "(long)(int)UINT_001558e4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)UINT_001558e4" ( (type_descriptor "int" primitive_type) ) identifier))) )))) )) (argument_list "(3)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_0011e8ee;" goto statement_identifier ;) })) (expression_statement "local_384 = 0;" (assignment_expression "local_384 = 0" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar1;" (assignment_expression "pbVar20 = pbVar1" identifier = identifier) ;) (expression_statement "local_3a0 = pbVar1;" (assignment_expression "local_3a0 = pbVar1" identifier = identifier) ;) (if_statement "if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }" if (parenthesized_expression "(*(char *)((long)pvVar11 + 1) == '/')" ( (binary_expression "*(char *)((long)pvVar11 + 1) == '/'" (pointer_expression "*(char *)((long)pvVar11 + 1)" * (cast_expression "(char *)((long)pvVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 1)" ( (binary_expression "(long)pvVar11 + 1" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }" { (expression_statement "pbVar20 = (byte *)((long)pvVar11 + 2);" (assignment_expression "pbVar20 = (byte *)((long)pvVar11 + 2)" identifier = (cast_expression "(byte *)((long)pvVar11 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + 2)" ( (binary_expression "(long)pvVar11 + 2" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (if_statement "if (pbVar2 <= pbVar20) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar20)" ( (binary_expression "pbVar2 <= pbVar20" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (expression_statement "local_384 = 1;" (assignment_expression "local_384 = 1" identifier = number_literal) ;) (expression_statement "local_3a0 = pbVar20;" (assignment_expression "local_3a0 = pbVar20" identifier = identifier) ;) })) (while_statement "while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }" { (expression_statement "bVar3 = *pbVar20;" (assignment_expression "bVar3 = *pbVar20" identifier = (pointer_expression "*pbVar20" * identifier)) ;) (expression_statement "bVar5 = (byte)(bVar3 - 0x21) < 0x5e;" (assignment_expression "bVar5 = (byte)(bVar3 - 0x21) < 0x5e" identifier = (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x21)" ( (binary_expression "bVar3 - 0x21" identifier - number_literal) ))) < number_literal)) ;) (expression_statement "bVar6 = 2 < (byte)(bVar3 - 0x3c);" (assignment_expression "bVar6 = 2 < (byte)(bVar3 - 0x3c)" identifier = (binary_expression "2 < (byte)(bVar3 - 0x3c)" number_literal < (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x3c)" ( (binary_expression "bVar3 - 0x3c" identifier - number_literal) ))))) ;) (expression_statement "bVar22 = bVar3 != 0x2f;" (assignment_expression "bVar22 = bVar3 != 0x2f" identifier = (binary_expression "bVar3 != 0x2f" identifier != number_literal)) ;) (if_statement "if ((!bVar5 || !bVar6) || !bVar22) break;" if (parenthesized_expression "((!bVar5 || !bVar6) || !bVar22)" ( (binary_expression "(!bVar5 || !bVar6) || !bVar22" (parenthesized_expression "(!bVar5 || !bVar6)" ( (binary_expression "!bVar5 || !bVar6" (unary_expression "!bVar5" ! identifier) || (unary_expression "!bVar6" ! identifier)) )) || (unary_expression "!bVar22" ! identifier)) )) (break_statement "break;" break ;)) (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" identifier = (binary_expression "pbVar20 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar20) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar20)" ( (binary_expression "pbVar2 <= pbVar20" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "pbVar18 = pbVar20;" (assignment_expression "pbVar18 = pbVar20" identifier = identifier) ;) (expression_statement "param_1 = pbVar20;" (assignment_expression "param_1 = pbVar20" identifier = identifier) ;) }) while (parenthesized_expression "(local_3a0 == pbVar20)" ( (binary_expression "local_3a0 == pbVar20" identifier == identifier) )) ;)) (while_statement "while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }" while (parenthesized_expression "((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) , (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }" { (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (if_statement "if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" if (parenthesized_expression "(local_384 == 0)" ( (binary_expression "local_384 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }" { (expression_statement "puVar12 = (undefined8 *)FUN_001494bf(0x28);" (assignment_expression "puVar12 = (undefined8 *)FUN_001494bf(0x28)" identifier = (cast_expression "(undefined8 *)FUN_001494bf(0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001494bf(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (if_statement "if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }" if (parenthesized_expression "(local_308 == (undefined8 *)0x0)" ( (binary_expression "local_308 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }" { (expression_statement "puVar12[4] = 0;" (assignment_expression "puVar12[4] = 0" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[3] = 0;" (assignment_expression "puVar12[3] = 0" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_308 = puVar12;" (assignment_expression "local_308 = puVar12" identifier = identifier) ;) }) (else_clause "else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }" else (compound_statement "{\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }" { (expression_statement "local_300[4] = puVar12;" (assignment_expression "local_300[4] = puVar12" (subscript_expression "local_300[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = local_300;" (assignment_expression "puVar12[3] = local_300" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[4] = 0;" (assignment_expression "puVar12[4] = 0" (subscript_expression "puVar12[4]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "*puVar12 = local_3a0;" (assignment_expression "*puVar12 = local_3a0" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "puVar12[1] = pbVar20;" (assignment_expression "puVar12[1] = pbVar20" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = 0;" (assignment_expression "puVar12[2] = 0" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_300 = puVar12;" (assignment_expression "local_300 = puVar12" identifier = identifier) ;) }) (else_clause "else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" else (compound_statement "{\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" { (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" identifier = identifier) ;) (if_statement "if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;" if (parenthesized_expression "((*pbVar18 & 0xfd) != 0x3c)" ( (binary_expression "(*pbVar18 & 0xfd) != 0x3c" (parenthesized_expression "(*pbVar18 & 0xfd)" ( (binary_expression "*pbVar18 & 0xfd" (pointer_expression "*pbVar18" * identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) }))) (expression_statement "cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);" (assignment_expression "cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20)" identifier = (call_expression "FUN_0011e529(param_6,local_3a0,pbVar20)" identifier (argument_list "(param_6,local_3a0,pbVar20)" ( identifier , identifier , identifier )))) ;) (if_statement "if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }" if (parenthesized_expression "(cVar9 != '\0')" ( (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }" { (expression_statement "FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);" (call_expression "FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1)" identifier (argument_list "(&local_2f8,local_3a0,pbVar20,1)" ( (pointer_expression "&local_2f8" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "bVar7 = cVar9 == '\0';" (assignment_expression "bVar7 = cVar9 == '\0'" identifier = (binary_expression "cVar9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "local_320 = 0;" (assignment_expression "local_320 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0011eb7b:\n    bVar3 = *pbVar18;" statement_identifier : (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;)) (if_statement "if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;" if (parenthesized_expression "(('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (binary_expression "('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (parenthesized_expression "('\b' < (char)bVar3)" ( (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) )) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0011eb6e;" goto statement_identifier ;)) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (if_statement "if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" if (parenthesized_expression "(bVar3 == 0x2f)" ( (binary_expression "bVar3 == 0x2f" identifier == number_literal) )) (compound_statement "{\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" { (expression_statement "pbVar19 = pbVar18 + 1;" (assignment_expression "pbVar19 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar19) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar19)" ( (binary_expression "pbVar2 <= pbVar19" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (while_statement "while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }" while (parenthesized_expression "((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) , (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }" { (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 == pbVar19) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 == pbVar19)" ( (binary_expression "pbVar2 == pbVar19" identifier == identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" identifier = identifier) ;) (if_statement "if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;" if (parenthesized_expression "((bVar3 & 0xfd) != 0x3c)" ( (binary_expression "(bVar3 & 0xfd) != 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) })) (expression_statement "pbVar17 = pbVar19;" (assignment_expression "pbVar17 = pbVar19" identifier = identifier) ;) (if_statement "if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }" if (parenthesized_expression "((*pbVar19 & 0xfd) != 0x3c)" ( (binary_expression "(*pbVar19 & 0xfd) != 0x3c" (parenthesized_expression "(*pbVar19 & 0xfd)" ( (binary_expression "*pbVar19 & 0xfd" (pointer_expression "*pbVar19" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }" { (while_statement "while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }" while (parenthesized_expression "((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f)))" ( (parenthesized_expression "(bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))" ( (comma_expression "bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f)" (assignment_expression "bVar3 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) , (binary_expression "(byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f)" (binary_expression "(byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c)" (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x21)" ( (binary_expression "bVar3 - 0x21" identifier - number_literal) ))) < number_literal) && (binary_expression "2 < (byte)(bVar3 - 0x3c)" number_literal < (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x3c)" ( (binary_expression "bVar3 - 0x3c" identifier - number_literal) ))))) && (parenthesized_expression "(bVar3 != 0x2f)" ( (binary_expression "bVar3 != 0x2f" identifier != number_literal) )))) )) )) (compound_statement "{\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }" { (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar17) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar17)" ( (binary_expression "pbVar2 <= pbVar17" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" identifier = identifier) ;) (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" identifier = identifier) ;) (if_statement "if (pbVar19 == pbVar17) goto LAB_0011e685;" if (parenthesized_expression "(pbVar19 == pbVar17)" ( (binary_expression "pbVar19 == pbVar17" identifier == identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (while_statement "while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }" while (parenthesized_expression "((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) , (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }" { (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (expression_statement "local_340 = pbVar19;" (assignment_expression "local_340 = pbVar19" identifier = identifier) ;) (expression_statement "local_338 = pbVar19;" (assignment_expression "local_338 = pbVar19" identifier = identifier) ;) (expression_statement "local_330 = pbVar17;" (assignment_expression "local_330 = pbVar17" identifier = identifier) ;) (expression_statement "local_328 = pbVar17;" (assignment_expression "local_328 = pbVar17" identifier = identifier) ;) (if_statement "if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" if (parenthesized_expression "(((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c)))" ( (binary_expression "((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))" (parenthesized_expression "((byte)(bVar3 - 0x21) < 0x5e)" ( (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x21)" ( (binary_expression "bVar3 - 0x21" identifier - number_literal) ))) < number_literal) )) && (parenthesized_expression "(2 < (byte)(bVar3 - 0x3c))" ( (binary_expression "2 < (byte)(bVar3 - 0x3c)" number_literal < (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - 0x3c)" ( (binary_expression "bVar3 - 0x3c" identifier - number_literal) )))) ))) )) (compound_statement "{\n        local_31c = 1;\n      }" { (expression_statement "local_31c = 1;" (assignment_expression "local_31c = 1" identifier = number_literal) ;) }) (else_clause "else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" else (compound_statement "{\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" { (expression_statement "bVar23 = (bVar3 & 0xfd) == 0x3c;" (assignment_expression "bVar23 = (bVar3 & 0xfd) == 0x3c" identifier = (binary_expression "(bVar3 & 0xfd) == 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) == number_literal)) ;) (expression_statement "bVar15 = bVar23 || bVar3 == 0x2f;" (assignment_expression "bVar15 = bVar23 || bVar3 == 0x2f" identifier = (binary_expression "bVar23 || bVar3 == 0x2f" identifier || (binary_expression "bVar3 == 0x2f" identifier == number_literal))) ;) (if_statement "if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" if (parenthesized_expression "(bVar23 || bVar3 == 0x2f)" ( (binary_expression "bVar23 || bVar3 == 0x2f" identifier || (binary_expression "bVar3 == 0x2f" identifier == number_literal)) )) (compound_statement "{\n          local_31c = 1;\n        }" { (expression_statement "local_31c = 1;" (assignment_expression "local_31c = 1" identifier = number_literal) ;) }) (else_clause "else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" else (compound_statement "{\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" { (if_statement "if (bVar3 != 0x3d) goto LAB_0011e685;" if (parenthesized_expression "(bVar3 != 0x3d)" ( (binary_expression "bVar3 != 0x3d" identifier != number_literal) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (expression_statement "local_340 = pbVar18 + 1;" (assignment_expression "local_340 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= local_340) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= local_340)" ( (binary_expression "pbVar2 <= local_340" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (while_statement "while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }" while (parenthesized_expression "((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" ( (parenthesized_expression "(bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" ( (comma_expression "bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *local_340" identifier = (pointer_expression "*local_340" * identifier)) , (binary_expression "'\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" ( (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" ( (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\x0e'" ' escape_sequence ')) || (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) ))) )) )))) )) )) (compound_statement "{\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }" { (expression_statement "local_340 = local_340 + 1;" (assignment_expression "local_340 = local_340 + 1" identifier = (binary_expression "local_340 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 == local_340) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 == local_340)" ( (binary_expression "pbVar2 == local_340" identifier == identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (if_statement "if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }" if (parenthesized_expression "((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27))" ( (binary_expression "(bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)" (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) || (parenthesized_expression "(pbVar18 = local_340, bVar3 == 0x27)" ( (comma_expression "pbVar18 = local_340, bVar3 == 0x27" (assignment_expression "pbVar18 = local_340" identifier = identifier) , (binary_expression "bVar3 == 0x27" identifier == number_literal)) ))) )) (compound_statement "{\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }" { (expression_statement "local_338 = local_340 + 1;" (assignment_expression "local_338 = local_340 + 1" identifier = (binary_expression "local_340 + 1" identifier + number_literal)) ;) (expression_statement "pbVar18 = local_338;" (assignment_expression "pbVar18 = local_338" identifier = identifier) ;) (while_statement "while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }" while (parenthesized_expression "(bVar23 = bVar15, pbVar18 < pbVar2)" ( (comma_expression "bVar23 = bVar15, pbVar18 < pbVar2" (assignment_expression "bVar23 = bVar15" identifier = identifier) , (binary_expression "pbVar18 < pbVar2" identifier < identifier)) )) (compound_statement "{\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }" { (do_statement "do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);" do (compound_statement "{\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              }" { (expression_statement "bVar15 = bVar23;" (assignment_expression "bVar15 = bVar23" identifier = identifier) ;) (expression_statement "local_330 = pbVar18;" (assignment_expression "local_330 = pbVar18" identifier = identifier) ;) (expression_statement "bVar4 = *local_330;" (assignment_expression "bVar4 = *local_330" identifier = (pointer_expression "*local_330" * identifier)) ;) (if_statement "if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }" if (parenthesized_expression "(bVar3 == bVar4)" ( (binary_expression "bVar3 == bVar4" identifier == identifier) )) (compound_statement "{\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }" { (expression_statement "pbVar18 = local_330 + 1;" (assignment_expression "pbVar18 = local_330 + 1" identifier = (binary_expression "local_330 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (expression_statement "local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;" (assignment_expression "local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6" identifier = (binary_expression "(-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6" (parenthesized_expression "(-(uint)((param_5 & 2) == 0) & 0xfffffffc)" ( (binary_expression "-(uint)((param_5 & 2) == 0) & 0xfffffffc" (unary_expression "-(uint)((param_5 & 2) == 0)" - (call_expression "(uint)((param_5 & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((param_5 & 2) == 0)" ( (binary_expression "(param_5 & 2) == 0" (parenthesized_expression "(param_5 & 2)" ( (binary_expression "param_5 & 2" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "local_328 = pbVar18;" (assignment_expression "local_328 = pbVar18" identifier = identifier) ;) (goto_statement "goto LAB_0011ec71;" goto statement_identifier ;) })) (expression_statement "bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));" (assignment_expression "bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U))" identifier = (cast_expression "(bool)(bVar4 == 10 & (bVar15 ^ 1U))" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar4 == 10 & (bVar15 ^ 1U))" ( (binary_expression "bVar4 == 10 & (bVar15 ^ 1U)" (binary_expression "bVar4 == 10" identifier == number_literal) & (parenthesized_expression "(bVar15 ^ 1U)" ( (binary_expression "bVar15 ^ 1U" identifier ^ number_literal) ))) )))) ;) (expression_statement "pbVar18 = local_338;" (assignment_expression "pbVar18 = local_338" identifier = identifier) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (if_statement "if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;" if (parenthesized_expression "((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c))" ( (binary_expression "(bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)" (parenthesized_expression "(bVar15)" ( identifier )) && (parenthesized_expression "(param_1 = local_330, (bVar4 & 0xfd) == 0x3c)" ( (comma_expression "param_1 = local_330, (bVar4 & 0xfd) == 0x3c" (assignment_expression "param_1 = local_330" identifier = identifier) , (binary_expression "(bVar4 & 0xfd) == 0x3c" (parenthesized_expression "(bVar4 & 0xfd)" ( (binary_expression "bVar4 & 0xfd" identifier & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (expression_statement "pbVar18 = local_330 + 1;" (assignment_expression "pbVar18 = local_330 + 1" identifier = (binary_expression "local_330 + 1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;) })) (while_statement "while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }" while (parenthesized_expression "(((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c)))" ( (parenthesized_expression "((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))" ( (binary_expression "(bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c)" (parenthesized_expression "(bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  )" ( (comma_expression "bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))" (assignment_expression "bVar3 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) , (binary_expression "(char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))" (binary_expression "(char)bVar3 < '\t'" (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\t'" ' escape_sequence ')) || (parenthesized_expression "(('\r' < (char)bVar3 && (bVar3 != 0x20)))" ( (parenthesized_expression "('\r' < (char)bVar3 && (bVar3 != 0x20))" ( (binary_expression "'\r' < (char)bVar3 && (bVar3 != 0x20)" (binary_expression "'\r' < (char)bVar3" (char_literal "'\r'" ' escape_sequence ') < (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) && (parenthesized_expression "(bVar3 != 0x20)" ( (binary_expression "bVar3 != 0x20" identifier != number_literal) ))) )) )))) )) && (parenthesized_expression "((bVar3 & 0xfd) != 0x3c)" ( (binary_expression "(bVar3 & 0xfd) != 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }" { (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (if_statement "if (local_340 == pbVar18) goto LAB_0011e685;" if (parenthesized_expression "(local_340 == pbVar18)" ( (binary_expression "local_340 == pbVar18" identifier == identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) (expression_statement "local_31c = 2;" (assignment_expression "local_31c = 2" identifier = number_literal) ;) (expression_statement "local_338 = local_340;" (assignment_expression "local_338 = local_340" identifier = identifier) ;) (expression_statement "local_330 = pbVar18;" (assignment_expression "local_330 = pbVar18" identifier = identifier) ;) (expression_statement "local_328 = pbVar18;" (assignment_expression "local_328 = pbVar18" identifier = identifier) ;) }))) }))) (labeled_statement "LAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" statement_identifier : (if_statement "if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" if (parenthesized_expression "((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0'))" ( (binary_expression "(!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')" (parenthesized_expression "(!bVar7 && ((!bVar5 || !bVar6) || !bVar22))" ( (binary_expression "!bVar7 && ((!bVar5 || !bVar6) || !bVar22)" (unary_expression "!bVar7" ! identifier) && (parenthesized_expression "((!bVar5 || !bVar6) || !bVar22)" ( (binary_expression "(!bVar5 || !bVar6) || !bVar22" (parenthesized_expression "(!bVar5 || !bVar6)" ( (binary_expression "!bVar5 || !bVar6" (unary_expression "!bVar5" ! identifier) || (unary_expression "!bVar6" ! identifier)) )) || (unary_expression "!bVar22" ! identifier)) ))) )) && (parenthesized_expression "(cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')" ( (comma_expression "cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0'" (assignment_expression "cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17)" identifier = (call_expression "FUN_0011e529(param_7,pbVar19,pbVar17)" identifier (argument_list "(param_7,pbVar19,pbVar17)" ( identifier , identifier , identifier )))) , (binary_expression "cVar9 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" { (expression_statement "lVar13 = (long)(local_320 + 1);" (assignment_expression "lVar13 = (long)(local_320 + 1)" identifier = (cast_expression "(long)(local_320 + 1)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(local_320 + 1)" ( (binary_expression "local_320 + 1" identifier + number_literal) )))) ;) (expression_statement "lVar16 = (long)local_34c;" (assignment_expression "lVar16 = (long)local_34c" identifier = (cast_expression "(long)local_34c" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "lVar8 = lVar16;" (assignment_expression "lVar8 = lVar16" identifier = identifier) ;) (if_statement "if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }" if (parenthesized_expression "(lVar16 < lVar13)" ( (binary_expression "lVar16 < lVar13" identifier < identifier) )) (compound_statement "{\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }" { (do_statement "do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);" do (compound_statement "{\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          }" { (expression_statement "lVar21 = lVar8;" (assignment_expression "lVar21 = lVar8" identifier = identifier) ;) (expression_statement "lVar8 = lVar21 * 2;" (assignment_expression "lVar8 = lVar21 * 2" identifier = (binary_expression "lVar21 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "(lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0)" ( (binary_expression "lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0" (binary_expression "lVar13 != lVar8" identifier != identifier) && (binary_expression "SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0" (call_expression "SBORROW8(lVar13,lVar8)" identifier (argument_list "(lVar13,lVar8)" ( identifier , identifier ))) == (binary_expression "lVar13 + lVar21 * -2 < 0" (binary_expression "lVar13 + lVar21 * -2" identifier + (binary_expression "lVar21 * -2" identifier * number_literal)) < number_literal))) )) ;) (if_statement "if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }" if (parenthesized_expression "(lVar16 != lVar8)" ( (binary_expression "lVar16 != lVar8" identifier != identifier) )) (compound_statement "{\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }" { (if_statement "if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }" if (parenthesized_expression "(local_380 == '\0')" ( (binary_expression "local_380 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }" { (expression_statement "plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);" (assignment_expression "plVar14 = (long *)FUN_001494bf(lVar21 * 0x50)" identifier = (cast_expression "(long *)FUN_001494bf(lVar21 * 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001494bf(lVar21 * 0x50)" identifier (argument_list "(lVar21 * 0x50)" ( (binary_expression "lVar21 * 0x50" identifier * number_literal) ))))) ;) (expression_statement "memcpy(plVar14,local_368,(long)local_34c * 0x28);" (call_expression "memcpy(plVar14,local_368,(long)local_34c * 0x28)" identifier (argument_list "(plVar14,local_368,(long)local_34c * 0x28)" ( identifier , identifier , (binary_expression "(long)local_34c * 0x28" (cast_expression "(long)local_34c" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal) ))) ;) (expression_statement "local_368 = plVar14;" (assignment_expression "local_368 = plVar14" identifier = identifier) ;) }) (else_clause "else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }" else (compound_statement "{\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }" { (expression_statement "local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);" (assignment_expression "local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50)" identifier = (cast_expression "(long *)FUN_0014951a(local_368,lVar21 * 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014951a(local_368,lVar21 * 0x50)" identifier (argument_list "(local_368,lVar21 * 0x50)" ( identifier , (binary_expression "lVar21 * 0x50" identifier * number_literal) ))))) ;) }))) (expression_statement "local_34c = (int)lVar8;" (assignment_expression "local_34c = (int)lVar8" identifier = (cast_expression "(int)lVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_380 = cVar9;" (assignment_expression "local_380 = cVar9" identifier = identifier) ;) })) })) (expression_statement "*(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;" (assignment_expression "*(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec" (pointer_expression "*(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c)" * (cast_expression "(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_368 + (long)local_320 * 0x28 + 0x1c)" ( (binary_expression "(long)local_368 + (long)local_320 * 0x28 + 0x1c" (binary_expression "(long)local_368 + (long)local_320 * 0x28" (cast_expression "(long)local_368" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(long)local_320 * 0x28" (cast_expression "(long)local_320" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);" (call_expression "FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1)" identifier (argument_list "(&local_2f8,pbVar19,pbVar17,1)" ( (pointer_expression "&local_2f8" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "*(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;" (assignment_expression "*(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec" (pointer_expression "*(undefined4 *)(local_368 + (long)local_320 * 5 + 4)" * (cast_expression "(undefined4 *)(local_368 + (long)local_320 * 5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_368 + (long)local_320 * 5 + 4)" ( (binary_expression "local_368 + (long)local_320 * 5 + 4" (binary_expression "local_368 + (long)local_320 * 5" identifier + (binary_expression "(long)local_320 * 5" (cast_expression "(long)local_320" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);" (call_expression "FUN_0011ddab(&local_2f8,local_338,local_330,local_31c)" identifier (argument_list "(&local_2f8,local_338,local_330,local_31c)" ( (pointer_expression "&local_2f8" & identifier) , identifier , identifier , identifier ))) ;) (expression_statement "local_368[(long)local_320 * 5 + 2] = (long)local_340;" (assignment_expression "local_368[(long)local_320 * 5 + 2] = (long)local_340" (subscript_expression "local_368[(long)local_320 * 5 + 2]" identifier [ (binary_expression "(long)local_320 * 5 + 2" (binary_expression "(long)local_320 * 5" (cast_expression "(long)local_320" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal) + number_literal) ]) = (cast_expression "(long)local_340" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "*(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;" (assignment_expression "*(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340" (pointer_expression "*(int *)(local_368 + (long)local_320 * 5 + 3)" * (cast_expression "(int *)(local_368 + (long)local_320 * 5 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_368 + (long)local_320 * 5 + 3)" ( (binary_expression "local_368 + (long)local_320 * 5 + 3" (binary_expression "local_368 + (long)local_320 * 5" identifier + (binary_expression "(long)local_320 * 5" (cast_expression "(long)local_320" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) + number_literal) )))) = (binary_expression "(int)local_328 - (int)local_340" (cast_expression "(int)local_328" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_340" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_320 = local_320 + 1;" (assignment_expression "local_320 = local_320 + 1" identifier = (binary_expression "local_320 + 1" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0011eb7b;" goto statement_identifier ;) })) (if_statement "if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }" if (parenthesized_expression "(((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))" ( (binary_expression "((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0)" (parenthesized_expression "((local_384 == 0) && (local_300 != (undefined8 *)0x0))" ( (binary_expression "(local_384 == 0) && (local_300 != (undefined8 *)0x0)" (parenthesized_expression "(local_384 == 0)" ( (binary_expression "local_384 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_300 != (undefined8 *)0x0)" ( (binary_expression "local_300 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((byte *)*local_300 == local_3a0)" ( (binary_expression "(byte *)*local_300 == local_3a0" (cast_expression "(byte *)*local_300" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_300" * identifier)) == identifier) ))) )) (compound_statement "{\n      local_300[2] = pbVar19 + 1;\n    }" { (expression_statement "local_300[2] = pbVar19 + 1;" (assignment_expression "local_300[2] = pbVar19 + 1" (subscript_expression "local_300[2]" identifier [ number_literal ]) = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;" if (parenthesized_expression "(bVar7 || (bVar5 && bVar6) && bVar22)" ( (binary_expression "bVar7 || (bVar5 && bVar6) && bVar22" identifier || (binary_expression "(bVar5 && bVar6) && bVar22" (parenthesized_expression "(bVar5 && bVar6)" ( (binary_expression "bVar5 && bVar6" identifier && identifier) )) && identifier)) )) (goto_statement "goto joined_r0x0011ef79;" goto statement_identifier ;)) (expression_statement "local_2c8 = local_2f8;" (assignment_expression "local_2c8 = local_2f8" identifier = identifier) ;) (expression_statement "local_2c0 = local_384;" (assignment_expression "local_2c0 = local_384" identifier = identifier) ;) (expression_statement "local_2bc = local_320;" (assignment_expression "local_2bc = local_320" identifier = identifier) ;) (if_statement "if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }" if (parenthesized_expression "(0 < local_320)" ( (binary_expression "0 < local_320" number_literal < identifier) )) (compound_statement "{\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }" { (expression_statement "plVar14 = local_368;" (assignment_expression "plVar14 = local_368" identifier = identifier) ;) (do_statement "do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);" do (compound_statement "{\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      }" { (expression_statement "*plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));" (assignment_expression "*plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c))" (pointer_expression "*plVar14" * identifier) = (cast_expression "(long)(local_2f8 + *(int *)((long)plVar14 + 0x1c))" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(local_2f8 + *(int *)((long)plVar14 + 0x1c))" ( (binary_expression "local_2f8 + *(int *)((long)plVar14 + 0x1c)" identifier + (pointer_expression "*(int *)((long)plVar14 + 0x1c)" * (cast_expression "(int *)((long)plVar14 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar14 + 0x1c)" ( (binary_expression "(long)plVar14 + 0x1c" (cast_expression "(long)plVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) )))) ;) (expression_statement "plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);" (assignment_expression "plVar14[1] = (long)(local_2f8 + (int)plVar14[4])" (subscript_expression "plVar14[1]" identifier [ number_literal ]) = (cast_expression "(long)(local_2f8 + (int)plVar14[4])" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(local_2f8 + (int)plVar14[4])" ( (binary_expression "local_2f8 + (int)plVar14[4]" identifier + (cast_expression "(int)plVar14[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar14[4]" identifier [ number_literal ]))) )))) ;) (expression_statement "plVar14 = plVar14 + 5;" (assignment_expression "plVar14 = plVar14 + 5" identifier = (binary_expression "plVar14 + 5" identifier + number_literal)) ;) }) while (parenthesized_expression "(plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5)" ( (binary_expression "plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5" identifier != (binary_expression "local_368 + (ulong)(local_320 - 1) * 5 + 5" (binary_expression "local_368 + (ulong)(local_320 - 1) * 5" identifier + (binary_expression "(ulong)(local_320 - 1) * 5" (call_expression "(ulong)(local_320 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_320 - 1)" ( (binary_expression "local_320 - 1" identifier - number_literal) ))) * number_literal)) + number_literal)) )) ;) })) (expression_statement "local_2b8 = local_368;" (assignment_expression "local_2b8 = local_368" identifier = identifier) ;) (expression_statement "local_2a8 = pbVar19 + 1;" (assignment_expression "local_2a8 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "local_2a0 = 0;" (assignment_expression "local_2a0 = 0" identifier = number_literal) ;) (expression_statement "local_298 = (void *)0x0;" (assignment_expression "local_298 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2b0 = pvVar11;" (assignment_expression "local_2b0 = pvVar11" identifier = identifier) ;) (if_statement "if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }" if (parenthesized_expression "(local_384 != 0)" ( (binary_expression "local_384 != 0" identifier != number_literal) )) (compound_statement "{\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }" { (if_statement "if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }" if (parenthesized_expression "(local_300 != (undefined8 *)0x0)" ( (binary_expression "local_300 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }" { (expression_statement "__n = (size_t)((int)pbVar20 - (int)local_3a0);" (assignment_expression "__n = (size_t)((int)pbVar20 - (int)local_3a0)" identifier = (cast_expression "(size_t)((int)pbVar20 - (int)local_3a0)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "((int)pbVar20 - (int)local_3a0)" ( (binary_expression "(int)pbVar20 - (int)local_3a0" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_3a0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar12 = local_300;" (assignment_expression "puVar12 = local_300" identifier = identifier) ;) (do_statement "do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);" do (compound_statement "{\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        }" { (if_statement "if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }" if (parenthesized_expression "((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0))" ( (binary_expression "(__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)" (parenthesized_expression "(__n == puVar12[1] - (long)*puVar12)" ( (binary_expression "__n == puVar12[1] - (long)*puVar12" identifier == (binary_expression "puVar12[1] - (long)*puVar12" (subscript_expression "puVar12[1]" identifier [ number_literal ]) - (cast_expression "(long)*puVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "*puVar12" * identifier)))) )) && (parenthesized_expression "(iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)" ( (comma_expression "iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0" (assignment_expression "iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n)" identifier = (call_expression "strncasecmp((char *)*puVar12,(char *)local_3a0,__n)" identifier (argument_list "((char *)*puVar12,(char *)local_3a0,__n)" ( (cast_expression "(char *)*puVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier)) , (cast_expression "(char *)local_3a0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }" { (if_statement "if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }" if (parenthesized_expression "(puVar12[2] != 0)" ( (binary_expression "puVar12[2] != 0" (subscript_expression "puVar12[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }" { (expression_statement "local_2a0 = puVar12[2];" (assignment_expression "local_2a0 = puVar12[2]" identifier = (subscript_expression "puVar12[2]" identifier [ number_literal ])) ;) (expression_statement "local_298 = pvVar11;" (assignment_expression "local_298 = pvVar11" identifier = identifier) ;) })) (expression_statement "FUN_0011dd1f(&local_308,&local_300,puVar12);" (call_expression "FUN_0011dd1f(&local_308,&local_300,puVar12)" identifier (argument_list "(&local_308,&local_300,puVar12)" ( (pointer_expression "&local_308" & identifier) , (pointer_expression "&local_300" & identifier) , identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "puVar12 = (undefined8 *)puVar12[3];" (assignment_expression "puVar12 = (undefined8 *)puVar12[3]" identifier = (cast_expression "(undefined8 *)puVar12[3]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[3]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar12 != (undefined8 *)0x0)" ( (binary_expression "puVar12 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) })) (expression_statement "(*param_3)(&local_2c8,param_4);" (call_expression "(*param_3)(&local_2c8,param_4)" (parenthesized_expression "(*param_3)" ( (pointer_expression "*param_3" * identifier) )) (argument_list "(&local_2c8,param_4)" ( (pointer_expression "&local_2c8" & identifier) , identifier ))) ;) (expression_statement "param_1 = pbVar19;" (assignment_expression "param_1 = pbVar19" identifier = identifier) ;) (if_statement "if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }" if (parenthesized_expression "(*pbVar19 != 0x3c)" ( (binary_expression "*pbVar19 != 0x3c" (pointer_expression "*pbVar19" * identifier) != number_literal) )) (compound_statement "{\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }" { (labeled_statement "joined_r0x0011ef79:\n      param_1 = pbVar19 + 1;" statement_identifier : (expression_statement "param_1 = pbVar19 + 1;" (assignment_expression "param_1 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;)) (if_statement "if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar19 + 1)" ( (binary_expression "pbVar2 <= pbVar19 + 1" identifier <= (binary_expression "pbVar19 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;) })) (labeled_statement "LAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" statement_identifier : (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" { (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) (while_statement "while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }" while (parenthesized_expression "(pbVar18[1] == 0x2d)" ( (binary_expression "pbVar18[1] == 0x2d" (subscript_expression "pbVar18[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }" { (labeled_statement "LAB_0011e89e:\n    pbVar18 = pbVar20;" statement_identifier : (expression_statement "pbVar18 = pbVar20;" (assignment_expression "pbVar18 = pbVar20" identifier = identifier) ;)) (expression_statement "pbVar20 = pbVar18 + 1;" (assignment_expression "pbVar20 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar2 == pbVar20) goto LAB_0011e685;" if (parenthesized_expression "(pbVar2 == pbVar20)" ( (binary_expression "pbVar2 == pbVar20" identifier == identifier) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;)) })) (expression_statement "pbVar1 = pbVar20;" (assignment_expression "pbVar1 = pbVar20" identifier = identifier) ;) (if_statement "if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;" if (parenthesized_expression "(pbVar18[1] == 0x3e)" ( (binary_expression "pbVar18[1] == 0x3e" (subscript_expression "pbVar18[1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto code_r0x0011e8b9;" goto statement_identifier ;)) (goto_statement "goto LAB_0011e86d;" goto statement_identifier ;) (labeled_statement "code_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;" statement_identifier : (expression_statement "pbVar20 = pbVar18 + 2;" (assignment_expression "pbVar20 = pbVar18 + 2" identifier = (binary_expression "pbVar18 + 2" identifier + number_literal)) ;)) (labeled_statement "LAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;" statement_identifier : (if_statement "if (pbVar20 == (byte *)0x0) goto LAB_0011e685;" if (parenthesized_expression "(pbVar20 == (byte *)0x0)" ( (binary_expression "pbVar20 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;))) (labeled_statement "LAB_0011e8ee:\n  param_1 = pbVar20;" statement_identifier : (expression_statement "param_1 = pbVar20;" (assignment_expression "param_1 = pbVar20" identifier = identifier) ;)) (if_statement "if (pbVar20 == pbVar2) goto LAB_0011e719;" if (parenthesized_expression "(pbVar20 == pbVar2)" ( (binary_expression "pbVar20 == pbVar2" identifier == identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (goto_statement "goto LAB_0011e685;" goto statement_identifier ;) (labeled_statement "LAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;" statement_identifier : (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;)) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" if (parenthesized_expression "(pbVar2 <= pbVar18)" ( (binary_expression "pbVar2 <= pbVar18" identifier <= identifier) )) (goto_statement "goto LAB_0011e719;" goto statement_identifier ;)) (goto_statement "goto LAB_0011eb7b;" goto statement_identifier ;) (labeled_statement "LAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }" statement_identifier : (if_statement "if (local_2e8 != '\0') {\n    free(local_2f8);\n  }" if (parenthesized_expression "(local_2e8 != '\0')" ( (binary_expression "local_2e8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    free(local_2f8);\n  }" { (expression_statement "free(local_2f8);" (call_expression "free(local_2f8)" identifier (argument_list "(local_2f8)" ( identifier ))) ;) }))) (expression_statement "local_2f8 = local_2e0;" (assignment_expression "local_2f8 = local_2e0" identifier = identifier) ;) (expression_statement "local_2f0 = local_2d8;" (assignment_expression "local_2f0 = local_2d8" identifier = identifier) ;) (expression_statement "local_2ec = 0;" (assignment_expression "local_2ec = 0" identifier = number_literal) ;) (expression_statement "local_2e8 = 0;" (assignment_expression "local_2e8 = 0" identifier = number_literal) ;) (if_statement "if (local_380 != '\0') {\n    free(local_368);\n  }" if (parenthesized_expression "(local_380 != '\0')" ( (binary_expression "local_380 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    free(local_368);\n  }" { (expression_statement "free(local_368);" (call_expression "free(local_368)" identifier (argument_list "(local_368)" ( identifier ))) ;) })) (expression_statement "FUN_0011dd1f(&local_308,&local_300,local_308);" (call_expression "FUN_0011dd1f(&local_308,&local_300,local_308)" identifier (argument_list "(&local_308,&local_300,local_308)" ( (pointer_expression "&local_308" & identifier) , (pointer_expression "&local_300" & identifier) , identifier ))) ;) (goto_statement "goto LAB_0011e780;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (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 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) , (binary_expression IDENT <= IDENT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))) < IDENT) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == (char_literal ' character ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == (char_literal ' character '))) ))) )) (compound_statement { (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT < IDENT))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })))) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT)) (ERROR : : IDENT) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) )) (argument_list ( LIT ))) ;) (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) || (unary_expression ! IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT == IDENT) )) ;)) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression (binary_expression (char_literal ' escape_sequence ') < (cast_expression ( (type_descriptor TYPE) ) IDENT)) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto 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 *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (char_literal ' escape_sequence ') < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression (binary_expression (char_literal ' escape_sequence ') < (cast_expression ( (type_descriptor TYPE) ) IDENT)) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) && (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))))) && (parenthesized_expression ( (binary_expression IDENT != LIT) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression (binary_expression (char_literal ' escape_sequence ') < (cast_expression ( (type_descriptor TYPE) ) IDENT)) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) && (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT || (binary_expression IDENT == LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT || (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression (binary_expression (char_literal ' escape_sequence ') < (cast_expression ( (type_descriptor TYPE) ) IDENT)) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT < IDENT)) )) (compound_statement { (do_statement do (compound_statement { (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 == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) & (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (goto_statement goto statement_identifier ;) })) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (char_literal ' escape_sequence ') < (cast_expression ( (type_descriptor TYPE) ) IDENT)) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) )))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) || (unary_expression ! IDENT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) && (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) == (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) < LIT))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT * LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = 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 (sized_type_specifier long)) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT) + LIT) ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT)) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT || (binary_expression (parenthesized_expression ( (binary_expression IDENT && IDENT) )) && IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression (binary_expression IDENT + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) * LIT)) + LIT)) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = 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 IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression (subscript_expression IDENT [ LIT ]) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression * IDENT)))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return ;) (while_statement while (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "void FUN_0011e5b2(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)\n\n{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  long lVar8;\n  char cVar9;\n  int iVar10;\n  void *pvVar11;\n  undefined8 *puVar12;\n  long lVar13;\n  long *plVar14;\n  bool bVar15;\n  long lVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  long lVar21;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar22;\n  bool bVar23;\n  byte *local_3a0;\n  int local_384;\n  char local_380;\n  long *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  undefined8 *local_308;\n  undefined8 *local_300;\n  undefined1 *local_2f8;\n  undefined4 local_2f0;\n  undefined4 local_2ec;\n  char local_2e8;\n  undefined1 *local_2e0;\n  undefined4 local_2d8;\n  undefined1 *local_2c8;\n  int local_2c0;\n  int local_2bc;\n  long *local_2b8;\n  void *local_2b0;\n  byte *local_2a8;\n  long local_2a0;\n  void *local_298;\n  long local_288 [40];\n  undefined1 local_148 [264];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_308 = (undefined8 *)0x0;\n  local_300 = (undefined8 *)0x0;\n  if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar20;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  param_1 = pbVar20;\n  if (pbVar20 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }\n  local_2f8 = local_2e0;\n  local_2f0 = local_2d8;\n  local_2ec = 0;\n  local_2e8 = 0;\n  if (local_380 != '\0') {\n    free(local_368);\n  }\n  FUN_0011dd1f(&local_308,&local_300,local_308);\n  goto LAB_0011e780;\n}" (primitive_type "void") (function_declarator "FUN_0011e5b2(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)" (identifier "FUN_0011e5b2") (parameter_list "(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,\n                 undefined8 param_6,undefined8 param_7)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "code *param_3" (type_identifier "code") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined8 param_4" (type_identifier "undefined8") (identifier "param_4")) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "undefined8 param_6" (type_identifier "undefined8") (identifier "param_6")) (, ",") (parameter_declaration "undefined8 param_7" (type_identifier "undefined8") (identifier "param_7")) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  byte *pbVar2;\n  byte bVar3;\n  byte bVar4;\n  bool bVar5;\n  bool bVar6;\n  bool bVar7;\n  long lVar8;\n  char cVar9;\n  int iVar10;\n  void *pvVar11;\n  undefined8 *puVar12;\n  long lVar13;\n  long *plVar14;\n  bool bVar15;\n  long lVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  long lVar21;\n  size_t __n;\n  long in_FS_OFFSET;\n  bool bVar22;\n  bool bVar23;\n  byte *local_3a0;\n  int local_384;\n  char local_380;\n  long *local_368;\n  int local_34c;\n  byte *local_340;\n  byte *local_338;\n  byte *local_330;\n  byte *local_328;\n  int local_320;\n  int local_31c;\n  undefined8 *local_308;\n  undefined8 *local_300;\n  undefined1 *local_2f8;\n  undefined4 local_2f0;\n  undefined4 local_2ec;\n  char local_2e8;\n  undefined1 *local_2e0;\n  undefined4 local_2d8;\n  undefined1 *local_2c8;\n  int local_2c0;\n  int local_2bc;\n  long *local_2b8;\n  void *local_2b0;\n  byte *local_2a8;\n  long local_2a0;\n  void *local_298;\n  long local_288 [40];\n  undefined1 local_148 [264];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_308 = (undefined8 *)0x0;\n  local_300 = (undefined8 *)0x0;\n  if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }\nLAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n  while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }\n  pbVar1 = pbVar20;\n  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;\n  goto LAB_0011e86d;\ncode_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;\nLAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;\nLAB_0011e8ee:\n  param_1 = pbVar20;\n  if (pbVar20 == pbVar2) goto LAB_0011e719;\n  goto LAB_0011e685;\nLAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;\n  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n  goto LAB_0011eb7b;\nLAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }\n  local_2f8 = local_2e0;\n  local_2f0 = local_2d8;\n  local_2ec = 0;\n  local_2e8 = 0;\n  if (local_380 != '\0') {\n    free(local_368);\n  }\n  FUN_0011dd1f(&local_308,&local_300,local_308);\n  goto LAB_0011e780;\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "byte *pbVar2;" (type_identifier "byte") (pointer_declarator "*pbVar2" (* "*") (identifier "pbVar2")) (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "bool bVar5;" (primitive_type "bool") (identifier "bVar5") (; ";")) (declaration "bool bVar6;" (primitive_type "bool") (identifier "bVar6") (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "long lVar8;" (sized_type_specifier "long" (long "long")) (identifier "lVar8") (; ";")) (declaration "char cVar9;" (primitive_type "char") (identifier "cVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "void *pvVar11;" (primitive_type "void") (pointer_declarator "*pvVar11" (* "*") (identifier "pvVar11")) (; ";")) (declaration "undefined8 *puVar12;" (type_identifier "undefined8") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "long lVar13;" (sized_type_specifier "long" (long "long")) (identifier "lVar13") (; ";")) (declaration "long *plVar14;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar14" (* "*") (identifier "plVar14")) (; ";")) (declaration "bool bVar15;" (primitive_type "bool") (identifier "bVar15") (; ";")) (declaration "long lVar16;" (sized_type_specifier "long" (long "long")) (identifier "lVar16") (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "long lVar21;" (sized_type_specifier "long" (long "long")) (identifier "lVar21") (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (declaration "bool bVar23;" (primitive_type "bool") (identifier "bVar23") (; ";")) (declaration "byte *local_3a0;" (type_identifier "byte") (pointer_declarator "*local_3a0" (* "*") (identifier "local_3a0")) (; ";")) (declaration "int local_384;" (primitive_type "int") (identifier "local_384") (; ";")) (declaration "char local_380;" (primitive_type "char") (identifier "local_380") (; ";")) (declaration "long *local_368;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_368" (* "*") (identifier "local_368")) (; ";")) (declaration "int local_34c;" (primitive_type "int") (identifier "local_34c") (; ";")) (declaration "byte *local_340;" (type_identifier "byte") (pointer_declarator "*local_340" (* "*") (identifier "local_340")) (; ";")) (declaration "byte *local_338;" (type_identifier "byte") (pointer_declarator "*local_338" (* "*") (identifier "local_338")) (; ";")) (declaration "byte *local_330;" (type_identifier "byte") (pointer_declarator "*local_330" (* "*") (identifier "local_330")) (; ";")) (declaration "byte *local_328;" (type_identifier "byte") (pointer_declarator "*local_328" (* "*") (identifier "local_328")) (; ";")) (declaration "int local_320;" (primitive_type "int") (identifier "local_320") (; ";")) (declaration "int local_31c;" (primitive_type "int") (identifier "local_31c") (; ";")) (declaration "undefined8 *local_308;" (type_identifier "undefined8") (pointer_declarator "*local_308" (* "*") (identifier "local_308")) (; ";")) (declaration "undefined8 *local_300;" (type_identifier "undefined8") (pointer_declarator "*local_300" (* "*") (identifier "local_300")) (; ";")) (declaration "undefined1 *local_2f8;" (type_identifier "undefined1") (pointer_declarator "*local_2f8" (* "*") (identifier "local_2f8")) (; ";")) (declaration "undefined4 local_2f0;" (type_identifier "undefined4") (identifier "local_2f0") (; ";")) (declaration "undefined4 local_2ec;" (type_identifier "undefined4") (identifier "local_2ec") (; ";")) (declaration "char local_2e8;" (primitive_type "char") (identifier "local_2e8") (; ";")) (declaration "undefined1 *local_2e0;" (type_identifier "undefined1") (pointer_declarator "*local_2e0" (* "*") (identifier "local_2e0")) (; ";")) (declaration "undefined4 local_2d8;" (type_identifier "undefined4") (identifier "local_2d8") (; ";")) (declaration "undefined1 *local_2c8;" (type_identifier "undefined1") (pointer_declarator "*local_2c8" (* "*") (identifier "local_2c8")) (; ";")) (declaration "int local_2c0;" (primitive_type "int") (identifier "local_2c0") (; ";")) (declaration "int local_2bc;" (primitive_type "int") (identifier "local_2bc") (; ";")) (declaration "long *local_2b8;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_2b8" (* "*") (identifier "local_2b8")) (; ";")) (declaration "void *local_2b0;" (primitive_type "void") (pointer_declarator "*local_2b0" (* "*") (identifier "local_2b0")) (; ";")) (declaration "byte *local_2a8;" (type_identifier "byte") (pointer_declarator "*local_2a8" (* "*") (identifier "local_2a8")) (; ";")) (declaration "long local_2a0;" (sized_type_specifier "long" (long "long")) (identifier "local_2a0") (; ";")) (declaration "void *local_298;" (primitive_type "void") (pointer_declarator "*local_298" (* "*") (identifier "local_298")) (; ";")) (declaration "long local_288 [40];" (sized_type_specifier "long" (long "long")) (array_declarator "local_288 [40]" (identifier "local_288") ([ "[") (number_literal "40") (] "]")) (; ";")) (declaration "undefined1 local_148 [264];" (type_identifier "undefined1") (array_declarator "local_148 [264]" (identifier "local_148") ([ "[") (number_literal "264") (] "]")) (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "local_308 = (undefined8 *)0x0;" (assignment_expression "local_308 = (undefined8 *)0x0" (identifier "local_308") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_300 = (undefined8 *)0x0;" (assignment_expression "local_300 = (undefined8 *)0x0" (identifier "local_300") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (param_2 != 0) {\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pbVar2 = param_1 + param_2;\n    local_2f8 = local_148;\n    local_2f0 = 0x100;\n    local_2e8 = '\0';\n    local_2d8 = 0x100;\n    local_368 = local_288;\n    local_380 = '\0';\n    local_34c = 8;\n    local_2e0 = local_2f8;\nLAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);\n    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }\n    if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);\n    if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }\n    bVar7 = cVar9 == '\0';\n    local_320 = 0;\nLAB_0011eb7b:\n    bVar3 = *pbVar18;\n    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;\n    pbVar19 = pbVar18;\n    if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }\n    pbVar17 = pbVar19;\n    if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }\n    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }\n    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;\n    local_2c8 = local_2f8;\n    local_2c0 = local_384;\n    local_2bc = local_320;\n    if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }\n    local_2b8 = local_368;\n    local_2a8 = pbVar19 + 1;\n    local_2a0 = 0;\n    local_298 = (void *)0x0;\n    local_2b0 = pvVar11;\n    if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }\n    (*param_3)(&local_2c8,param_4);\n    param_1 = pbVar19;\n    if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }\n    goto LAB_0011e685;\n  }" ({ "{") (expression_statement "pbVar2 = param_1 + param_2;" (assignment_expression "pbVar2 = param_1 + param_2" (identifier "pbVar2") (= "=") (binary_expression "param_1 + param_2" (identifier "param_1") (+ "+") (identifier "param_2"))) (; ";")) (expression_statement "local_2f8 = local_148;" (assignment_expression "local_2f8 = local_148" (identifier "local_2f8") (= "=") (identifier "local_148")) (; ";")) (expression_statement "local_2f0 = 0x100;" (assignment_expression "local_2f0 = 0x100" (identifier "local_2f0") (= "=") (number_literal "0x100")) (; ";")) (expression_statement "local_2e8 = '\0';" (assignment_expression "local_2e8 = '\0'" (identifier "local_2e8") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_2d8 = 0x100;" (assignment_expression "local_2d8 = 0x100" (identifier "local_2d8") (= "=") (number_literal "0x100")) (; ";")) (expression_statement "local_368 = local_288;" (assignment_expression "local_368 = local_288" (identifier "local_368") (= "=") (identifier "local_288")) (; ";")) (expression_statement "local_380 = '\0';" (assignment_expression "local_380 = '\0'" (identifier "local_380") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_34c = 8;" (assignment_expression "local_34c = 8" (identifier "local_34c") (= "=") (number_literal "8")) (; ";")) (expression_statement "local_2e0 = local_2f8;" (assignment_expression "local_2e0 = local_2f8" (identifier "local_2e0") (= "=") (identifier "local_2f8")) (; ";")) (labeled_statement "LAB_0011e685:\n    do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);" (statement_identifier "LAB_0011e685") (: ":") (do_statement "do {\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    } while (local_3a0 == pbVar20);" (do "do") (compound_statement "{\n      local_2ec = 0;\n      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);\n      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;\n      param_1 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }\n      local_384 = 0;\n      pbVar20 = pbVar1;\n      local_3a0 = pbVar1;\n      if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }\n      while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar20;\n      param_1 = pbVar20;\n    }" ({ "{") (expression_statement "local_2ec = 0;" (assignment_expression "local_2ec = 0" (identifier "local_2ec") (= "=") (number_literal "0")) (; ";")) (expression_statement "pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);" (assignment_expression "pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1)" (identifier "pvVar11") (= "=") (call_expression "memchr(param_1,0x3c,(long)pbVar2 - (long)param_1)" (identifier "memchr") (argument_list "(param_1,0x3c,(long)pbVar2 - (long)param_1)" (( "(") (identifier "param_1") (, ",") (number_literal "0x3c") (, ",") (binary_expression "(long)pbVar2 - (long)param_1" (cast_expression "(long)pbVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pbVar2")) (- "-") (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1"))) () ")")))) (; ";")) (if_statement "if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))\n      goto LAB_0011e719;" (if "if") (parenthesized_expression "((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))" (( "(") (binary_expression "(pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1)" (parenthesized_expression "(pvVar11 == (void *)0x0)" (( "(") (binary_expression "pvVar11 == (void *)0x0" (identifier "pvVar11") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1)" (( "(") (comma_expression "pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1" (assignment_expression "pbVar1 = (byte *)((long)pvVar11 + 1)" (identifier "pbVar1") (= "=") (cast_expression "(byte *)((long)pvVar11 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar11 + 1)" (( "(") (binary_expression "(long)pvVar11 + 1" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (number_literal "1")) () ")")))) (, ",") (binary_expression "pbVar2 <= pbVar1" (identifier "pbVar2") (<= "<=") (identifier "pbVar1"))) () ")"))) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" (identifier "param_1") (= "=") (identifier "pbVar1")) (; ";")) (if_statement "if (*(char *)((long)pvVar11 + 1) == '!') {\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }" (if "if") (parenthesized_expression "(*(char *)((long)pvVar11 + 1) == '!')" (( "(") (binary_expression "*(char *)((long)pvVar11 + 1) == '!'" (pointer_expression "*(char *)((long)pvVar11 + 1)" (* "*") (cast_expression "(char *)((long)pvVar11 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar11 + 1)" (( "(") (binary_expression "(long)pvVar11 + 1" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'!'" (' "'") (character "!") (' "'"))) () ")")) (compound_statement "{\n        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }\n        goto LAB_0011e8ee;\n      }" ({ "{") (if_statement "if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }" (if "if") (parenthesized_expression "(((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-'))" (( "(") (binary_expression "((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')) &&\n           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')" (parenthesized_expression "((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-'))" (( "(") (binary_expression "(((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&\n            (*(char *)((long)pvVar11 + 2) == '-')" (parenthesized_expression "(((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2))" (( "(") (binary_expression "((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)" (parenthesized_expression "((param_5 & 1) == 0)" (( "(") (binary_expression "(param_5 & 1) == 0" (parenthesized_expression "(param_5 & 1)" (( "(") (binary_expression "param_5 & 1" (identifier "param_5") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((byte *)((long)pvVar11 + 4U) < pbVar2)" (( "(") (binary_expression "(byte *)((long)pvVar11 + 4U) < pbVar2" (cast_expression "(byte *)((long)pvVar11 + 4U)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar11 + 4U)" (( "(") (binary_expression "(long)pvVar11 + 4U" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (number_literal "4U")) () ")"))) (< "<") (identifier "pbVar2")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((long)pvVar11 + 2) == '-')" (( "(") (binary_expression "*(char *)((long)pvVar11 + 2) == '-'" (pointer_expression "*(char *)((long)pvVar11 + 2)" (* "*") (cast_expression "(char *)((long)pvVar11 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar11 + 2)" (( "(") (binary_expression "(long)pvVar11 + 2" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (number_literal "2")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')" (( "(") (comma_expression "pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-'" (assignment_expression "pbVar1 = (byte *)((long)pvVar11 + 3)" (identifier "pbVar1") (= "=") (cast_expression "(byte *)((long)pvVar11 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar11 + 3)" (( "(") (binary_expression "(long)pvVar11 + 3" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (number_literal "3")) () ")")))) (, ",") (binary_expression "*(char *)((long)pvVar11 + 3) == '-'" (pointer_expression "*(char *)((long)pvVar11 + 3)" (* "*") (cast_expression "(char *)((long)pvVar11 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar11 + 3)" (( "(") (binary_expression "(long)pvVar11 + 3" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (number_literal "3")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'")))) () ")"))) () ")")) (compound_statement "{\nLAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }\n          goto LAB_0011e685;\n        }" ({ "{") (labeled_statement "LAB_0011e86d:\n          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" (statement_identifier "LAB_0011e86d") (: ":") (while_statement "while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" (while "while") (parenthesized_expression "(pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2)" (( "(") (comma_expression "pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2" (assignment_expression "pbVar20 = pbVar1" (identifier "pbVar20") (= "=") (identifier "pbVar1")) (, ",") (comma_expression "pbVar1 = pbVar20 + 3, pbVar1 < pbVar2" (assignment_expression "pbVar1 = pbVar20 + 3" (identifier "pbVar1") (= "=") (binary_expression "pbVar20 + 3" (identifier "pbVar20") (+ "+") (number_literal "3"))) (, ",") (binary_expression "pbVar1 < pbVar2" (identifier "pbVar1") (< "<") (identifier "pbVar2")))) () ")")) (compound_statement "{\n            if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }\n          }" ({ "{") (if_statement "if (pbVar20[3] == 0x2d) {\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }\n            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" (if "if") (parenthesized_expression "(pbVar20[3] == 0x2d)" (( "(") (binary_expression "pbVar20[3] == 0x2d" (subscript_expression "pbVar20[3]" (identifier "pbVar20") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\n              do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);\n              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }\n            }" ({ "{") (do_statement "do {\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              } while (pbVar20[2] == 0x2d);" (do "do") (compound_statement "{\n                pbVar20 = pbVar1;\n                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;\n                pbVar1 = pbVar20 + 2;\n                if (pbVar2 <= pbVar1) goto LAB_0011e685;\n              }" ({ "{") (expression_statement "pbVar20 = pbVar1;" (assignment_expression "pbVar20 = pbVar1" (identifier "pbVar20") (= "=") (identifier "pbVar1")) (; ";")) (if_statement "if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;" (if "if") (parenthesized_expression "(pbVar20[-1] == 0x2d)" (( "(") (binary_expression "pbVar20[-1] == 0x2d" (subscript_expression "pbVar20[-1]" (identifier "pbVar20") ([ "[") (number_literal "-1") (] "]")) (== "==") (number_literal "0x2d")) () ")")) (goto_statement "goto LAB_0011e89e;" (goto "goto") (statement_identifier "LAB_0011e89e") (; ";"))) (expression_statement "pbVar1 = pbVar20 + 2;" (assignment_expression "pbVar1 = pbVar20 + 2" (identifier "pbVar1") (= "=") (binary_expression "pbVar20 + 2" (identifier "pbVar20") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (pbVar2 <= pbVar1) goto LAB_0011e685;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar1)" (( "(") (binary_expression "pbVar2 <= pbVar1" (identifier "pbVar2") (<= "<=") (identifier "pbVar1")) () ")")) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(pbVar20[2] == 0x2d)" (( "(") (binary_expression "pbVar20[2] == 0x2d" (subscript_expression "pbVar20[2]" (identifier "pbVar20") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x2d")) () ")")) (; ";")) (if_statement "if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }" (if "if") (parenthesized_expression "((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d))" (( "(") (binary_expression "(pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)" (parenthesized_expression "(pbVar20[2] == 0x3e)" (( "(") (binary_expression "pbVar20[2] == 0x3e" (subscript_expression "pbVar20[2]" (identifier "pbVar20") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x3e")) () ")")) (&& "&&") (parenthesized_expression "(pbVar20[1] == 0x2d)" (( "(") (binary_expression "pbVar20[1] == 0x2d" (subscript_expression "pbVar20[1]" (identifier "pbVar20") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x2d")) () ")"))) () ")")) (compound_statement "{\n                pbVar20 = pbVar20 + 3;\n                goto LAB_0011e8bd;\n              }" ({ "{") (expression_statement "pbVar20 = pbVar20 + 3;" (assignment_expression "pbVar20 = pbVar20 + 3" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + 3" (identifier "pbVar20") (+ "+") (number_literal "3"))) (; ";")) (goto_statement "goto LAB_0011e8bd;" (goto "goto") (statement_identifier "LAB_0011e8bd") (; ";")) (} "}"))) (} "}")) (else_clause "else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" (else "else") (if_statement "if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" (if "if") (parenthesized_expression "(((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d))" (( "(") (binary_expression "((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)" (parenthesized_expression "((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d))" (( "(") (binary_expression "(pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)" (parenthesized_expression "(pbVar20[3] == 0x3e)" (( "(") (binary_expression "pbVar20[3] == 0x3e" (subscript_expression "pbVar20[3]" (identifier "pbVar20") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0x3e")) () ")")) (&& "&&") (parenthesized_expression "(pbVar20[2] == 0x2d)" (( "(") (binary_expression "pbVar20[2] == 0x2d" (subscript_expression "pbVar20[2]" (identifier "pbVar20") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x2d")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pbVar20[1] == 0x2d)" (( "(") (binary_expression "pbVar20[1] == 0x2d" (subscript_expression "pbVar20[1]" (identifier "pbVar20") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x2d")) () ")"))) () ")")) (compound_statement "{\n              pbVar20 = pbVar20 + 4;\n              goto LAB_0011e8bd;\n            }" ({ "{") (expression_statement "pbVar20 = pbVar20 + 4;" (assignment_expression "pbVar20 = pbVar20 + 4" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + 4" (identifier "pbVar20") (+ "+") (number_literal "4"))) (; ";")) (goto_statement "goto LAB_0011e8bd;" (goto "goto") (statement_identifier "LAB_0011e8bd") (; ";")) (} "}"))))) (} "}")))) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";")) (} "}"))) (expression_statement "pbVar20 = (byte *)((long)pvVar11 + 2);" (assignment_expression "pbVar20 = (byte *)((long)pvVar11 + 2)" (identifier "pbVar20") (= "=") (cast_expression "(byte *)((long)pvVar11 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar11 + 2)" (( "(") (binary_expression "(long)pvVar11 + 2" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (pbVar2 != pbVar20) {\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }" (if "if") (parenthesized_expression "(pbVar2 != pbVar20)" (( "(") (binary_expression "pbVar2 != pbVar20" (identifier "pbVar2") (!= "!=") (identifier "pbVar20")) () ")")) (compound_statement "{\n                    \n                    \n          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);\n          return;\n        }" ({ "{") (expression_statement "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);" (call_expression "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3)" (parenthesized_expression "(*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))" (( "(") (pointer_expression "*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" (* "*") (cast_expression "(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4)" (( "(") (binary_expression "(long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4" (cast_expression "(long)&switchD_0011ea36" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&switchD_0011ea36" (& "&") (identifier "switchD_0011ea36"))) (ERROR "::switchdataD_001558dc" (: ":") (: ":") (identifier "switchdataD_001558dc")) (+ "+") (cast_expression "(long)(int)UINT_001558e4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)UINT_001558e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "UINT_001558e4")))) () ")")))) () ")")) (argument_list "(3)" (( "(") (number_literal "3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_0011e8ee;" (goto "goto") (statement_identifier "LAB_0011e8ee") (; ";")) (} "}"))) (expression_statement "local_384 = 0;" (assignment_expression "local_384 = 0" (identifier "local_384") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar20 = pbVar1;" (assignment_expression "pbVar20 = pbVar1" (identifier "pbVar20") (= "=") (identifier "pbVar1")) (; ";")) (expression_statement "local_3a0 = pbVar1;" (assignment_expression "local_3a0 = pbVar1" (identifier "local_3a0") (= "=") (identifier "pbVar1")) (; ";")) (if_statement "if (*(char *)((long)pvVar11 + 1) == '/') {\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }" (if "if") (parenthesized_expression "(*(char *)((long)pvVar11 + 1) == '/')" (( "(") (binary_expression "*(char *)((long)pvVar11 + 1) == '/'" (pointer_expression "*(char *)((long)pvVar11 + 1)" (* "*") (cast_expression "(char *)((long)pvVar11 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar11 + 1)" (( "(") (binary_expression "(long)pvVar11 + 1" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n        pbVar20 = (byte *)((long)pvVar11 + 2);\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n        local_384 = 1;\n        local_3a0 = pbVar20;\n      }" ({ "{") (expression_statement "pbVar20 = (byte *)((long)pvVar11 + 2);" (assignment_expression "pbVar20 = (byte *)((long)pvVar11 + 2)" (identifier "pbVar20") (= "=") (cast_expression "(byte *)((long)pvVar11 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar11 + 2)" (( "(") (binary_expression "(long)pvVar11 + 2" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (pbVar2 <= pbVar20) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar20)" (( "(") (binary_expression "pbVar2 <= pbVar20" (identifier "pbVar2") (<= "<=") (identifier "pbVar20")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (expression_statement "local_384 = 1;" (assignment_expression "local_384 = 1" (identifier "local_384") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_3a0 = pbVar20;" (assignment_expression "local_3a0 = pbVar20" (identifier "local_3a0") (= "=") (identifier "pbVar20")) (; ";")) (} "}"))) (while_statement "while( true ) {\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        bVar3 = *pbVar20;\n        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;\n        bVar6 = 2 < (byte)(bVar3 - 0x3c);\n        bVar22 = bVar3 != 0x2f;\n        if ((!bVar5 || !bVar6) || !bVar22) break;\n        pbVar20 = pbVar20 + 1;\n        if (pbVar2 <= pbVar20) goto LAB_0011e719;\n      }" ({ "{") (expression_statement "bVar3 = *pbVar20;" (assignment_expression "bVar3 = *pbVar20" (identifier "bVar3") (= "=") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20"))) (; ";")) (expression_statement "bVar5 = (byte)(bVar3 - 0x21) < 0x5e;" (assignment_expression "bVar5 = (byte)(bVar3 - 0x21) < 0x5e" (identifier "bVar5") (= "=") (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar3 - 0x21)" (( "(") (binary_expression "bVar3 - 0x21" (identifier "bVar3") (- "-") (number_literal "0x21")) () ")"))) (< "<") (number_literal "0x5e"))) (; ";")) (expression_statement "bVar6 = 2 < (byte)(bVar3 - 0x3c);" (assignment_expression "bVar6 = 2 < (byte)(bVar3 - 0x3c)" (identifier "bVar6") (= "=") (binary_expression "2 < (byte)(bVar3 - 0x3c)" (number_literal "2") (< "<") (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar3 - 0x3c)" (( "(") (binary_expression "bVar3 - 0x3c" (identifier "bVar3") (- "-") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "bVar22 = bVar3 != 0x2f;" (assignment_expression "bVar22 = bVar3 != 0x2f" (identifier "bVar22") (= "=") (binary_expression "bVar3 != 0x2f" (identifier "bVar3") (!= "!=") (number_literal "0x2f"))) (; ";")) (if_statement "if ((!bVar5 || !bVar6) || !bVar22) break;" (if "if") (parenthesized_expression "((!bVar5 || !bVar6) || !bVar22)" (( "(") (binary_expression "(!bVar5 || !bVar6) || !bVar22" (parenthesized_expression "(!bVar5 || !bVar6)" (( "(") (binary_expression "!bVar5 || !bVar6" (unary_expression "!bVar5" (! "!") (identifier "bVar5")) (|| "||") (unary_expression "!bVar6" (! "!") (identifier "bVar6"))) () ")")) (|| "||") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pbVar20 = pbVar20 + 1;" (assignment_expression "pbVar20 = pbVar20 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + 1" (identifier "pbVar20") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 <= pbVar20) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar20)" (( "(") (binary_expression "pbVar2 <= pbVar20" (identifier "pbVar2") (<= "<=") (identifier "pbVar20")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (} "}"))) (expression_statement "pbVar18 = pbVar20;" (assignment_expression "pbVar18 = pbVar20" (identifier "pbVar18") (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "param_1 = pbVar20;" (assignment_expression "param_1 = pbVar20" (identifier "param_1") (= "=") (identifier "pbVar20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_3a0 == pbVar20)" (( "(") (binary_expression "local_3a0 == pbVar20" (identifier "local_3a0") (== "==") (identifier "pbVar20")) () ")")) (; ";"))) (while_statement "while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }" (while "while") (parenthesized_expression "((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" (( "(") (parenthesized_expression "(bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" (( "(") (comma_expression "bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (, ",") (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'")) (< "<") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) (&& "&&") (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (( "(") (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" (( "(") (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3")) (< "<") (char_literal "'\x0e'" (' "'") (escape_sequence "\x0e") (' "'"))) (|| "||") (parenthesized_expression "(bVar3 == 0x20)" (( "(") (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) () ")"))) () ")")) () ")")))) () ")")) () ")")) (compound_statement "{\n      pbVar18 = pbVar18 + 1;\n      if (pbVar2 <= pbVar18) goto LAB_0011e719;\n    }" ({ "{") (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar18)" (( "(") (binary_expression "pbVar2 <= pbVar18" (identifier "pbVar2") (<= "<=") (identifier "pbVar18")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (} "}"))) (if_statement "if (local_384 == 0) {\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }\n    else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" (if "if") (parenthesized_expression "(local_384 == 0)" (( "(") (binary_expression "local_384 == 0" (identifier "local_384") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar12 = (undefined8 *)FUN_001494bf(0x28);\n      if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }\n      *puVar12 = local_3a0;\n      puVar12[1] = pbVar20;\n      puVar12[2] = 0;\n      local_300 = puVar12;\n    }" ({ "{") (expression_statement "puVar12 = (undefined8 *)FUN_001494bf(0x28);" (assignment_expression "puVar12 = (undefined8 *)FUN_001494bf(0x28)" (identifier "puVar12") (= "=") (cast_expression "(undefined8 *)FUN_001494bf(0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001494bf(0x28)" (identifier "FUN_001494bf") (argument_list "(0x28)" (( "(") (number_literal "0x28") () ")"))))) (; ";")) (if_statement "if (local_308 == (undefined8 *)0x0) {\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }\n      else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }" (if "if") (parenthesized_expression "(local_308 == (undefined8 *)0x0)" (( "(") (binary_expression "local_308 == (undefined8 *)0x0" (identifier "local_308") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        puVar12[4] = 0;\n        puVar12[3] = 0;\n        local_308 = puVar12;\n      }" ({ "{") (expression_statement "puVar12[4] = 0;" (assignment_expression "puVar12[4] = 0" (subscript_expression "puVar12[4]" (identifier "puVar12") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[3] = 0;" (assignment_expression "puVar12[3] = 0" (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_308 = puVar12;" (assignment_expression "local_308 = puVar12" (identifier "local_308") (= "=") (identifier "puVar12")) (; ";")) (} "}")) (else_clause "else {\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }" (else "else") (compound_statement "{\n        local_300[4] = puVar12;\n        puVar12[3] = local_300;\n        puVar12[4] = 0;\n      }" ({ "{") (expression_statement "local_300[4] = puVar12;" (assignment_expression "local_300[4] = puVar12" (subscript_expression "local_300[4]" (identifier "local_300") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "puVar12")) (; ";")) (expression_statement "puVar12[3] = local_300;" (assignment_expression "puVar12[3] = local_300" (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_300")) (; ";")) (expression_statement "puVar12[4] = 0;" (assignment_expression "puVar12[4] = 0" (subscript_expression "puVar12[4]" (identifier "puVar12") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "*puVar12 = local_3a0;" (assignment_expression "*puVar12 = local_3a0" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "local_3a0")) (; ";")) (expression_statement "puVar12[1] = pbVar20;" (assignment_expression "puVar12[1] = pbVar20" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "puVar12[2] = 0;" (assignment_expression "puVar12[2] = 0" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_300 = puVar12;" (assignment_expression "local_300 = puVar12" (identifier "local_300") (= "=") (identifier "puVar12")) (; ";")) (} "}")) (else_clause "else {\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" (else "else") (compound_statement "{\n      param_1 = pbVar1;\n      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" ({ "{") (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" (identifier "param_1") (= "=") (identifier "pbVar1")) (; ";")) (if_statement "if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;" (if "if") (parenthesized_expression "((*pbVar18 & 0xfd) != 0x3c)" (( "(") (binary_expression "(*pbVar18 & 0xfd) != 0x3c" (parenthesized_expression "(*pbVar18 & 0xfd)" (( "(") (binary_expression "*pbVar18 & 0xfd" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (& "&") (number_literal "0xfd")) () ")")) (!= "!=") (number_literal "0x3c")) () ")")) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";"))) (} "}")))) (expression_statement "cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);" (assignment_expression "cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20)" (identifier "cVar9") (= "=") (call_expression "FUN_0011e529(param_6,local_3a0,pbVar20)" (identifier "FUN_0011e529") (argument_list "(param_6,local_3a0,pbVar20)" (( "(") (identifier "param_6") (, ",") (identifier "local_3a0") (, ",") (identifier "pbVar20") () ")")))) (; ";")) (if_statement "if (cVar9 != '\0') {\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }" (if "if") (parenthesized_expression "(cVar9 != '\0')" (( "(") (binary_expression "cVar9 != '\0'" (identifier "cVar9") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);\n    }" ({ "{") (expression_statement "FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);" (call_expression "FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1)" (identifier "FUN_0011ddab") (argument_list "(&local_2f8,local_3a0,pbVar20,1)" (( "(") (pointer_expression "&local_2f8" (& "&") (identifier "local_2f8")) (, ",") (identifier "local_3a0") (, ",") (identifier "pbVar20") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar7 = cVar9 == '\0';" (assignment_expression "bVar7 = cVar9 == '\0'" (identifier "bVar7") (= "=") (binary_expression "cVar9 == '\0'" (identifier "cVar9") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (expression_statement "local_320 = 0;" (assignment_expression "local_320 = 0" (identifier "local_320") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0011eb7b:\n    bVar3 = *pbVar18;" (statement_identifier "LAB_0011eb7b") (: ":") (expression_statement "bVar3 = *pbVar18;" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";"))) (if_statement "if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;" (if "if") (parenthesized_expression "(('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" (( "(") (binary_expression "('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (parenthesized_expression "('\b' < (char)bVar3)" (( "(") (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'")) (< "<") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) () ")")) (&& "&&") (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (( "(") (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" (( "(") (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3")) (< "<") (char_literal "'\x0e'" (' "'") (escape_sequence "\x0e") (' "'"))) (|| "||") (parenthesized_expression "(bVar3 == 0x20)" (( "(") (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0011eb6e;" (goto "goto") (statement_identifier "LAB_0011eb6e") (; ";"))) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (if_statement "if (bVar3 == 0x2f) {\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" (if "if") (parenthesized_expression "(bVar3 == 0x2f)" (( "(") (binary_expression "bVar3 == 0x2f" (identifier "bVar3") (== "==") (number_literal "0x2f")) () ")")) (compound_statement "{\n      pbVar19 = pbVar18 + 1;\n      if (pbVar2 <= pbVar19) goto LAB_0011e719;\n      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }\n      param_1 = pbVar1;\n      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;\n    }" ({ "{") (expression_statement "pbVar19 = pbVar18 + 1;" (assignment_expression "pbVar19 = pbVar18 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 <= pbVar19) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar19)" (( "(") (binary_expression "pbVar2 <= pbVar19" (identifier "pbVar2") (<= "<=") (identifier "pbVar19")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (while_statement "while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }" (while "while") (parenthesized_expression "((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" (( "(") (parenthesized_expression "(bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" (( "(") (comma_expression "bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar19" (identifier "bVar3") (= "=") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19"))) (, ",") (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'")) (< "<") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) (&& "&&") (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (( "(") (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" (( "(") (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3")) (< "<") (char_literal "'\x0e'" (' "'") (escape_sequence "\x0e") (' "'"))) (|| "||") (parenthesized_expression "(bVar3 == 0x20)" (( "(") (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) () ")"))) () ")")) () ")")))) () ")")) () ")")) (compound_statement "{\n        pbVar19 = pbVar19 + 1;\n        if (pbVar2 == pbVar19) goto LAB_0011e719;\n      }" ({ "{") (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 == pbVar19) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 == pbVar19)" (( "(") (binary_expression "pbVar2 == pbVar19" (identifier "pbVar2") (== "==") (identifier "pbVar19")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (} "}"))) (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" (identifier "param_1") (= "=") (identifier "pbVar1")) (; ";")) (if_statement "if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;" (if "if") (parenthesized_expression "((bVar3 & 0xfd) != 0x3c)" (( "(") (binary_expression "(bVar3 & 0xfd) != 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" (( "(") (binary_expression "bVar3 & 0xfd" (identifier "bVar3") (& "&") (number_literal "0xfd")) () ")")) (!= "!=") (number_literal "0x3c")) () ")")) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";"))) (} "}"))) (expression_statement "pbVar17 = pbVar19;" (assignment_expression "pbVar17 = pbVar19" (identifier "pbVar17") (= "=") (identifier "pbVar19")) (; ";")) (if_statement "if ((*pbVar19 & 0xfd) != 0x3c) {\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }" (if "if") (parenthesized_expression "((*pbVar19 & 0xfd) != 0x3c)" (( "(") (binary_expression "(*pbVar19 & 0xfd) != 0x3c" (parenthesized_expression "(*pbVar19 & 0xfd)" (( "(") (binary_expression "*pbVar19 & 0xfd" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (& "&") (number_literal "0xfd")) () ")")) (!= "!=") (number_literal "0x3c")) () ")")) (compound_statement "{\n      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }\n      pbVar18 = pbVar17;\n      param_1 = pbVar1;\n      if (pbVar19 == pbVar17) goto LAB_0011e685;\n      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }\n      local_340 = pbVar19;\n      local_338 = pbVar19;\n      local_330 = pbVar17;\n      local_328 = pbVar17;\n      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }\nLAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }\n      goto LAB_0011eb7b;\n    }" ({ "{") (while_statement "while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))) {\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }" (while "while") (parenthesized_expression "((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f)))" (( "(") (parenthesized_expression "(bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f))" (( "(") (comma_expression "bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f)" (assignment_expression "bVar3 = *pbVar17" (identifier "bVar3") (= "=") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17"))) (, ",") (binary_expression "(byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&\n             (bVar3 != 0x2f)" (binary_expression "(byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c)" (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar3 - 0x21)" (( "(") (binary_expression "bVar3 - 0x21" (identifier "bVar3") (- "-") (number_literal "0x21")) () ")"))) (< "<") (number_literal "0x5e")) (&& "&&") (binary_expression "2 < (byte)(bVar3 - 0x3c)" (number_literal "2") (< "<") (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar3 - 0x3c)" (( "(") (binary_expression "bVar3 - 0x3c" (identifier "bVar3") (- "-") (number_literal "0x3c")) () ")"))))) (&& "&&") (parenthesized_expression "(bVar3 != 0x2f)" (( "(") (binary_expression "bVar3 != 0x2f" (identifier "bVar3") (!= "!=") (number_literal "0x2f")) () ")")))) () ")")) () ")")) (compound_statement "{\n        pbVar17 = pbVar17 + 1;\n        if (pbVar2 <= pbVar17) goto LAB_0011e719;\n      }" ({ "{") (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + 1" (identifier "pbVar17") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 <= pbVar17) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar17)" (( "(") (binary_expression "pbVar2 <= pbVar17" (identifier "pbVar2") (<= "<=") (identifier "pbVar17")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (} "}"))) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" (identifier "pbVar18") (= "=") (identifier "pbVar17")) (; ";")) (expression_statement "param_1 = pbVar1;" (assignment_expression "param_1 = pbVar1" (identifier "param_1") (= "=") (identifier "pbVar1")) (; ";")) (if_statement "if (pbVar19 == pbVar17) goto LAB_0011e685;" (if "if") (parenthesized_expression "(pbVar19 == pbVar17)" (( "(") (binary_expression "pbVar19 == pbVar17" (identifier "pbVar19") (== "==") (identifier "pbVar17")) () ")")) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";"))) (while_statement "while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))\n      {\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }" (while "while") (parenthesized_expression "((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" (( "(") (parenthesized_expression "(bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" (( "(") (comma_expression "bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (, ",") (binary_expression "'\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'")) (< "<") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) (&& "&&") (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (( "(") (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" (( "(") (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3")) (< "<") (char_literal "'\x0e'" (' "'") (escape_sequence "\x0e") (' "'"))) (|| "||") (parenthesized_expression "(bVar3 == 0x20)" (( "(") (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) () ")"))) () ")")) () ")")))) () ")")) () ")")) (compound_statement "{\n        pbVar18 = pbVar18 + 1;\n        if (pbVar2 <= pbVar18) goto LAB_0011e719;\n      }" ({ "{") (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar18)" (( "(") (binary_expression "pbVar2 <= pbVar18" (identifier "pbVar2") (<= "<=") (identifier "pbVar18")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (} "}"))) (expression_statement "local_340 = pbVar19;" (assignment_expression "local_340 = pbVar19" (identifier "local_340") (= "=") (identifier "pbVar19")) (; ";")) (expression_statement "local_338 = pbVar19;" (assignment_expression "local_338 = pbVar19" (identifier "local_338") (= "=") (identifier "pbVar19")) (; ";")) (expression_statement "local_330 = pbVar17;" (assignment_expression "local_330 = pbVar17" (identifier "local_330") (= "=") (identifier "pbVar17")) (; ";")) (expression_statement "local_328 = pbVar17;" (assignment_expression "local_328 = pbVar17" (identifier "local_328") (= "=") (identifier "pbVar17")) (; ";")) (if_statement "if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {\n        local_31c = 1;\n      }\n      else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" (if "if") (parenthesized_expression "(((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c)))" (( "(") (binary_expression "((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))" (parenthesized_expression "((byte)(bVar3 - 0x21) < 0x5e)" (( "(") (binary_expression "(byte)(bVar3 - 0x21) < 0x5e" (call_expression "(byte)(bVar3 - 0x21)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar3 - 0x21)" (( "(") (binary_expression "bVar3 - 0x21" (identifier "bVar3") (- "-") (number_literal "0x21")) () ")"))) (< "<") (number_literal "0x5e")) () ")")) (&& "&&") (parenthesized_expression "(2 < (byte)(bVar3 - 0x3c))" (( "(") (binary_expression "2 < (byte)(bVar3 - 0x3c)" (number_literal "2") (< "<") (call_expression "(byte)(bVar3 - 0x3c)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar3 - 0x3c)" (( "(") (binary_expression "bVar3 - 0x3c" (identifier "bVar3") (- "-") (number_literal "0x3c")) () ")")))) () ")"))) () ")")) (compound_statement "{\n        local_31c = 1;\n      }" ({ "{") (expression_statement "local_31c = 1;" (assignment_expression "local_31c = 1" (identifier "local_31c") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" (else "else") (compound_statement "{\n        bVar23 = (bVar3 & 0xfd) == 0x3c;\n        bVar15 = bVar23 || bVar3 == 0x2f;\n        if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }\n      }" ({ "{") (expression_statement "bVar23 = (bVar3 & 0xfd) == 0x3c;" (assignment_expression "bVar23 = (bVar3 & 0xfd) == 0x3c" (identifier "bVar23") (= "=") (binary_expression "(bVar3 & 0xfd) == 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" (( "(") (binary_expression "bVar3 & 0xfd" (identifier "bVar3") (& "&") (number_literal "0xfd")) () ")")) (== "==") (number_literal "0x3c"))) (; ";")) (expression_statement "bVar15 = bVar23 || bVar3 == 0x2f;" (assignment_expression "bVar15 = bVar23 || bVar3 == 0x2f" (identifier "bVar15") (= "=") (binary_expression "bVar23 || bVar3 == 0x2f" (identifier "bVar23") (|| "||") (binary_expression "bVar3 == 0x2f" (identifier "bVar3") (== "==") (number_literal "0x2f")))) (; ";")) (if_statement "if (bVar23 || bVar3 == 0x2f) {\n          local_31c = 1;\n        }\n        else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" (if "if") (parenthesized_expression "(bVar23 || bVar3 == 0x2f)" (( "(") (binary_expression "bVar23 || bVar3 == 0x2f" (identifier "bVar23") (|| "||") (binary_expression "bVar3 == 0x2f" (identifier "bVar3") (== "==") (number_literal "0x2f"))) () ")")) (compound_statement "{\n          local_31c = 1;\n        }" ({ "{") (expression_statement "local_31c = 1;" (assignment_expression "local_31c = 1" (identifier "local_31c") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" (else "else") (compound_statement "{\n          if (bVar3 != 0x3d) goto LAB_0011e685;\n          local_340 = pbVar18 + 1;\n          if (pbVar2 <= local_340) goto LAB_0011e719;\n          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }\n          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }\n          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }\n          if (local_340 == pbVar18) goto LAB_0011e685;\n          local_31c = 2;\n          local_338 = local_340;\n          local_330 = pbVar18;\n          local_328 = pbVar18;\n        }" ({ "{") (if_statement "if (bVar3 != 0x3d) goto LAB_0011e685;" (if "if") (parenthesized_expression "(bVar3 != 0x3d)" (( "(") (binary_expression "bVar3 != 0x3d" (identifier "bVar3") (!= "!=") (number_literal "0x3d")) () ")")) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";"))) (expression_statement "local_340 = pbVar18 + 1;" (assignment_expression "local_340 = pbVar18 + 1" (identifier "local_340") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 <= local_340) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= local_340)" (( "(") (binary_expression "pbVar2 <= local_340" (identifier "pbVar2") (<= "<=") (identifier "local_340")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (while_statement "while ((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }" (while "while") (parenthesized_expression "((bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))" (( "(") (parenthesized_expression "(bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))" (( "(") (comma_expression "bVar3 = *local_340, '\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (assignment_expression "bVar3 = *local_340" (identifier "bVar3") (= "=") (pointer_expression "*local_340" (* "*") (identifier "local_340"))) (, ",") (binary_expression "'\b' < (char)bVar3 &&\n                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (binary_expression "'\b' < (char)bVar3" (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'")) (< "<") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) (&& "&&") (parenthesized_expression "(((char)bVar3 < '\x0e' || (bVar3 == 0x20)))" (( "(") (parenthesized_expression "((char)bVar3 < '\x0e' || (bVar3 == 0x20))" (( "(") (binary_expression "(char)bVar3 < '\x0e' || (bVar3 == 0x20)" (binary_expression "(char)bVar3 < '\x0e'" (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3")) (< "<") (char_literal "'\x0e'" (' "'") (escape_sequence "\x0e") (' "'"))) (|| "||") (parenthesized_expression "(bVar3 == 0x20)" (( "(") (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) () ")"))) () ")")) () ")")))) () ")")) () ")")) (compound_statement "{\n            local_340 = local_340 + 1;\n            if (pbVar2 == local_340) goto LAB_0011e719;\n          }" ({ "{") (expression_statement "local_340 = local_340 + 1;" (assignment_expression "local_340 = local_340 + 1" (identifier "local_340") (= "=") (binary_expression "local_340 + 1" (identifier "local_340") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 == local_340) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 == local_340)" (( "(") (binary_expression "pbVar2 == local_340" (identifier "pbVar2") (== "==") (identifier "local_340")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (} "}"))) (if_statement "if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }" (if "if") (parenthesized_expression "((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27))" (( "(") (binary_expression "(bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)" (parenthesized_expression "(bVar3 == 0x22)" (( "(") (binary_expression "bVar3 == 0x22" (identifier "bVar3") (== "==") (number_literal "0x22")) () ")")) (|| "||") (parenthesized_expression "(pbVar18 = local_340, bVar3 == 0x27)" (( "(") (comma_expression "pbVar18 = local_340, bVar3 == 0x27" (assignment_expression "pbVar18 = local_340" (identifier "pbVar18") (= "=") (identifier "local_340")) (, ",") (binary_expression "bVar3 == 0x27" (identifier "bVar3") (== "==") (number_literal "0x27"))) () ")"))) () ")")) (compound_statement "{\n            local_338 = local_340 + 1;\n            pbVar18 = local_338;\n            while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }\n            goto LAB_0011e719;\n          }" ({ "{") (expression_statement "local_338 = local_340 + 1;" (assignment_expression "local_338 = local_340 + 1" (identifier "local_338") (= "=") (binary_expression "local_340 + 1" (identifier "local_340") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar18 = local_338;" (assignment_expression "pbVar18 = local_338" (identifier "pbVar18") (= "=") (identifier "local_338")) (; ";")) (while_statement "while (bVar23 = bVar15, pbVar18 < pbVar2) {\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }" (while "while") (parenthesized_expression "(bVar23 = bVar15, pbVar18 < pbVar2)" (( "(") (comma_expression "bVar23 = bVar15, pbVar18 < pbVar2" (assignment_expression "bVar23 = bVar15" (identifier "bVar23") (= "=") (identifier "bVar15")) (, ",") (binary_expression "pbVar18 < pbVar2" (identifier "pbVar18") (< "<") (identifier "pbVar2"))) () ")")) (compound_statement "{\n              do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);\n              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;\n              pbVar18 = local_330 + 1;\n            }" ({ "{") (do_statement "do {\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              } while (bVar23);" (do "do") (compound_statement "{\n                bVar15 = bVar23;\n                local_330 = pbVar18;\n                bVar4 = *local_330;\n                if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }\n                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));\n                pbVar18 = local_338;\n              }" ({ "{") (expression_statement "bVar15 = bVar23;" (assignment_expression "bVar15 = bVar23" (identifier "bVar15") (= "=") (identifier "bVar23")) (; ";")) (expression_statement "local_330 = pbVar18;" (assignment_expression "local_330 = pbVar18" (identifier "local_330") (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "bVar4 = *local_330;" (assignment_expression "bVar4 = *local_330" (identifier "bVar4") (= "=") (pointer_expression "*local_330" (* "*") (identifier "local_330"))) (; ";")) (if_statement "if (bVar3 == bVar4) {\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }" (if "if") (parenthesized_expression "(bVar3 == bVar4)" (( "(") (binary_expression "bVar3 == bVar4" (identifier "bVar3") (== "==") (identifier "bVar4")) () ")")) (compound_statement "{\n                  pbVar18 = local_330 + 1;\n                  if (pbVar2 <= pbVar18) goto LAB_0011e719;\n                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;\n                  local_328 = pbVar18;\n                  goto LAB_0011ec71;\n                }" ({ "{") (expression_statement "pbVar18 = local_330 + 1;" (assignment_expression "pbVar18 = local_330 + 1" (identifier "pbVar18") (= "=") (binary_expression "local_330 + 1" (identifier "local_330") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar18)" (( "(") (binary_expression "pbVar2 <= pbVar18" (identifier "pbVar2") (<= "<=") (identifier "pbVar18")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (expression_statement "local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;" (assignment_expression "local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6" (identifier "local_31c") (= "=") (binary_expression "(-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6" (parenthesized_expression "(-(uint)((param_5 & 2) == 0) & 0xfffffffc)" (( "(") (binary_expression "-(uint)((param_5 & 2) == 0) & 0xfffffffc" (unary_expression "-(uint)((param_5 & 2) == 0)" (- "-") (call_expression "(uint)((param_5 & 2) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((param_5 & 2) == 0)" (( "(") (binary_expression "(param_5 & 2) == 0" (parenthesized_expression "(param_5 & 2)" (( "(") (binary_expression "param_5 & 2" (identifier "param_5") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xfffffffc")) () ")")) (+ "+") (number_literal "6"))) (; ";")) (expression_statement "local_328 = pbVar18;" (assignment_expression "local_328 = pbVar18" (identifier "local_328") (= "=") (identifier "pbVar18")) (; ";")) (goto_statement "goto LAB_0011ec71;" (goto "goto") (statement_identifier "LAB_0011ec71") (; ";")) (} "}"))) (expression_statement "bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));" (assignment_expression "bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U))" (identifier "bVar23") (= "=") (cast_expression "(bool)(bVar4 == 10 & (bVar15 ^ 1U))" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar4 == 10 & (bVar15 ^ 1U))" (( "(") (binary_expression "bVar4 == 10 & (bVar15 ^ 1U)" (binary_expression "bVar4 == 10" (identifier "bVar4") (== "==") (number_literal "10")) (& "&") (parenthesized_expression "(bVar15 ^ 1U)" (( "(") (binary_expression "bVar15 ^ 1U" (identifier "bVar15") (^ "^") (number_literal "1U")) () ")"))) () ")")))) (; ";")) (expression_statement "pbVar18 = local_338;" (assignment_expression "pbVar18 = local_338" (identifier "pbVar18") (= "=") (identifier "local_338")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (if_statement "if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;" (if "if") (parenthesized_expression "((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c))" (( "(") (binary_expression "(bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)" (parenthesized_expression "(bVar15)" (( "(") (identifier "bVar15") () ")")) (&& "&&") (parenthesized_expression "(param_1 = local_330, (bVar4 & 0xfd) == 0x3c)" (( "(") (comma_expression "param_1 = local_330, (bVar4 & 0xfd) == 0x3c" (assignment_expression "param_1 = local_330" (identifier "param_1") (= "=") (identifier "local_330")) (, ",") (binary_expression "(bVar4 & 0xfd) == 0x3c" (parenthesized_expression "(bVar4 & 0xfd)" (( "(") (binary_expression "bVar4 & 0xfd" (identifier "bVar4") (& "&") (number_literal "0xfd")) () ")")) (== "==") (number_literal "0x3c"))) () ")"))) () ")")) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";"))) (expression_statement "pbVar18 = local_330 + 1;" (assignment_expression "pbVar18 = local_330 + 1" (identifier "pbVar18") (= "=") (binary_expression "local_330 + 1" (identifier "local_330") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";")) (} "}"))) (while_statement "while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))) {\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }" (while "while") (parenthesized_expression "(((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c)))" (( "(") (parenthesized_expression "((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c))" (( "(") (binary_expression "(bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  ) && ((bVar3 & 0xfd) != 0x3c)" (parenthesized_expression "(bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))\n                  )" (( "(") (comma_expression "bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))" (assignment_expression "bVar3 = *pbVar18" (identifier "bVar3") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (, ",") (binary_expression "(char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))" (binary_expression "(char)bVar3 < '\t'" (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3")) (< "<") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) (|| "||") (parenthesized_expression "(('\r' < (char)bVar3 && (bVar3 != 0x20)))" (( "(") (parenthesized_expression "('\r' < (char)bVar3 && (bVar3 != 0x20))" (( "(") (binary_expression "'\r' < (char)bVar3 && (bVar3 != 0x20)" (binary_expression "'\r' < (char)bVar3" (char_literal "'\r'" (' "'") (escape_sequence "\r") (' "'")) (< "<") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3"))) (&& "&&") (parenthesized_expression "(bVar3 != 0x20)" (( "(") (binary_expression "bVar3 != 0x20" (identifier "bVar3") (!= "!=") (number_literal "0x20")) () ")"))) () ")")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "((bVar3 & 0xfd) != 0x3c)" (( "(") (binary_expression "(bVar3 & 0xfd) != 0x3c" (parenthesized_expression "(bVar3 & 0xfd)" (( "(") (binary_expression "bVar3 & 0xfd" (identifier "bVar3") (& "&") (number_literal "0xfd")) () ")")) (!= "!=") (number_literal "0x3c")) () ")"))) () ")")) () ")")) (compound_statement "{\n            pbVar18 = pbVar18 + 1;\n            if (pbVar2 <= pbVar18) goto LAB_0011e719;\n          }" ({ "{") (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar18)" (( "(") (binary_expression "pbVar2 <= pbVar18" (identifier "pbVar2") (<= "<=") (identifier "pbVar18")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (} "}"))) (if_statement "if (local_340 == pbVar18) goto LAB_0011e685;" (if "if") (parenthesized_expression "(local_340 == pbVar18)" (( "(") (binary_expression "local_340 == pbVar18" (identifier "local_340") (== "==") (identifier "pbVar18")) () ")")) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";"))) (expression_statement "local_31c = 2;" (assignment_expression "local_31c = 2" (identifier "local_31c") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_338 = local_340;" (assignment_expression "local_338 = local_340" (identifier "local_338") (= "=") (identifier "local_340")) (; ";")) (expression_statement "local_330 = pbVar18;" (assignment_expression "local_330 = pbVar18" (identifier "local_330") (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "local_328 = pbVar18;" (assignment_expression "local_328 = pbVar18" (identifier "local_328") (= "=") (identifier "pbVar18")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_0011ec71:\n      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" (statement_identifier "LAB_0011ec71") (: ":") (if_statement "if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" (if "if") (parenthesized_expression "((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0'))" (( "(") (binary_expression "(!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&\n         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')" (parenthesized_expression "(!bVar7 && ((!bVar5 || !bVar6) || !bVar22))" (( "(") (binary_expression "!bVar7 && ((!bVar5 || !bVar6) || !bVar22)" (unary_expression "!bVar7" (! "!") (identifier "bVar7")) (&& "&&") (parenthesized_expression "((!bVar5 || !bVar6) || !bVar22)" (( "(") (binary_expression "(!bVar5 || !bVar6) || !bVar22" (parenthesized_expression "(!bVar5 || !bVar6)" (( "(") (binary_expression "!bVar5 || !bVar6" (unary_expression "!bVar5" (! "!") (identifier "bVar5")) (|| "||") (unary_expression "!bVar6" (! "!") (identifier "bVar6"))) () ")")) (|| "||") (unary_expression "!bVar22" (! "!") (identifier "bVar22"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')" (( "(") (comma_expression "cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0'" (assignment_expression "cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17)" (identifier "cVar9") (= "=") (call_expression "FUN_0011e529(param_7,pbVar19,pbVar17)" (identifier "FUN_0011e529") (argument_list "(param_7,pbVar19,pbVar17)" (( "(") (identifier "param_7") (, ",") (identifier "pbVar19") (, ",") (identifier "pbVar17") () ")")))) (, ",") (binary_expression "cVar9 != '\0'" (identifier "cVar9") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n        lVar13 = (long)(local_320 + 1);\n        lVar16 = (long)local_34c;\n        lVar8 = lVar16;\n        if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }\n        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;\n        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);\n        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;\n        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);\n        local_368[(long)local_320 * 5 + 2] = (long)local_340;\n        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;\n        local_320 = local_320 + 1;\n      }" ({ "{") (expression_statement "lVar13 = (long)(local_320 + 1);" (assignment_expression "lVar13 = (long)(local_320 + 1)" (identifier "lVar13") (= "=") (cast_expression "(long)(local_320 + 1)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(local_320 + 1)" (( "(") (binary_expression "local_320 + 1" (identifier "local_320") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "lVar16 = (long)local_34c;" (assignment_expression "lVar16 = (long)local_34c" (identifier "lVar16") (= "=") (cast_expression "(long)local_34c" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_34c"))) (; ";")) (expression_statement "lVar8 = lVar16;" (assignment_expression "lVar8 = lVar16" (identifier "lVar8") (= "=") (identifier "lVar16")) (; ";")) (if_statement "if (lVar16 < lVar13) {\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }" (if "if") (parenthesized_expression "(lVar16 < lVar13)" (( "(") (binary_expression "lVar16 < lVar13" (identifier "lVar16") (< "<") (identifier "lVar13")) () ")")) (compound_statement "{\n          do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);\n          if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }\n        }" ({ "{") (do_statement "do {\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);" (do "do") (compound_statement "{\n            lVar21 = lVar8;\n            lVar8 = lVar21 * 2;\n          }" ({ "{") (expression_statement "lVar21 = lVar8;" (assignment_expression "lVar21 = lVar8" (identifier "lVar21") (= "=") (identifier "lVar8")) (; ";")) (expression_statement "lVar8 = lVar21 * 2;" (assignment_expression "lVar8 = lVar21 * 2" (identifier "lVar8") (= "=") (binary_expression "lVar21 * 2" (identifier "lVar21") (* "*") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0)" (( "(") (binary_expression "lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0" (binary_expression "lVar13 != lVar8" (identifier "lVar13") (!= "!=") (identifier "lVar8")) (&& "&&") (binary_expression "SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0" (call_expression "SBORROW8(lVar13,lVar8)" (identifier "SBORROW8") (argument_list "(lVar13,lVar8)" (( "(") (identifier "lVar13") (, ",") (identifier "lVar8") () ")"))) (== "==") (binary_expression "lVar13 + lVar21 * -2 < 0" (binary_expression "lVar13 + lVar21 * -2" (identifier "lVar13") (+ "+") (binary_expression "lVar21 * -2" (identifier "lVar21") (* "*") (number_literal "-2"))) (< "<") (number_literal "0")))) () ")")) (; ";")) (if_statement "if (lVar16 != lVar8) {\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }" (if "if") (parenthesized_expression "(lVar16 != lVar8)" (( "(") (binary_expression "lVar16 != lVar8" (identifier "lVar16") (!= "!=") (identifier "lVar8")) () ")")) (compound_statement "{\n            if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }\n            local_34c = (int)lVar8;\n            local_380 = cVar9;\n          }" ({ "{") (if_statement "if (local_380 == '\0') {\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }\n            else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }" (if "if") (parenthesized_expression "(local_380 == '\0')" (( "(") (binary_expression "local_380 == '\0'" (identifier "local_380") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);\n              memcpy(plVar14,local_368,(long)local_34c * 0x28);\n              local_368 = plVar14;\n            }" ({ "{") (expression_statement "plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);" (assignment_expression "plVar14 = (long *)FUN_001494bf(lVar21 * 0x50)" (identifier "plVar14") (= "=") (cast_expression "(long *)FUN_001494bf(lVar21 * 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001494bf(lVar21 * 0x50)" (identifier "FUN_001494bf") (argument_list "(lVar21 * 0x50)" (( "(") (binary_expression "lVar21 * 0x50" (identifier "lVar21") (* "*") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "memcpy(plVar14,local_368,(long)local_34c * 0x28);" (call_expression "memcpy(plVar14,local_368,(long)local_34c * 0x28)" (identifier "memcpy") (argument_list "(plVar14,local_368,(long)local_34c * 0x28)" (( "(") (identifier "plVar14") (, ",") (identifier "local_368") (, ",") (binary_expression "(long)local_34c * 0x28" (cast_expression "(long)local_34c" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_34c")) (* "*") (number_literal "0x28")) () ")"))) (; ";")) (expression_statement "local_368 = plVar14;" (assignment_expression "local_368 = plVar14" (identifier "local_368") (= "=") (identifier "plVar14")) (; ";")) (} "}")) (else_clause "else {\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }" (else "else") (compound_statement "{\n              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);\n            }" ({ "{") (expression_statement "local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);" (assignment_expression "local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50)" (identifier "local_368") (= "=") (cast_expression "(long *)FUN_0014951a(local_368,lVar21 * 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0014951a(local_368,lVar21 * 0x50)" (identifier "FUN_0014951a") (argument_list "(local_368,lVar21 * 0x50)" (( "(") (identifier "local_368") (, ",") (binary_expression "lVar21 * 0x50" (identifier "lVar21") (* "*") (number_literal "0x50")) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_34c = (int)lVar8;" (assignment_expression "local_34c = (int)lVar8" (identifier "local_34c") (= "=") (cast_expression "(int)lVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar8"))) (; ";")) (expression_statement "local_380 = cVar9;" (assignment_expression "local_380 = cVar9" (identifier "local_380") (= "=") (identifier "cVar9")) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;" (assignment_expression "*(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec" (pointer_expression "*(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_368 + (long)local_320 * 0x28 + 0x1c)" (( "(") (binary_expression "(long)local_368 + (long)local_320 * 0x28 + 0x1c" (binary_expression "(long)local_368 + (long)local_320 * 0x28" (cast_expression "(long)local_368" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_368")) (+ "+") (binary_expression "(long)local_320 * 0x28" (cast_expression "(long)local_320" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_320")) (* "*") (number_literal "0x28"))) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "local_2ec")) (; ";")) (expression_statement "FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);" (call_expression "FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1)" (identifier "FUN_0011ddab") (argument_list "(&local_2f8,pbVar19,pbVar17,1)" (( "(") (pointer_expression "&local_2f8" (& "&") (identifier "local_2f8")) (, ",") (identifier "pbVar19") (, ",") (identifier "pbVar17") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;" (assignment_expression "*(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec" (pointer_expression "*(undefined4 *)(local_368 + (long)local_320 * 5 + 4)" (* "*") (cast_expression "(undefined4 *)(local_368 + (long)local_320 * 5 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_368 + (long)local_320 * 5 + 4)" (( "(") (binary_expression "local_368 + (long)local_320 * 5 + 4" (binary_expression "local_368 + (long)local_320 * 5" (identifier "local_368") (+ "+") (binary_expression "(long)local_320 * 5" (cast_expression "(long)local_320" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_320")) (* "*") (number_literal "5"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "local_2ec")) (; ";")) (expression_statement "FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);" (call_expression "FUN_0011ddab(&local_2f8,local_338,local_330,local_31c)" (identifier "FUN_0011ddab") (argument_list "(&local_2f8,local_338,local_330,local_31c)" (( "(") (pointer_expression "&local_2f8" (& "&") (identifier "local_2f8")) (, ",") (identifier "local_338") (, ",") (identifier "local_330") (, ",") (identifier "local_31c") () ")"))) (; ";")) (expression_statement "local_368[(long)local_320 * 5 + 2] = (long)local_340;" (assignment_expression "local_368[(long)local_320 * 5 + 2] = (long)local_340" (subscript_expression "local_368[(long)local_320 * 5 + 2]" (identifier "local_368") ([ "[") (binary_expression "(long)local_320 * 5 + 2" (binary_expression "(long)local_320 * 5" (cast_expression "(long)local_320" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_320")) (* "*") (number_literal "5")) (+ "+") (number_literal "2")) (] "]")) (= "=") (cast_expression "(long)local_340" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_340"))) (; ";")) (expression_statement "*(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;" (assignment_expression "*(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340" (pointer_expression "*(int *)(local_368 + (long)local_320 * 5 + 3)" (* "*") (cast_expression "(int *)(local_368 + (long)local_320 * 5 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_368 + (long)local_320 * 5 + 3)" (( "(") (binary_expression "local_368 + (long)local_320 * 5 + 3" (binary_expression "local_368 + (long)local_320 * 5" (identifier "local_368") (+ "+") (binary_expression "(long)local_320 * 5" (cast_expression "(long)local_320" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_320")) (* "*") (number_literal "5"))) (+ "+") (number_literal "3")) () ")")))) (= "=") (binary_expression "(int)local_328 - (int)local_340" (cast_expression "(int)local_328" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_328")) (- "-") (cast_expression "(int)local_340" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_340")))) (; ";")) (expression_statement "local_320 = local_320 + 1;" (assignment_expression "local_320 = local_320 + 1" (identifier "local_320") (= "=") (binary_expression "local_320 + 1" (identifier "local_320") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0011eb7b;" (goto "goto") (statement_identifier "LAB_0011eb7b") (; ";")) (} "}"))) (if_statement "if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))\n    {\n      local_300[2] = pbVar19 + 1;\n    }" (if "if") (parenthesized_expression "(((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))" (( "(") (binary_expression "((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0)" (parenthesized_expression "((local_384 == 0) && (local_300 != (undefined8 *)0x0))" (( "(") (binary_expression "(local_384 == 0) && (local_300 != (undefined8 *)0x0)" (parenthesized_expression "(local_384 == 0)" (( "(") (binary_expression "local_384 == 0" (identifier "local_384") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_300 != (undefined8 *)0x0)" (( "(") (binary_expression "local_300 != (undefined8 *)0x0" (identifier "local_300") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((byte *)*local_300 == local_3a0)" (( "(") (binary_expression "(byte *)*local_300 == local_3a0" (cast_expression "(byte *)*local_300" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_300" (* "*") (identifier "local_300"))) (== "==") (identifier "local_3a0")) () ")"))) () ")")) (compound_statement "{\n      local_300[2] = pbVar19 + 1;\n    }" ({ "{") (expression_statement "local_300[2] = pbVar19 + 1;" (assignment_expression "local_300[2] = pbVar19 + 1" (subscript_expression "local_300[2]" (identifier "local_300") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;" (if "if") (parenthesized_expression "(bVar7 || (bVar5 && bVar6) && bVar22)" (( "(") (binary_expression "bVar7 || (bVar5 && bVar6) && bVar22" (identifier "bVar7") (|| "||") (binary_expression "(bVar5 && bVar6) && bVar22" (parenthesized_expression "(bVar5 && bVar6)" (( "(") (binary_expression "bVar5 && bVar6" (identifier "bVar5") (&& "&&") (identifier "bVar6")) () ")")) (&& "&&") (identifier "bVar22"))) () ")")) (goto_statement "goto joined_r0x0011ef79;" (goto "goto") (statement_identifier "joined_r0x0011ef79") (; ";"))) (expression_statement "local_2c8 = local_2f8;" (assignment_expression "local_2c8 = local_2f8" (identifier "local_2c8") (= "=") (identifier "local_2f8")) (; ";")) (expression_statement "local_2c0 = local_384;" (assignment_expression "local_2c0 = local_384" (identifier "local_2c0") (= "=") (identifier "local_384")) (; ";")) (expression_statement "local_2bc = local_320;" (assignment_expression "local_2bc = local_320" (identifier "local_2bc") (= "=") (identifier "local_320")) (; ";")) (if_statement "if (0 < local_320) {\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }" (if "if") (parenthesized_expression "(0 < local_320)" (( "(") (binary_expression "0 < local_320" (number_literal "0") (< "<") (identifier "local_320")) () ")")) (compound_statement "{\n      plVar14 = local_368;\n      do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);\n    }" ({ "{") (expression_statement "plVar14 = local_368;" (assignment_expression "plVar14 = local_368" (identifier "plVar14") (= "=") (identifier "local_368")) (; ";")) (do_statement "do {\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);" (do "do") (compound_statement "{\n        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));\n        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);\n        plVar14 = plVar14 + 5;\n      }" ({ "{") (expression_statement "*plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));" (assignment_expression "*plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c))" (pointer_expression "*plVar14" (* "*") (identifier "plVar14")) (= "=") (cast_expression "(long)(local_2f8 + *(int *)((long)plVar14 + 0x1c))" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(local_2f8 + *(int *)((long)plVar14 + 0x1c))" (( "(") (binary_expression "local_2f8 + *(int *)((long)plVar14 + 0x1c)" (identifier "local_2f8") (+ "+") (pointer_expression "*(int *)((long)plVar14 + 0x1c)" (* "*") (cast_expression "(int *)((long)plVar14 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar14 + 0x1c)" (( "(") (binary_expression "(long)plVar14 + 0x1c" (cast_expression "(long)plVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar14")) (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (expression_statement "plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);" (assignment_expression "plVar14[1] = (long)(local_2f8 + (int)plVar14[4])" (subscript_expression "plVar14[1]" (identifier "plVar14") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(long)(local_2f8 + (int)plVar14[4])" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(local_2f8 + (int)plVar14[4])" (( "(") (binary_expression "local_2f8 + (int)plVar14[4]" (identifier "local_2f8") (+ "+") (cast_expression "(int)plVar14[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "plVar14[4]" (identifier "plVar14") ([ "[") (number_literal "4") (] "]")))) () ")")))) (; ";")) (expression_statement "plVar14 = plVar14 + 5;" (assignment_expression "plVar14 = plVar14 + 5" (identifier "plVar14") (= "=") (binary_expression "plVar14 + 5" (identifier "plVar14") (+ "+") (number_literal "5"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5)" (( "(") (binary_expression "plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5" (identifier "plVar14") (!= "!=") (binary_expression "local_368 + (ulong)(local_320 - 1) * 5 + 5" (binary_expression "local_368 + (ulong)(local_320 - 1) * 5" (identifier "local_368") (+ "+") (binary_expression "(ulong)(local_320 - 1) * 5" (call_expression "(ulong)(local_320 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(local_320 - 1)" (( "(") (binary_expression "local_320 - 1" (identifier "local_320") (- "-") (number_literal "1")) () ")"))) (* "*") (number_literal "5"))) (+ "+") (number_literal "5"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_2b8 = local_368;" (assignment_expression "local_2b8 = local_368" (identifier "local_2b8") (= "=") (identifier "local_368")) (; ";")) (expression_statement "local_2a8 = pbVar19 + 1;" (assignment_expression "local_2a8 = pbVar19 + 1" (identifier "local_2a8") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_2a0 = 0;" (assignment_expression "local_2a0 = 0" (identifier "local_2a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_298 = (void *)0x0;" (assignment_expression "local_298 = (void *)0x0" (identifier "local_298") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2b0 = pvVar11;" (assignment_expression "local_2b0 = pvVar11" (identifier "local_2b0") (= "=") (identifier "pvVar11")) (; ";")) (if_statement "if (local_384 != 0) {\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }" (if "if") (parenthesized_expression "(local_384 != 0)" (( "(") (binary_expression "local_384 != 0" (identifier "local_384") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }\n    }" ({ "{") (if_statement "if (local_300 != (undefined8 *)0x0) {\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }" (if "if") (parenthesized_expression "(local_300 != (undefined8 *)0x0)" (( "(") (binary_expression "local_300 != (undefined8 *)0x0" (identifier "local_300") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        __n = (size_t)((int)pbVar20 - (int)local_3a0);\n        puVar12 = local_300;\n        do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);\n      }" ({ "{") (expression_statement "__n = (size_t)((int)pbVar20 - (int)local_3a0);" (assignment_expression "__n = (size_t)((int)pbVar20 - (int)local_3a0)" (identifier "__n") (= "=") (cast_expression "(size_t)((int)pbVar20 - (int)local_3a0)" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (parenthesized_expression "((int)pbVar20 - (int)local_3a0)" (( "(") (binary_expression "(int)pbVar20 - (int)local_3a0" (cast_expression "(int)pbVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar20")) (- "-") (cast_expression "(int)local_3a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3a0"))) () ")")))) (; ";")) (expression_statement "puVar12 = local_300;" (assignment_expression "puVar12 = local_300" (identifier "puVar12") (= "=") (identifier "local_300")) (; ";")) (do_statement "do {\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        } while (puVar12 != (undefined8 *)0x0);" (do "do") (compound_statement "{\n          if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }\n          puVar12 = (undefined8 *)puVar12[3];\n        }" ({ "{") (if_statement "if ((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }" (if "if") (parenthesized_expression "((__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0))" (( "(") (binary_expression "(__n == puVar12[1] - (long)*puVar12) &&\n             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)" (parenthesized_expression "(__n == puVar12[1] - (long)*puVar12)" (( "(") (binary_expression "__n == puVar12[1] - (long)*puVar12" (identifier "__n") (== "==") (binary_expression "puVar12[1] - (long)*puVar12" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (- "-") (cast_expression "(long)*puVar12" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "*puVar12" (* "*") (identifier "puVar12"))))) () ")")) (&& "&&") (parenthesized_expression "(iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)" (( "(") (comma_expression "iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0" (assignment_expression "iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n)" (identifier "iVar10") (= "=") (call_expression "strncasecmp((char *)*puVar12,(char *)local_3a0,__n)" (identifier "strncasecmp") (argument_list "((char *)*puVar12,(char *)local_3a0,__n)" (( "(") (cast_expression "(char *)*puVar12" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar12" (* "*") (identifier "puVar12"))) (, ",") (cast_expression "(char *)local_3a0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_3a0")) (, ",") (identifier "__n") () ")")))) (, ",") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }\n            FUN_0011dd1f(&local_308,&local_300,puVar12);\n            break;\n          }" ({ "{") (if_statement "if (puVar12[2] != 0) {\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }" (if "if") (parenthesized_expression "(puVar12[2] != 0)" (( "(") (binary_expression "puVar12[2] != 0" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_2a0 = puVar12[2];\n              local_298 = pvVar11;\n            }" ({ "{") (expression_statement "local_2a0 = puVar12[2];" (assignment_expression "local_2a0 = puVar12[2]" (identifier "local_2a0") (= "=") (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_298 = pvVar11;" (assignment_expression "local_298 = pvVar11" (identifier "local_298") (= "=") (identifier "pvVar11")) (; ";")) (} "}"))) (expression_statement "FUN_0011dd1f(&local_308,&local_300,puVar12);" (call_expression "FUN_0011dd1f(&local_308,&local_300,puVar12)" (identifier "FUN_0011dd1f") (argument_list "(&local_308,&local_300,puVar12)" (( "(") (pointer_expression "&local_308" (& "&") (identifier "local_308")) (, ",") (pointer_expression "&local_300" (& "&") (identifier "local_300")) (, ",") (identifier "puVar12") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "puVar12 = (undefined8 *)puVar12[3];" (assignment_expression "puVar12 = (undefined8 *)puVar12[3]" (identifier "puVar12") (= "=") (cast_expression "(undefined8 *)puVar12[3]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar12 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar12 != (undefined8 *)0x0" (identifier "puVar12") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "(*param_3)(&local_2c8,param_4);" (call_expression "(*param_3)(&local_2c8,param_4)" (parenthesized_expression "(*param_3)" (( "(") (pointer_expression "*param_3" (* "*") (identifier "param_3")) () ")")) (argument_list "(&local_2c8,param_4)" (( "(") (pointer_expression "&local_2c8" (& "&") (identifier "local_2c8")) (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "param_1 = pbVar19;" (assignment_expression "param_1 = pbVar19" (identifier "param_1") (= "=") (identifier "pbVar19")) (; ";")) (if_statement "if (*pbVar19 != 0x3c) {\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }" (if "if") (parenthesized_expression "(*pbVar19 != 0x3c)" (( "(") (binary_expression "*pbVar19 != 0x3c" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (!= "!=") (number_literal "0x3c")) () ")")) (compound_statement "{\njoined_r0x0011ef79:\n      param_1 = pbVar19 + 1;\n      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;\n    }" ({ "{") (labeled_statement "joined_r0x0011ef79:\n      param_1 = pbVar19 + 1;" (statement_identifier "joined_r0x0011ef79") (: ":") (expression_statement "param_1 = pbVar19 + 1;" (assignment_expression "param_1 = pbVar19 + 1" (identifier "param_1") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar19 + 1)" (( "(") (binary_expression "pbVar2 <= pbVar19 + 1" (identifier "pbVar2") (<= "<=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (} "}"))) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";")) (} "}"))) (labeled_statement "LAB_0011e780:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (statement_identifier "LAB_0011e780") (: ":") (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (if "if") (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (!= "!=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" ({ "{") (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (while_statement "while (pbVar18[1] == 0x2d) {\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }" (while "while") (parenthesized_expression "(pbVar18[1] == 0x2d)" (( "(") (binary_expression "pbVar18[1] == 0x2d" (subscript_expression "pbVar18[1]" (identifier "pbVar18") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\nLAB_0011e89e:\n    pbVar18 = pbVar20;\n    pbVar20 = pbVar18 + 1;\n    if (pbVar2 == pbVar20) goto LAB_0011e685;\n  }" ({ "{") (labeled_statement "LAB_0011e89e:\n    pbVar18 = pbVar20;" (statement_identifier "LAB_0011e89e") (: ":") (expression_statement "pbVar18 = pbVar20;" (assignment_expression "pbVar18 = pbVar20" (identifier "pbVar18") (= "=") (identifier "pbVar20")) (; ";"))) (expression_statement "pbVar20 = pbVar18 + 1;" (assignment_expression "pbVar20 = pbVar18 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar2 == pbVar20) goto LAB_0011e685;" (if "if") (parenthesized_expression "(pbVar2 == pbVar20)" (( "(") (binary_expression "pbVar2 == pbVar20" (identifier "pbVar2") (== "==") (identifier "pbVar20")) () ")")) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";"))) (} "}"))) (expression_statement "pbVar1 = pbVar20;" (assignment_expression "pbVar1 = pbVar20" (identifier "pbVar1") (= "=") (identifier "pbVar20")) (; ";")) (if_statement "if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;" (if "if") (parenthesized_expression "(pbVar18[1] == 0x3e)" (( "(") (binary_expression "pbVar18[1] == 0x3e" (subscript_expression "pbVar18[1]" (identifier "pbVar18") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x3e")) () ")")) (goto_statement "goto code_r0x0011e8b9;" (goto "goto") (statement_identifier "code_r0x0011e8b9") (; ";"))) (goto_statement "goto LAB_0011e86d;" (goto "goto") (statement_identifier "LAB_0011e86d") (; ";")) (labeled_statement "code_r0x0011e8b9:\n  pbVar20 = pbVar18 + 2;" (statement_identifier "code_r0x0011e8b9") (: ":") (expression_statement "pbVar20 = pbVar18 + 2;" (assignment_expression "pbVar20 = pbVar18 + 2" (identifier "pbVar20") (= "=") (binary_expression "pbVar18 + 2" (identifier "pbVar18") (+ "+") (number_literal "2"))) (; ";"))) (labeled_statement "LAB_0011e8bd:\n  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;" (statement_identifier "LAB_0011e8bd") (: ":") (if_statement "if (pbVar20 == (byte *)0x0) goto LAB_0011e685;" (if "if") (parenthesized_expression "(pbVar20 == (byte *)0x0)" (( "(") (binary_expression "pbVar20 == (byte *)0x0" (identifier "pbVar20") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";")))) (labeled_statement "LAB_0011e8ee:\n  param_1 = pbVar20;" (statement_identifier "LAB_0011e8ee") (: ":") (expression_statement "param_1 = pbVar20;" (assignment_expression "param_1 = pbVar20" (identifier "param_1") (= "=") (identifier "pbVar20")) (; ";"))) (if_statement "if (pbVar20 == pbVar2) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar20 == pbVar2)" (( "(") (binary_expression "pbVar20 == pbVar2" (identifier "pbVar20") (== "==") (identifier "pbVar2")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (goto_statement "goto LAB_0011e685;" (goto "goto") (statement_identifier "LAB_0011e685") (; ";")) (labeled_statement "LAB_0011eb6e:\n  pbVar18 = pbVar18 + 1;" (statement_identifier "LAB_0011eb6e") (: ":") (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (pbVar2 <= pbVar18) goto LAB_0011e719;" (if "if") (parenthesized_expression "(pbVar2 <= pbVar18)" (( "(") (binary_expression "pbVar2 <= pbVar18" (identifier "pbVar2") (<= "<=") (identifier "pbVar18")) () ")")) (goto_statement "goto LAB_0011e719;" (goto "goto") (statement_identifier "LAB_0011e719") (; ";"))) (goto_statement "goto LAB_0011eb7b;" (goto "goto") (statement_identifier "LAB_0011eb7b") (; ";")) (labeled_statement "LAB_0011e719:\n  if (local_2e8 != '\0') {\n    free(local_2f8);\n  }" (statement_identifier "LAB_0011e719") (: ":") (if_statement "if (local_2e8 != '\0') {\n    free(local_2f8);\n  }" (if "if") (parenthesized_expression "(local_2e8 != '\0')" (( "(") (binary_expression "local_2e8 != '\0'" (identifier "local_2e8") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    free(local_2f8);\n  }" ({ "{") (expression_statement "free(local_2f8);" (call_expression "free(local_2f8)" (identifier "free") (argument_list "(local_2f8)" (( "(") (identifier "local_2f8") () ")"))) (; ";")) (} "}")))) (expression_statement "local_2f8 = local_2e0;" (assignment_expression "local_2f8 = local_2e0" (identifier "local_2f8") (= "=") (identifier "local_2e0")) (; ";")) (expression_statement "local_2f0 = local_2d8;" (assignment_expression "local_2f0 = local_2d8" (identifier "local_2f0") (= "=") (identifier "local_2d8")) (; ";")) (expression_statement "local_2ec = 0;" (assignment_expression "local_2ec = 0" (identifier "local_2ec") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2e8 = 0;" (assignment_expression "local_2e8 = 0" (identifier "local_2e8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_380 != '\0') {\n    free(local_368);\n  }" (if "if") (parenthesized_expression "(local_380 != '\0')" (( "(") (binary_expression "local_380 != '\0'" (identifier "local_380") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    free(local_368);\n  }" ({ "{") (expression_statement "free(local_368);" (call_expression "free(local_368)" (identifier "free") (argument_list "(local_368)" (( "(") (identifier "local_368") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0011dd1f(&local_308,&local_300,local_308);" (call_expression "FUN_0011dd1f(&local_308,&local_300,local_308)" (identifier "FUN_0011dd1f") (argument_list "(&local_308,&local_300,local_308)" (( "(") (pointer_expression "&local_308" (& "&") (identifier "local_308")) (, ",") (pointer_expression "&local_300" (& "&") (identifier "local_300")) (, ",") (identifier "local_308") () ")"))) (; ";")) (goto_statement "goto LAB_0011e780;" (goto "goto") (statement_identifier "LAB_0011e780") (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x0011ea16) */
/* WARNING: Removing unreachable block (ram,0x0011e8e7) */
/* WARNING: Removing unreachable block (ram,0x0011e8ea) */

void function_1(char *var_3,int var_2,type_1 *mapfun,void *maparg,
                  int var_8,type_2 *allowed_tags,type_2 *allowed_attributes)

{
  type_3 *var_7;
  type_3 *var_6;
  type_3 var_10;
  type_3 var_22;
  long var_46;
  bool var_36;
  bool var_37;
  bool var_24;
  long var_30;
  type_4 var_25;
  type_4 _Var11;
  int var_43;
  char *var_5;
  type_5 *var_45;
  long var_28;
  type_6 *var_39;
  long var_27;
  type_3 *var_19;
  type_3 *var_12;
  type_3 *var_18;
  type_3 *var_9;
  long var_29;
  size_t var_41;
  long var_1;
  bool var_38;
  bool var_20;
  type_3 *var_11;
  int var_13;
  type_4 var_32;
  type_6 *var_40;
  int local_34c;
  type_3 *var_21;
  type_3 *local_338;
  type_3 *var_23;
  type_3 *local_328;
  int var_26;
  int local_31c;
  type_5 *var_15;
  type_5 *var_35;
  type_7 type_7;
  type_8 type_8;
  type_6 attr_pair_initial_storage [8];
  char pool_initial_storage [256];
  
  var_46 = *(long *)(var_1 + 0x28);
  var_15 = (type_5 *)0x0;
  var_35 = (type_5 *)0x0;
  if (var_2 != 0) {
    var_6 = (type_3 *)(var_3 + var_2);
    type_7.contents = pool_initial_storage;
    type_7.var_2 = 0x100;
    type_7.resized = false;
    type_7.orig_size = 0x100;
    var_40 = attr_pair_initial_storage;
    var_32 = false;
    local_34c = 8;
    type_7.orig_contents = type_7.contents;
LAB_0011e685:
    do {
      type_7.var_35 = 0;
      var_5 = (char *)var_4(var_3,0x3c,(long)var_6 - (long)var_3);
      if ((var_5 == (char *)0x0) || (var_7 = (type_3 *)(var_5 + 1), var_6 <= var_7))
      goto LAB_0011e719;
      var_3 = (char *)var_7;
      if (var_5[1] == '!') {
        if (((((var_8 & 1U) == 0) && (var_5 + 4 < var_6)) && (var_5[2] == '-')) &&
           (var_7 = (type_3 *)(var_5 + 3), var_5[3] == '-')) {
LAB_0011e86d:
          while (var_9 = var_7, var_7 = var_9 + 3, var_7 < var_6) {
            if (var_9[3] == 0x2d) {
              do {
                var_9 = var_7;
                if (var_9[-1] == 0x2d) goto LAB_0011e89e;
                var_7 = var_9 + 2;
                if (var_6 <= var_7) goto LAB_0011e685;
              } while (var_9[2] == 0x2d);
              if ((var_9[2] == 0x3e) && (var_9[1] == 0x2d)) {
                var_9 = var_9 + 3;
                goto LAB_0011e8bd;
              }
            }
            else if (((var_9[3] == 0x3e) && (var_9[2] == 0x2d)) && (var_9[1] == 0x2d)) {
              var_9 = var_9 + 4;
              goto LAB_0011e8bd;
            }
          }
          goto LAB_0011e685;
        }
        var_9 = (type_3 *)(var_5 + 2);
        if (var_6 != var_9) {
                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          (*(type_9 *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);
          return;
        }
        goto LAB_0011e8ee;
      }
      var_13 = 0;
      var_9 = var_7;
      var_11 = var_7;
      if (var_5[1] == '/') {
        var_9 = (type_3 *)(var_5 + 2);
        if (var_6 <= var_9) goto LAB_0011e719;
        var_13 = 1;
        var_11 = var_9;
      }
      while( true ) {
        var_10 = *var_9;
        var_36 = (type_3)(var_10 - 0x21) < 0x5e;
        var_37 = 2 < (type_3)(var_10 - 0x3c);
        var_38 = var_10 != 0x2f;
        if ((!var_36 || !var_37) || !var_38) break;
        var_9 = var_9 + 1;
        if (var_6 <= var_9) goto LAB_0011e719;
      }
      var_12 = var_9;
      var_3 = (char *)var_9;
    } while (var_11 == var_9);
    while ((var_10 = *var_12, '\b' < (char)var_10 && (((char)var_10 < '\x0e' || (var_10 == 0x20))))) {
      var_12 = var_12 + 1;
      if (var_6 <= var_12) goto LAB_0011e719;
    }
    if (var_13 == 0) {
      var_45 = (type_5 *)var_14(0x28);
      if (var_15 == (type_5 *)0x0) {
        var_45->next = (type_5 *)0x0;
        var_45->prev = (type_5 *)0x0;
        var_15 = var_45;
      }
      else {
        var_35->next = var_45;
        var_45->prev = var_35;
        var_45->next = (type_5 *)0x0;
      }
      var_45->tagname_begin = (char *)var_11;
      var_45->tagname_end = (char *)var_9;
      var_45->contents_begin = (char *)0x0;
      var_35 = var_45;
    }
    else {
      var_3 = (char *)var_7;
      if ((*var_12 & 0xfd) != 0x3c) goto LAB_0011e685;
    }
    var_25 = var_16(allowed_tags,(char *)var_11,(char *)var_9);
    if (var_25) {
      var_17(&type_7,(char *)var_11,(char *)var_9,1);
    }
    var_26 = 0;
LAB_0011eb7b:
    var_10 = *var_12;
    if (('\b' < (char)var_10) && (((char)var_10 < '\x0e' || (var_10 == 0x20)))) goto LAB_0011eb6e;
    var_18 = var_12;
    if (var_10 == 0x2f) {
      var_18 = var_12 + 1;
      if (var_6 <= var_18) goto LAB_0011e719;
      while ((var_10 = *var_18, '\b' < (char)var_10 && (((char)var_10 < '\x0e' || (var_10 == 0x20))))) {
        var_18 = var_18 + 1;
        if (var_6 == var_18) goto LAB_0011e719;
      }
      var_3 = (char *)var_7;
      if ((var_10 & 0xfd) != 0x3c) goto LAB_0011e685;
    }
    var_19 = var_18;
    if ((*var_18 & 0xfd) != 0x3c) {
      while ((var_10 = *var_19, (type_3)(var_10 - 0x21) < 0x5e && 2 < (type_3)(var_10 - 0x3c) && (var_10 != 0x2f)
             )) {
        var_19 = var_19 + 1;
        if (var_6 <= var_19) goto LAB_0011e719;
      }
      var_12 = var_19;
      var_3 = (char *)var_7;
      if (var_18 == var_19) goto LAB_0011e685;
      while ((var_10 = *var_12, '\b' < (char)var_10 && (((char)var_10 < '\x0e' || (var_10 == 0x20)))))
      {
        var_12 = var_12 + 1;
        if (var_6 <= var_12) goto LAB_0011e719;
      }
      var_21 = var_18;
      local_338 = var_18;
      var_23 = var_19;
      local_328 = var_19;
      if (((type_3)(var_10 - 0x21) < 0x5e) && (2 < (type_3)(var_10 - 0x3c))) {
        local_31c = 1;
      }
      else {
        var_20 = (var_10 & 0xfd) == 0x3c;
        var_24 = var_20 || var_10 == 0x2f;
        if (var_20 || var_10 == 0x2f) {
          local_31c = 1;
        }
        else {
          if (var_10 != 0x3d) goto LAB_0011e685;
          var_21 = var_12 + 1;
          if (var_6 <= var_21) goto LAB_0011e719;
          while ((var_10 = *var_21, '\b' < (char)var_10 &&
                 (((char)var_10 < '\x0e' || (var_10 == 0x20))))) {
            var_21 = var_21 + 1;
            if (var_6 == var_21) goto LAB_0011e719;
          }
          if ((var_10 == 0x22) || (var_12 = var_21, var_10 == 0x27)) {
            local_338 = var_21 + 1;
            var_12 = local_338;
            while (var_20 = var_24, var_12 < var_6) {
              do {
                var_24 = var_20;
                var_23 = var_12;
                var_22 = *var_23;
                if (var_10 == var_22) {
                  var_12 = var_23 + 1;
                  if (var_6 <= var_12) goto LAB_0011e719;
                  local_31c = (-(uint)((var_8 & 2U) == 0) & 0xfffffffc) + 6;
                  local_328 = var_12;
                  goto LAB_0011ec71;
                }
                var_20 = (bool)(var_22 == 10 & (var_24 ^ 1U));
                var_12 = local_338;
              } while (var_20);
              if ((var_24) && (var_3 = (char *)var_23, (var_22 & 0xfd) == 0x3c)) goto LAB_0011e685;
              var_12 = var_23 + 1;
            }
            goto LAB_0011e719;
          }
          while (((var_10 = *var_12, (char)var_10 < '\t' || (('\r' < (char)var_10 && (var_10 != 0x20)))
                  ) && ((var_10 & 0xfd) != 0x3c))) {
            var_12 = var_12 + 1;
            if (var_6 <= var_12) goto LAB_0011e719;
          }
          if (var_21 == var_12) goto LAB_0011e685;
          local_31c = 2;
          local_338 = var_21;
          var_23 = var_12;
          local_328 = var_12;
        }
      }
LAB_0011ec71:
      if ((var_25 && ((!var_36 || !var_37) || !var_38)) &&
         (_Var11 = var_16(allowed_attributes,(char *)var_18,(char *)var_19), _Var11)) {
        var_28 = (long)(var_26 + 1);
        var_27 = (long)local_34c;
        var_30 = var_27;
        if (var_27 < var_28) {
          do {
            var_29 = var_30;
            var_30 = var_29 * 2;
          } while (var_28 != var_30 && var_31(var_28,var_30) == var_28 + var_29 * -2 < 0);
          if (var_27 != var_30) {
            if (var_32 == false) {
              var_39 = (type_6 *)var_14(var_29 * 0x50);
              var_33(var_39,var_40,(long)local_34c * 0x28);
              var_40 = var_39;
            }
            else {
              var_40 = (type_6 *)var_34(var_40,var_29 * 0x50);
            }
            local_34c = (int)var_30;
            var_32 = _Var11;
          }
        }
        var_40[var_26].name_pool_index = type_7.var_35;
        var_17(&type_7,(char *)var_18,(char *)var_19,1);
        var_40[var_26].value_pool_index = type_7.var_35;
        var_17(&type_7,(char *)local_338,(char *)var_23,local_31c);
        var_40[var_26].value_raw_beginning = (char *)var_21;
        var_40[var_26].value_raw_size = (int)local_328 - (int)var_21;
        var_26 = var_26 + 1;
      }
      goto LAB_0011eb7b;
    }
    if (((var_13 == 0) && (var_35 != (type_5 *)0x0)) &&
       ((type_3 *)var_35->tagname_begin == var_11)) {
      var_35->contents_begin = (char *)(var_18 + 1);
    }
    if (!var_25 || (var_36 && var_37) && var_38) goto joined_r0x0011ef79;
    type_8.name = type_7.contents;
    type_8.end_tag_p = var_13;
    type_8.nattrs = var_26;
    if (0 < var_26) {
      var_39 = var_40;
      do {
        var_39->name = type_7.contents + var_39->name_pool_index;
        var_39->value = type_7.contents + var_39->value_pool_index;
        var_39 = var_39 + 1;
      } while (var_39 != var_40 + (ulong)(var_26 - 1) + 1);
    }
    type_8.attrs = var_40;
    type_8.end_position = (char *)(var_18 + 1);
    type_8.contents_begin = (char *)0x0;
    type_8.contents_end = (char *)0x0;
    type_8.start_position = var_5;
    if (var_13 != 0) {
      if (var_35 != (type_5 *)0x0) {
        var_41 = (size_t)((int)var_9 - (int)var_11);
        var_45 = var_35;
        do {
          if ((var_41 == (long)var_45->tagname_end - (long)var_45->tagname_begin) &&
             (var_43 = var_42(var_45->tagname_begin,(char *)var_11,var_41), var_43 == 0)) {
            if (var_45->contents_begin != (char *)0x0) {
              type_8.contents_begin = var_45->contents_begin;
              type_8.contents_end = var_5;
            }
            var_44(&var_15,&var_35,var_45);
            break;
          }
          var_45 = var_45->prev;
        } while (var_45 != (type_5 *)0x0);
      }
    }
    (*mapfun)(&type_8,maparg);
    var_3 = (char *)var_18;
    if (*var_18 != 0x3c) {
joined_r0x0011ef79:
      var_3 = (char *)(var_18 + 1);
      if (var_6 <= var_18 + 1) goto LAB_0011e719;
    }
    goto LAB_0011e685;
  }
LAB_0011e780:
  if (var_46 != *(long *)(var_1 + 0x28)) {
                    /* WARNING: Subroutine does not return */
    var_47();
  }
  return;
  while (var_12[1] == 0x2d) {
LAB_0011e89e:
    var_12 = var_9;
    var_9 = var_12 + 1;
    if (var_6 == var_9) goto LAB_0011e685;
  }
  var_7 = var_9;
  if (var_12[1] == 0x3e) goto code_r0x0011e8b9;
  goto LAB_0011e86d;
code_r0x0011e8b9:
  var_9 = var_12 + 2;
LAB_0011e8bd:
  if (var_9 == (type_3 *)0x0) goto LAB_0011e685;
LAB_0011e8ee:
  var_3 = (char *)var_9;
  if (var_9 == var_6) goto LAB_0011e719;
  goto LAB_0011e685;
LAB_0011eb6e:
  var_12 = var_12 + 1;
  if (var_6 <= var_12) goto LAB_0011e719;
  goto LAB_0011eb7b;
LAB_0011e719:
  if (type_7.resized != false) {
    var_48(type_7.contents);
  }
  type_7.contents = type_7.orig_contents;
  type_7.var_2 = type_7.orig_size;
  type_7.var_35 = 0;
  type_7.resized = false;
  if (var_32 != false) {
    var_48(var_40);
  }
  var_44(&var_15,&var_35,var_15);
  goto LAB_0011e780;
}


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

/* WARNING: Removing unreachable block (ram,0x0011ea16) */
/* WARNING: Removing unreachable block (ram,0x0011e8e7) */
/* WARNING: Removing unreachable block (ram,0x0011e8ea) */

void MASKED(byte *param_1,int param_2,code *param_3,undefined8 param_4,uint param_5,
                 undefined8 param_6,undefined8 param_7)

{
  byte *pbVar1;
  byte *pbVar2;
  byte bVar3;
  byte bVar4;
  bool bVar5;
  bool bVar6;
  bool bVar7;
  long lVar8;
  char cVar9;
  int iVar10;
  void *pvVar11;
  undefined8 *puVar12;
  long lVar13;
  long *plVar14;
  bool bVar15;
  long lVar16;
  byte *pbVar17;
  byte *pbVar18;
  byte *pbVar19;
  byte *pbVar20;
  long lVar21;
  size_t __n;
  long in_FS_OFFSET;
  bool bVar22;
  bool bVar23;
  byte *local_3a0;
  int local_384;
  char local_380;
  long *local_368;
  int local_34c;
  byte *local_340;
  byte *local_338;
  byte *local_330;
  byte *local_328;
  int local_320;
  int local_31c;
  undefined8 *local_308;
  undefined8 *local_300;
  undefined1 *local_2f8;
  undefined4 local_2f0;
  undefined4 local_2ec;
  char local_2e8;
  undefined1 *local_2e0;
  undefined4 local_2d8;
  undefined1 *local_2c8;
  int local_2c0;
  int local_2bc;
  long *local_2b8;
  void *local_2b0;
  byte *local_2a8;
  long local_2a0;
  void *local_298;
  long local_288 [40];
  undefined1 local_148 [264];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  local_308 = (undefined8 *)0x0;
  local_300 = (undefined8 *)0x0;
  if (param_2 != 0) {
    pbVar2 = param_1 + param_2;
    local_2f8 = local_148;
    local_2f0 = 0x100;
    local_2e8 = '\0';
    local_2d8 = 0x100;
    local_368 = local_288;
    local_380 = '\0';
    local_34c = 8;
    local_2e0 = local_2f8;
LAB_0011e685:
    do {
      local_2ec = 0;
      pvVar11 = memchr(param_1,0x3c,(long)pbVar2 - (long)param_1);
      if ((pvVar11 == (void *)0x0) || (pbVar1 = (byte *)((long)pvVar11 + 1), pbVar2 <= pbVar1))
      goto LAB_0011e719;
      param_1 = pbVar1;
      if (*(char *)((long)pvVar11 + 1) == '!') {
        if (((((param_5 & 1) == 0) && ((byte *)((long)pvVar11 + 4U) < pbVar2)) &&
            (*(char *)((long)pvVar11 + 2) == '-')) &&
           (pbVar1 = (byte *)((long)pvVar11 + 3), *(char *)((long)pvVar11 + 3) == '-')) {
LAB_0011e86d:
          while (pbVar20 = pbVar1, pbVar1 = pbVar20 + 3, pbVar1 < pbVar2) {
            if (pbVar20[3] == 0x2d) {
              do {
                pbVar20 = pbVar1;
                if (pbVar20[-1] == 0x2d) goto LAB_0011e89e;
                pbVar1 = pbVar20 + 2;
                if (pbVar2 <= pbVar1) goto LAB_0011e685;
              } while (pbVar20[2] == 0x2d);
              if ((pbVar20[2] == 0x3e) && (pbVar20[1] == 0x2d)) {
                pbVar20 = pbVar20 + 3;
                goto LAB_0011e8bd;
              }
            }
            else if (((pbVar20[3] == 0x3e) && (pbVar20[2] == 0x2d)) && (pbVar20[1] == 0x2d)) {
              pbVar20 = pbVar20 + 4;
              goto LAB_0011e8bd;
            }
          }
          goto LAB_0011e685;
        }
        pbVar20 = (byte *)((long)pvVar11 + 2);
        if (pbVar2 != pbVar20) {
                    /* WARNING: Could not recover jumptable at 0x0011ea36. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)((long)&switchD_0011ea36::switchdataD_001558dc + (long)(int)UINT_001558e4))(3);
          return;
        }
        goto LAB_0011e8ee;
      }
      local_384 = 0;
      pbVar20 = pbVar1;
      local_3a0 = pbVar1;
      if (*(char *)((long)pvVar11 + 1) == '/') {
        pbVar20 = (byte *)((long)pvVar11 + 2);
        if (pbVar2 <= pbVar20) goto LAB_0011e719;
        local_384 = 1;
        local_3a0 = pbVar20;
      }
      while( true ) {
        bVar3 = *pbVar20;
        bVar5 = (byte)(bVar3 - 0x21) < 0x5e;
        bVar6 = 2 < (byte)(bVar3 - 0x3c);
        bVar22 = bVar3 != 0x2f;
        if ((!bVar5 || !bVar6) || !bVar22) break;
        pbVar20 = pbVar20 + 1;
        if (pbVar2 <= pbVar20) goto LAB_0011e719;
      }
      pbVar18 = pbVar20;
      param_1 = pbVar20;
    } while (local_3a0 == pbVar20);
    while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {
      pbVar18 = pbVar18 + 1;
      if (pbVar2 <= pbVar18) goto LAB_0011e719;
    }
    if (local_384 == 0) {
      puVar12 = (undefined8 *)FUN_001494bf(0x28);
      if (local_308 == (undefined8 *)0x0) {
        puVar12[4] = 0;
        puVar12[3] = 0;
        local_308 = puVar12;
      }
      else {
        local_300[4] = puVar12;
        puVar12[3] = local_300;
        puVar12[4] = 0;
      }
      *puVar12 = local_3a0;
      puVar12[1] = pbVar20;
      puVar12[2] = 0;
      local_300 = puVar12;
    }
    else {
      param_1 = pbVar1;
      if ((*pbVar18 & 0xfd) != 0x3c) goto LAB_0011e685;
    }
    cVar9 = FUN_0011e529(param_6,local_3a0,pbVar20);
    if (cVar9 != '\0') {
      FUN_0011ddab(&local_2f8,local_3a0,pbVar20,1);
    }
    bVar7 = cVar9 == '\0';
    local_320 = 0;
LAB_0011eb7b:
    bVar3 = *pbVar18;
    if (('\b' < (char)bVar3) && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))) goto LAB_0011eb6e;
    pbVar19 = pbVar18;
    if (bVar3 == 0x2f) {
      pbVar19 = pbVar18 + 1;
      if (pbVar2 <= pbVar19) goto LAB_0011e719;
      while ((bVar3 = *pbVar19, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))
      {
        pbVar19 = pbVar19 + 1;
        if (pbVar2 == pbVar19) goto LAB_0011e719;
      }
      param_1 = pbVar1;
      if ((bVar3 & 0xfd) != 0x3c) goto LAB_0011e685;
    }
    pbVar17 = pbVar19;
    if ((*pbVar19 & 0xfd) != 0x3c) {
      while ((bVar3 = *pbVar17, (byte)(bVar3 - 0x21) < 0x5e && 2 < (byte)(bVar3 - 0x3c) &&
             (bVar3 != 0x2f))) {
        pbVar17 = pbVar17 + 1;
        if (pbVar2 <= pbVar17) goto LAB_0011e719;
      }
      pbVar18 = pbVar17;
      param_1 = pbVar1;
      if (pbVar19 == pbVar17) goto LAB_0011e685;
      while ((bVar3 = *pbVar18, '\b' < (char)bVar3 && (((char)bVar3 < '\x0e' || (bVar3 == 0x20)))))
      {
        pbVar18 = pbVar18 + 1;
        if (pbVar2 <= pbVar18) goto LAB_0011e719;
      }
      local_340 = pbVar19;
      local_338 = pbVar19;
      local_330 = pbVar17;
      local_328 = pbVar17;
      if (((byte)(bVar3 - 0x21) < 0x5e) && (2 < (byte)(bVar3 - 0x3c))) {
        local_31c = 1;
      }
      else {
        bVar23 = (bVar3 & 0xfd) == 0x3c;
        bVar15 = bVar23 || bVar3 == 0x2f;
        if (bVar23 || bVar3 == 0x2f) {
          local_31c = 1;
        }
        else {
          if (bVar3 != 0x3d) goto LAB_0011e685;
          local_340 = pbVar18 + 1;
          if (pbVar2 <= local_340) goto LAB_0011e719;
          while ((bVar3 = *local_340, '\b' < (char)bVar3 &&
                 (((char)bVar3 < '\x0e' || (bVar3 == 0x20))))) {
            local_340 = local_340 + 1;
            if (pbVar2 == local_340) goto LAB_0011e719;
          }
          if ((bVar3 == 0x22) || (pbVar18 = local_340, bVar3 == 0x27)) {
            local_338 = local_340 + 1;
            pbVar18 = local_338;
            while (bVar23 = bVar15, pbVar18 < pbVar2) {
              do {
                bVar15 = bVar23;
                local_330 = pbVar18;
                bVar4 = *local_330;
                if (bVar3 == bVar4) {
                  pbVar18 = local_330 + 1;
                  if (pbVar2 <= pbVar18) goto LAB_0011e719;
                  local_31c = (-(uint)((param_5 & 2) == 0) & 0xfffffffc) + 6;
                  local_328 = pbVar18;
                  goto LAB_0011ec71;
                }
                bVar23 = (bool)(bVar4 == 10 & (bVar15 ^ 1U));
                pbVar18 = local_338;
              } while (bVar23);
              if ((bVar15) && (param_1 = local_330, (bVar4 & 0xfd) == 0x3c)) goto LAB_0011e685;
              pbVar18 = local_330 + 1;
            }
            goto LAB_0011e719;
          }
          while (((bVar3 = *pbVar18, (char)bVar3 < '\t' || (('\r' < (char)bVar3 && (bVar3 != 0x20)))
                  ) && ((bVar3 & 0xfd) != 0x3c))) {
            pbVar18 = pbVar18 + 1;
            if (pbVar2 <= pbVar18) goto LAB_0011e719;
          }
          if (local_340 == pbVar18) goto LAB_0011e685;
          local_31c = 2;
          local_338 = local_340;
          local_330 = pbVar18;
          local_328 = pbVar18;
        }
      }
LAB_0011ec71:
      if ((!bVar7 && ((!bVar5 || !bVar6) || !bVar22)) &&
         (cVar9 = FUN_0011e529(param_7,pbVar19,pbVar17), cVar9 != '\0')) {
        lVar13 = (long)(local_320 + 1);
        lVar16 = (long)local_34c;
        lVar8 = lVar16;
        if (lVar16 < lVar13) {
          do {
            lVar21 = lVar8;
            lVar8 = lVar21 * 2;
          } while (lVar13 != lVar8 && SBORROW8(lVar13,lVar8) == lVar13 + lVar21 * -2 < 0);
          if (lVar16 != lVar8) {
            if (local_380 == '\0') {
              plVar14 = (long *)FUN_001494bf(lVar21 * 0x50);
              memcpy(plVar14,local_368,(long)local_34c * 0x28);
              local_368 = plVar14;
            }
            else {
              local_368 = (long *)FUN_0014951a(local_368,lVar21 * 0x50);
            }
            local_34c = (int)lVar8;
            local_380 = cVar9;
          }
        }
        *(undefined4 *)((long)local_368 + (long)local_320 * 0x28 + 0x1c) = local_2ec;
        FUN_0011ddab(&local_2f8,pbVar19,pbVar17,1);
        *(undefined4 *)(local_368 + (long)local_320 * 5 + 4) = local_2ec;
        FUN_0011ddab(&local_2f8,local_338,local_330,local_31c);
        local_368[(long)local_320 * 5 + 2] = (long)local_340;
        *(int *)(local_368 + (long)local_320 * 5 + 3) = (int)local_328 - (int)local_340;
        local_320 = local_320 + 1;
      }
      goto LAB_0011eb7b;
    }
    if (((local_384 == 0) && (local_300 != (undefined8 *)0x0)) && ((byte *)*local_300 == local_3a0))
    {
      local_300[2] = pbVar19 + 1;
    }
    if (bVar7 || (bVar5 && bVar6) && bVar22) goto joined_r0x0011ef79;
    local_2c8 = local_2f8;
    local_2c0 = local_384;
    local_2bc = local_320;
    if (0 < local_320) {
      plVar14 = local_368;
      do {
        *plVar14 = (long)(local_2f8 + *(int *)((long)plVar14 + 0x1c));
        plVar14[1] = (long)(local_2f8 + (int)plVar14[4]);
        plVar14 = plVar14 + 5;
      } while (plVar14 != local_368 + (ulong)(local_320 - 1) * 5 + 5);
    }
    local_2b8 = local_368;
    local_2a8 = pbVar19 + 1;
    local_2a0 = 0;
    local_298 = (void *)0x0;
    local_2b0 = pvVar11;
    if (local_384 != 0) {
      if (local_300 != (undefined8 *)0x0) {
        __n = (size_t)((int)pbVar20 - (int)local_3a0);
        puVar12 = local_300;
        do {
          if ((__n == puVar12[1] - (long)*puVar12) &&
             (iVar10 = strncasecmp((char *)*puVar12,(char *)local_3a0,__n), iVar10 == 0)) {
            if (puVar12[2] != 0) {
              local_2a0 = puVar12[2];
              local_298 = pvVar11;
            }
            FUN_0011dd1f(&local_308,&local_300,puVar12);
            break;
          }
          puVar12 = (undefined8 *)puVar12[3];
        } while (puVar12 != (undefined8 *)0x0);
      }
    }
    (*param_3)(&local_2c8,param_4);
    param_1 = pbVar19;
    if (*pbVar19 != 0x3c) {
joined_r0x0011ef79:
      param_1 = pbVar19 + 1;
      if (pbVar2 <= pbVar19 + 1) goto LAB_0011e719;
    }
    goto LAB_0011e685;
  }
LAB_0011e780:
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
  while (pbVar18[1] == 0x2d) {
LAB_0011e89e:
    pbVar18 = pbVar20;
    pbVar20 = pbVar18 + 1;
    if (pbVar2 == pbVar20) goto LAB_0011e685;
  }
  pbVar1 = pbVar20;
  if (pbVar18[1] == 0x3e) goto code_r0x0011e8b9;
  goto LAB_0011e86d;
code_r0x0011e8b9:
  pbVar20 = pbVar18 + 2;
LAB_0011e8bd:
  if (pbVar20 == (byte *)0x0) goto LAB_0011e685;
LAB_0011e8ee:
  param_1 = pbVar20;
  if (pbVar20 == pbVar2) goto LAB_0011e719;
  goto LAB_0011e685;
LAB_0011eb6e:
  pbVar18 = pbVar18 + 1;
  if (pbVar2 <= pbVar18) goto LAB_0011e719;
  goto LAB_0011eb7b;
LAB_0011e719:
  if (local_2e8 != '\0') {
    free(local_2f8);
  }
  local_2f8 = local_2e0;
  local_2f0 = local_2d8;
  local_2ec = 0;
  local_2e8 = 0;
  if (local_380 != '\0') {
    free(local_368);
  }
  FUN_0011dd1f(&local_308,&local_300,local_308);
  goto LAB_0011e780;
}

