
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)

{
  bool bVar1;
  char cVar2;
  bool bVar3;
  undefined *puVar4;
  undefined3 extraout_var;
  int iVar5;
  attr_pair *paVar6;
  code *pcVar7;
  char *pcVar8;
  _Bool _Var14;
  undefined1 *puVar9;
  undefined4 uVar10;
  attr_pair *paVar11;
  attr_pair *paVar12;
  int iVar13;
  uint uVar15;
  tagstack_item **pptVar16;
  uint uVar17;
  attr_pair *paVar18;
  int iVar19;
  int iVar21;
  char *pcVar22;
  char *pcVar23;
  tagstack_item *ptVar24;
  char *end;
  tagstack_item **pptVar25;
  char *b;
  char *pcVar26;
  char *beg;
  char *pcVar27;
  char *pcVar28;
  code *pcVar29;
  undefined *puVar30;
  int iStack_290;
  attr_pair *paStack_28c;
  attr_pair *paStack_280;
  int iStack_27c;
  char *pcStack_25c;
  char *pcStack_254;
  attr_pair *paStack_250;
  tagstack_item *head;
  tagstack_item *tail;
  pool pool;
  taginfo taginfo;
  attr_pair attr_pair_initial_storage [8];
  char pool_initial_storage [256];
  int iVar20;
  
  puVar4 = PTR___stack_chk_guard_000afc3c;
  puVar30 = PTR_s_hallenge__000af46c;
  head = (tagstack_item *)0x0;
  tail = (tagstack_item *)0x0;
  iVar5 = *(int *)PTR___stack_chk_guard_000afc3c;
  pptVar16 = (tagstack_item **)text;
  if (size != 0) {
    pool.resized = false;
    paStack_280 = attr_pair_initial_storage;
    pool.size = 0x100;
    pool.orig_size = 0x100;
    paVar6 = (attr_pair *)0x6;
    pcVar27 = text + size;
    paStack_28c = (attr_pair *)0x0;
    if ((flags & 2U) == 0) {
      paVar6 = (attr_pair *)0x2;
    }
    iStack_27c = 8;
    size = (int)&tail;
    pptVar16 = &head;
    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);
    paVar18 = (attr_pair *)maparg;
    pool.contents = pool_initial_storage;
    pool.orig_contents = pool_initial_storage;
LAB_0003228c:
    do {
      pool.tail = 0;
      pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text);
      if ((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)) goto LAB_0003242c;
      uVar15 = (uint)pcVar8[1];
      text = pcVar28;
      if (uVar15 == 0x21) {
        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&
           (pcVar8[3] == '-')) {
          pcVar28 = pcVar8 + 3;
LAB_0003267c:
          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {
            if (pcVar8[3] == '-') {
              do {
                pcVar8 = pcVar28;
                if (pcVar8[-1] == '-') goto LAB_00032dcc;
                pcVar28 = pcVar8 + 2;
                if (pcVar27 <= pcVar28) goto LAB_0003228c;
              } while (*pcVar28 == '-');
              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {
                pcVar8 = pcVar8 + 3;
                goto LAB_00032d0c;
              }
            }
            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {
              pcVar8 = pcVar8 + 4;
              goto LAB_00032d0c;
            }
          }
          goto LAB_0003228c;
        }
        paVar18 = (attr_pair *)0x2;
        cVar2 = '!';
        pcVar8 = pcVar8 + 2;
        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {
          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);
          if (puVar9 < (undefined1 *)0xa) {
                    /* WARNING: Could not emulate address calculation at 0x0003250c */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();
            return;
          }
          if (cVar2 != '!') break;
          cVar2 = *pcVar28;
          paVar18 = (attr_pair *)0x3;
        }
        goto joined_r0x00032628;
      }
      if (uVar15 == 0x2f) {
        pcVar22 = pcVar8 + 2;
        if (pcVar27 <= pcVar22) goto LAB_0003242c;
        uVar15 = (uint)pcVar8[2];
        iStack_290 = 1;
        b = pcVar22;
      }
      else {
        iStack_290 = 0;
        pcVar22 = pcVar28;
        b = pcVar28;
      }
      while (text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e) {
        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {
          if (b != pcVar22) goto LAB_00032384;
          goto LAB_0003228c;
        }
        pcVar22 = pcVar22 + 1;
        if (pcVar27 <= pcVar22) goto LAB_0003242c;
        uVar15 = (uint)*pcVar22;
      }
    } while (b == pcVar22);
    paVar18 = (attr_pair *)0x1;
    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {
      pcVar26 = pcVar26 + 1;
      if (pcVar27 <= pcVar26) goto LAB_0003242c;
      uVar15 = (uint)*pcVar26;
    }
LAB_00032384:
    if (iStack_290 == 0) {
      ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14);
      if (head == (tagstack_item *)0x0) {
        ptVar24->next = (tagstack_item *)0x0;
        ptVar24->prev = (tagstack_item *)0x0;
        head = ptVar24;
      }
      else {
        tail->next = ptVar24;
        ptVar24->prev = tail;
        ptVar24->next = (tagstack_item *)0x0;
      }
      ptVar24->tagname_begin = b;
      ptVar24->tagname_end = pcVar22;
      ptVar24->contents_begin = (char *)0x0;
      tail = ptVar24;
    }
    else {
      text = pcVar28;
      if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;
    }
    pcVar29 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);
    _Var14 = name_allowed(allowed_tags,b,pcVar22);
    bVar1 = CONCAT31(extraout_var,_Var14) != 0;
    if (bVar1) {
      paVar18 = (attr_pair *)0x1;
      convert_and_copy(&pool,b,pcVar22,1);
    }
    iVar13 = 0;
LAB_000323f8:
    while( true ) {
      beg = pcVar26;
      uVar15 = (uint)*beg;
      if ((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)) break;
      pcVar26 = beg + 1;
      if (pcVar27 <= beg + 1) goto LAB_0003242c;
    }
    if (uVar15 == 0x2f) {
      beg = beg + 1;
      if (pcVar27 <= beg) goto LAB_0003242c;
      paVar18 = (attr_pair *)0x1;
      goto LAB_000328e4;
    }
    end = beg;
    if ((uVar15 & 0xfffffffd) == 0x3c) goto LAB_0003292c;
    while (pcVar23 = beg, pcVar26 = end, pcStack_25c = beg, pcStack_254 = end,
          (uVar15 & 0xff) - 0x21 < 0x5e) {
      if ((uVar15 & 0xff) - 0x3c < 3) {
        text = pcVar28;
        if (beg != end) goto LAB_00032818;
        goto LAB_0003228c;
      }
      if (uVar15 == 0x2f) {
        text = pcVar28;
        if (beg == end) goto LAB_0003228c;
        paStack_250 = (attr_pair *)0x1;
        text = end;
        goto LAB_00032994;
      }
      end = end + 1;
      if (pcVar27 <= end) goto LAB_0003242c;
      uVar15 = (uint)*end;
    }
    text = pcVar28;
    if (beg == end) goto LAB_0003228c;
    paVar18 = (attr_pair *)0x1;
    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {
      pcVar26 = pcVar26 + 1;
      if (pcVar27 <= pcVar26) goto LAB_0003242c;
      uVar15 = (uint)*pcVar26;
    }
    if ((uVar15 - 0x21 & 0xff) < 0x5e) {
LAB_00032818:
      if (uVar15 == 0x3d) goto LAB_00032828;
      paStack_250 = (attr_pair *)0x1;
      text = end;
    }
    else if ((uVar15 & 0xfffffffd) == 0x3c) {
      paStack_250 = (attr_pair *)0x1;
      text = end;
    }
    else {
      if (uVar15 != 0x3d) goto LAB_0003228c;
LAB_00032828:
      pcVar23 = pcVar26 + 1;
      if (pcVar27 <= pcVar23) goto LAB_0003242c;
      paVar18 = (attr_pair *)0x1;
      while( true ) {
        uVar17 = (uint)*pcVar23;
        uVar15 = uVar17 - 9;
        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;
        pcVar23 = pcVar23 + 1;
        if (pcVar27 == pcVar23) goto LAB_0003242c;
      }
      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {
        pcStack_25c = pcVar23 + 1;
        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;
        bVar3 = false;
        paVar18 = (attr_pair *)0x3c;
        text = pcStack_25c;
        while (uVar15 = (uint)*text, uVar17 != uVar15) {
          if (bVar3) {
LAB_00032c8c:
            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {
              if (uVar17 != uVar15) goto LAB_0003228c;
              break;
            }
            bVar3 = true;
          }
          else if (uVar15 == 10) {
            uVar15 = (uint)pcVar23[1];
            text = pcStack_25c;
            if (uVar15 != uVar17) goto LAB_00032c8c;
            break;
          }
          text = text + 1;
          if (pcVar27 <= text) goto LAB_0003242c;
        }
        pcVar26 = text + 1;
        pcStack_254 = pcVar26;
        paStack_250 = paVar6;
        if (pcVar27 <= pcVar26) goto LAB_0003242c;
      }
      else {
        paVar18 = (attr_pair *)0x3c;
        pcVar26 = pcVar23;
        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&
               ((uVar17 & 0xfffffffd) != 0x3c))) {
          pcVar26 = pcVar26 + 1;
          if (pcVar27 <= pcVar26) goto LAB_0003242c;
          uVar17 = (uint)*pcVar26;
          uVar15 = uVar17 - 9;
        }
        text = pcVar28;
        if (pcVar23 == pcVar26) goto LAB_0003228c;
        paStack_250 = (attr_pair *)0x2;
        text = pcVar26;
        pcStack_25c = pcVar23;
        pcStack_254 = pcVar26;
      }
    }
LAB_00032994:
    if ((bVar1) &&
       (paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0))
    {
      iVar21 = iVar13 + 1;
      iVar19 = iStack_27c;
      if (iStack_27c < iVar21) {
        do {
          iVar20 = iVar19;
          iVar19 = iVar20 * 2;
        } while (iVar19 < iVar21);
        if (iStack_27c != iVar19) {
          if (paStack_28c == (attr_pair *)0x0) {
            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);
            paStack_280 = (attr_pair *)
                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);
            paStack_28c = paVar18;
          }
          else {
            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);
          }
        }
      }
      paStack_280[iVar13].name_pool_index = pool.tail;
      convert_and_copy(&pool,beg,end,1);
      paStack_280[iVar13].value_pool_index = pool.tail;
      convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250);
      paStack_280[iVar13].value_raw_beginning = pcVar23;
      paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23;
      iStack_27c = iVar19;
      iVar13 = iVar21;
      paVar18 = paStack_250;
    }
    goto LAB_000323f8;
  }
LAB_0003246c:
  if (iVar5 == *(int *)puVar4) {
    return;
  }
  puVar30 = PTR___stack_chk_fail_000afbd4;
  (*(code *)PTR___stack_chk_fail_000afbd4)();
  if (0 < (int)pptVar16) {
    pptVar25 = (tagstack_item **)0x0;
    ptVar24 = *(tagstack_item **)size;
    do {
      iVar5 = (**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun);
      if (iVar5 == 0) {
        if ((attr_pair *)maparg != (attr_pair *)0x0) {
          ((attr_pair *)maparg)->name = (char *)pptVar25;
        }
        return;
      }
      pptVar25 = (tagstack_item **)((int)pptVar25 + 1);
      ptVar24 = (tagstack_item *)&ptVar24[1].tagname_end;
    } while (pptVar25 != pptVar16);
    return;
  }
  return;
  while (*pcVar8 == '-') {
LAB_00032dcc:
    pcVar22 = pcVar8;
    pcVar8 = pcVar22 + 1;
    if (pcVar27 == pcVar8) goto LAB_0003228c;
  }
  pcVar28 = pcVar8;
  if (*pcVar8 == '>') goto code_r0x00032dec;
  goto LAB_0003267c;
code_r0x00032dec:
  pcVar8 = pcVar22 + 2;
LAB_00032d0c:
  if (pcVar8 == (char *)0x0) goto LAB_0003228c;
joined_r0x00032628:
  text = pcVar8;
  if (pcVar8 == pcVar27) goto LAB_0003242c;
  goto LAB_0003228c;
LAB_000328e4:
  uVar15 = (int)*beg - 9;
  if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;
  beg = beg + 1;
  if (pcVar27 == beg) goto LAB_0003242c;
  goto LAB_000328e4;
LAB_00032918:
  text = pcVar28;
  if (((int)*beg & 0xfffffffdU) == 0x3c) {
LAB_0003292c:
    pcVar28 = beg + 1;
    if (((iStack_290 == 0) && (tail != (tagstack_item *)0x0)) && (tail->tagname_begin == b)) {
      tail->contents_begin = pcVar28;
    }
    if (bVar1) {
      taginfo.name = pool.contents;
      taginfo.end_tag_p = iStack_290;
      if (iVar13 != 0) {
        paVar18 = paStack_280 + iVar13;
        paVar11 = paStack_280;
        do {
          paVar12 = paVar11 + 1;
          paVar11->name = pool.contents + paVar11->name_pool_index;
          paVar11->value = pool.contents + paVar11->value_pool_index;
          paVar11 = paVar12;
        } while (paVar12 != paVar18);
      }
      taginfo.attrs = paStack_280;
      taginfo.contents_begin = (char *)0x0;
      taginfo.contents_end = (char *)0x0;
      taginfo.nattrs = iVar13;
      taginfo.start_position = pcVar8;
      taginfo.end_position = pcVar28;
      if (iStack_290 != 0) {
        for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {
          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&
             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)
                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {
            if (ptVar24->contents_begin != (char *)0x0) {
              taginfo.contents_begin = ptVar24->contents_begin;
              taginfo.contents_end = pcVar8;
            }
            (*pcVar7)(pptVar16,size,ptVar24);
            break;
          }
        }
      }
      (*mapfun)(&taginfo,maparg);
      text = beg;
      if (*beg == '<') goto LAB_0003228c;
    }
    text = pcVar28;
    if (pcVar27 <= pcVar28) goto LAB_0003242c;
  }
  goto LAB_0003228c;
LAB_0003242c:
  maparg = paVar18;
  mapfun = (_func_void_taginfo_ptr_void_ptr *)head;
  pcVar27 = pool.orig_contents;
  iVar13 = pool.orig_size;
  if (pool.resized != false) {
    (*(code *)PTR_free_000afd08)(pool.contents);
    maparg = paVar18;
    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;
    pcVar27 = pool.orig_contents;
    iVar13 = pool.orig_size;
  }
  pool.size = iVar13;
  pool.contents = pcVar27;
  head = (tagstack_item *)mapfun;
  pool.orig_contents = pool.contents;
  pool.orig_size = pool.size;
  if (paStack_28c == (attr_pair *)0x0) {
    pool.resized = false;
    pool.tail = 0;
    (*pcVar7)(pptVar16,size,mapfun);
  }
  else {
    pool.resized = false;
    pool.tail = 0;
    (*(code *)PTR_free_000afd08)(paStack_280);
    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;
    (*pcVar7)(pptVar16,size,head);
  }
  goto LAB_0003246c;
}



int map_html_tags(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,
                 undefined4 param_6,undefined4 param_7)

{
  bool bVar1;
  char cVar2;
  bool bVar3;
  undefined *puVar4;
  undefined1 *puVar5;
  int *piVar6;
  code *pcVar7;
  int iVar8;
  int iVar9;
  undefined4 uVar10;
  int *piVar11;
  int *piVar12;
  uint uVar13;
  code **ppcVar14;
  uint uVar15;
  int *piVar16;
  int iVar17;
  int iVar19;
  code **ppcVar20;
  code **ppcVar21;
  code **ppcVar22;
  code **ppcVar23;
  code **ppcVar24;
  code **ppcVar25;
  code **ppcVar26;
  code **ppcVar27;
  code *pcVar28;
  undefined *puVar29;
  int local_290;
  int *local_28c;
  int *local_280;
  int local_27c;
  code **local_25c;
  code **local_254;
  int *local_250;
  code *local_22c;
  code *local_228;
  undefined1 *local_224;
  undefined4 local_220;
  int local_21c;
  char local_218;
  undefined1 *local_214;
  undefined4 local_210;
  undefined1 *local_20c;
  int local_208;
  int local_204;
  int *local_200;
  int local_1fc;
  code **local_1f8;
  int local_1f4;
  int local_1f0;
  int local_1ec [48];
  undefined1 auStack_12c [256];
  int local_2c;
  int iVar18;
  
  puVar4 = PTR___stack_chk_guard_000afc3c;
  puVar29 = PTR_s_hallenge__000af46c;
  local_22c = (code *)0x0;
  local_228 = (code *)0x0;
  local_2c = *(int *)PTR___stack_chk_guard_000afc3c;
  ppcVar14 = param_1;
  if (param_2 != (code **)0x0) {
    local_218 = '\0';
    local_280 = local_1ec;
    local_220 = 0x100;
    local_210 = 0x100;
    piVar6 = (int *)0x6;
    ppcVar26 = (code **)((int)param_1 + (int)param_2);
    local_28c = (int *)0x0;
    if ((param_5 & 2) == 0) {
      piVar6 = (int *)0x2;
    }
    local_27c = 8;
    param_2 = &local_228;
    ppcVar14 = &local_22c;
    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);
    piVar16 = param_4;
    local_224 = auStack_12c;
    local_214 = auStack_12c;
LAB_0003228c:
    do {
      local_21c = 0;
      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);
      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))
      goto LAB_0003242c;
      uVar13 = (uint)*(char *)(iVar8 + 1);
      param_1 = ppcVar27;
      if (uVar13 == 0x21) {
        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&
            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {
          ppcVar27 = (code **)(iVar8 + 3);
LAB_0003267c:
          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)
          {
            if (*(char *)((int)ppcVar20 + 3) == '-') {
              do {
                ppcVar20 = ppcVar27;
                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;
                ppcVar27 = (code **)((int)ppcVar20 + 2);
                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;
              } while (*(char *)ppcVar27 == '-');
              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {
                ppcVar20 = (code **)((int)ppcVar20 + 3);
                goto LAB_00032d0c;
              }
            }
            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')
                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {
              ppcVar20 = ppcVar20 + 1;
              goto LAB_00032d0c;
            }
          }
          goto LAB_0003228c;
        }
        piVar16 = (int *)0x2;
        cVar2 = '!';
        ppcVar20 = (code **)(iVar8 + 2);
        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {
          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {
                    /* WARNING: Could not emulate address calculation at 0x0003250c */
                    /* WARNING: Treating indirect jump as call */
            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();
            return iVar8;
          }
          if (cVar2 != '!') break;
          cVar2 = *(char *)ppcVar27;
          piVar16 = (int *)0x3;
        }
        goto joined_r0x00032628;
      }
      if (uVar13 == 0x2f) {
        ppcVar20 = (code **)(iVar8 + 2);
        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;
        uVar13 = (uint)*(char *)(iVar8 + 2);
        local_290 = 1;
        ppcVar23 = ppcVar20;
      }
      else {
        local_290 = 0;
        ppcVar20 = ppcVar27;
        ppcVar23 = ppcVar27;
      }
      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {
        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {
          if (ppcVar23 != ppcVar20) goto LAB_00032384;
          goto LAB_0003228c;
        }
        ppcVar20 = (code **)((int)ppcVar20 + 1);
        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;
        uVar13 = (uint)*(char *)ppcVar20;
      }
    } while (ppcVar23 == ppcVar20);
    piVar16 = (int *)&DAT_00000001;
    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {
      ppcVar24 = (code **)((int)ppcVar24 + 1);
      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;
      uVar13 = (uint)*(char *)ppcVar24;
    }
LAB_00032384:
    if (local_290 == 0) {
      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);
      if (local_22c == (code *)0x0) {
        *(int *)(pcVar28 + 0x10) = 0;
        *(int *)(pcVar28 + 0xc) = 0;
        local_22c = pcVar28;
      }
      else {
        *(code **)(local_228 + 0x10) = pcVar28;
        *(code **)(pcVar28 + 0xc) = local_228;
        *(int *)(pcVar28 + 0x10) = 0;
      }
      *(code ***)pcVar28 = ppcVar23;
      *(code ***)(pcVar28 + 4) = ppcVar20;
      *(int *)(pcVar28 + 8) = 0;
      local_228 = pcVar28;
    }
    else {
      param_1 = ppcVar27;
      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;
    }
    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);
    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);
    bVar1 = iVar9 != 0;
    if (bVar1) {
      piVar16 = (int *)&DAT_00000001;
      FUN_00031590(&local_224,ppcVar23,ppcVar20);
    }
    iVar9 = 0;
LAB_000323f8:
    while( true ) {
      ppcVar25 = ppcVar24;
      uVar13 = (uint)*(char *)ppcVar25;
      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;
      ppcVar24 = (code **)((int)ppcVar25 + 1);
      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;
    }
    if (uVar13 == 0x2f) {
      ppcVar25 = (code **)((int)ppcVar25 + 1);
      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;
      piVar16 = (int *)&DAT_00000001;
      goto LAB_000328e4;
    }
    ppcVar22 = ppcVar25;
    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;
    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,
          (uVar13 & 0xff) - 0x21 < 0x5e) {
      if ((uVar13 & 0xff) - 0x3c < 3) {
        param_1 = ppcVar27;
        if (ppcVar25 != ppcVar22) goto LAB_00032818;
        goto LAB_0003228c;
      }
      if (uVar13 == 0x2f) {
        param_1 = ppcVar27;
        if (ppcVar25 == ppcVar22) goto LAB_0003228c;
        local_250 = (int *)&DAT_00000001;
        param_1 = ppcVar22;
        goto LAB_00032994;
      }
      ppcVar22 = (code **)((int)ppcVar22 + 1);
      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;
      uVar13 = (uint)*(char *)ppcVar22;
    }
    param_1 = ppcVar27;
    if (ppcVar25 == ppcVar22) goto LAB_0003228c;
    piVar16 = (int *)&DAT_00000001;
    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {
      ppcVar24 = (code **)((int)ppcVar24 + 1);
      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;
      uVar13 = (uint)*(char *)ppcVar24;
    }
    if ((uVar13 - 0x21 & 0xff) < 0x5e) {
LAB_00032818:
      if (uVar13 == 0x3d) goto LAB_00032828;
      local_250 = (int *)&DAT_00000001;
      param_1 = ppcVar22;
    }
    else if ((uVar13 & 0xfffffffd) == 0x3c) {
      local_250 = (int *)&DAT_00000001;
      param_1 = ppcVar22;
    }
    else {
      if (uVar13 != 0x3d) goto LAB_0003228c;
LAB_00032828:
      ppcVar21 = (code **)((int)ppcVar24 + 1);
      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;
      piVar16 = (int *)&DAT_00000001;
      while( true ) {
        uVar15 = (uint)*(char *)ppcVar21;
        uVar13 = uVar15 - 9;
        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;
        ppcVar21 = (code **)((int)ppcVar21 + 1);
        if (ppcVar26 == ppcVar21) goto LAB_0003242c;
      }
      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {
        local_25c = (code **)((int)ppcVar21 + 1);
        if (ppcVar26 <= local_25c) goto LAB_0003242c;
        bVar3 = false;
        piVar16 = (int *)0x3c;
        param_1 = local_25c;
        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {
          if (bVar3) {
LAB_00032c8c:
            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {
              if (uVar15 != uVar13) goto LAB_0003228c;
              break;
            }
            bVar3 = true;
          }
          else if (uVar13 == 10) {
            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);
            param_1 = local_25c;
            if (uVar13 != uVar15) goto LAB_00032c8c;
            break;
          }
          param_1 = (code **)((int)param_1 + 1);
          if (ppcVar26 <= param_1) goto LAB_0003242c;
        }
        ppcVar24 = (code **)((int)param_1 + 1);
        local_254 = ppcVar24;
        local_250 = piVar6;
        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;
      }
      else {
        piVar16 = (int *)0x3c;
        ppcVar24 = ppcVar21;
        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&
               ((uVar15 & 0xfffffffd) != 0x3c))) {
          ppcVar24 = (code **)((int)ppcVar24 + 1);
          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;
          uVar15 = (uint)*(char *)ppcVar24;
          uVar13 = uVar15 - 9;
        }
        param_1 = ppcVar27;
        if (ppcVar21 == ppcVar24) goto LAB_0003228c;
        local_250 = (int *)0x2;
        param_1 = ppcVar24;
        local_25c = ppcVar21;
        local_254 = ppcVar24;
      }
    }
LAB_00032994:
    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))
    {
      iVar19 = iVar9 + 1;
      iVar17 = local_27c;
      if (local_27c < iVar19) {
        do {
          iVar18 = iVar17;
          iVar17 = iVar18 * 2;
        } while (iVar17 < iVar19);
        if (local_27c != iVar17) {
          if (local_28c == (int *)0x0) {
            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);
            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);
            local_28c = piVar16;
          }
          else {
            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);
          }
        }
      }
      local_280[iVar9 * 6 + 4] = local_21c;
      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);
      local_280[iVar9 * 6 + 5] = local_21c;
      FUN_00031590(&local_224,local_25c,param_1);
      local_280[iVar9 * 6 + 2] = (int)ppcVar21;
      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;
      local_27c = iVar17;
      iVar9 = iVar19;
      piVar16 = local_250;
    }
    goto LAB_000323f8;
  }
LAB_0003246c:
  if (local_2c == *(int *)puVar4) {
    return *(int *)puVar4;
  }
  puVar29 = PTR___stack_chk_fail_000afbd4;
  (*(code *)PTR___stack_chk_fail_000afbd4)();
  if (0 < (int)ppcVar14) {
    ppcVar26 = (code **)0x0;
    pcVar7 = *param_2;
    do {
      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);
      if (iVar8 == 0) {
        if (param_4 != (int *)0x0) {
          *param_4 = (int)ppcVar26;
        }
        return *(int *)(pcVar7 + 4);
      }
      ppcVar26 = (code **)((int)ppcVar26 + 1);
      pcVar7 = pcVar7 + 0x18;
    } while (ppcVar26 != ppcVar14);
    return 0;
  }
  return 0;
  while (*(char *)ppcVar20 == '-') {
LAB_00032dcc:
    ppcVar23 = ppcVar20;
    ppcVar20 = (code **)((int)ppcVar23 + 1);
    if (ppcVar26 == ppcVar20) goto LAB_0003228c;
  }
  ppcVar27 = ppcVar20;
  if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;
  goto LAB_0003267c;
code_r0x00032dec:
  ppcVar20 = (code **)((int)ppcVar23 + 2);
LAB_00032d0c:
  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;
joined_r0x00032628:
  param_1 = ppcVar20;
  if (ppcVar20 == ppcVar26) goto LAB_0003242c;
  goto LAB_0003228c;
LAB_000328e4:
  uVar13 = (int)*(char *)ppcVar25 - 9;
  if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;
  ppcVar25 = (code **)((int)ppcVar25 + 1);
  if (ppcVar26 == ppcVar25) goto LAB_0003242c;
  goto LAB_000328e4;
LAB_00032918:
  param_1 = ppcVar27;
  if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {
LAB_0003292c:
    ppcVar27 = (code **)((int)ppcVar25 + 1);
    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {
      *(code ***)(local_228 + 8) = ppcVar27;
    }
    if (bVar1) {
      local_20c = local_224;
      local_208 = local_290;
      if (iVar9 != 0) {
        piVar16 = local_280 + iVar9 * 6;
        piVar11 = local_280;
        do {
          piVar12 = piVar11 + 6;
          *piVar11 = (int)(local_224 + piVar11[4]);
          piVar11[1] = (int)(local_224 + piVar11[5]);
          piVar11 = piVar12;
        } while (piVar12 != piVar16);
      }
      local_200 = local_280;
      local_1f4 = 0;
      local_1f0 = 0;
      local_204 = iVar9;
      local_1fc = iVar8;
      local_1f8 = ppcVar27;
      if (local_290 != 0) {
        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {
          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&
             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)
                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0
             )) {
            if (*(int *)(pcVar28 + 8) != 0) {
              local_1f4 = *(int *)(pcVar28 + 8);
              local_1f0 = iVar8;
            }
            (*pcVar7)(ppcVar14,param_2,pcVar28);
            break;
          }
        }
      }
      (*param_3)(&local_20c,param_4);
      param_1 = ppcVar25;
      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;
    }
    param_1 = ppcVar27;
    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;
  }
  goto LAB_0003228c;
LAB_0003242c:
  param_4 = piVar16;
  param_3 = local_22c;
  puVar5 = local_214;
  uVar10 = local_210;
  if (local_218 != '\0') {
    (*(code *)PTR_free_000afd08)(local_224);
    param_4 = piVar16;
    param_3 = local_22c;
    puVar5 = local_214;
    uVar10 = local_210;
  }
  local_220 = uVar10;
  local_224 = puVar5;
  local_22c = param_3;
  local_214 = local_224;
  local_210 = local_220;
  if (local_28c == (int *)0x0) {
    local_218 = 0;
    local_21c = 0;
    (*pcVar7)(ppcVar14,param_2,param_3);
  }
  else {
    local_218 = 0;
    local_21c = 0;
    (*(code *)PTR_free_000afd08)(local_280);
    param_3 = local_22c;
    (*pcVar7)(ppcVar14,param_2,local_22c);
  }
  goto LAB_0003246c;
}


lui gp,0x8
addiu gp,gp,0x528c
addu gp,gp,t9
addiu sp,sp,-0x2a8
lw v0,0x2bc(sp)
sw s8,0x2a0(sp)
lw s8,-0x77f4(gp)
sw v0,0x30(sp)
lw v0,0x2c0(sp)
sw gp,0x10(sp)
sw ra,0x2a4(sp)
sw v0,0x20(sp)
sw s7,0x29c(sp)
sw s6,0x298(sp)
sw s5,0x294(sp)
sw s4,0x290(sp)
sw s3,0x28c(sp)
sw s2,0x288(sp)
sw s1,0x284(sp)
sw s0,0x280(sp)
sw a2,0x40(sp)
sw a3,0x44(sp)
sw zero,0x7c(sp)
sw zero,0x80(sp)
lw v0,0x0(s8)
sw v0,0x27c(sp)
beq a1,zero,0x0003246c
_addiu v0,sp,0x17c
sb zero,0x90(sp)
or s7,a0,zero
lw a0,0x2b8(sp)
li v1,0x100
sw v0,0x84(sp)
sw v0,0x94(sp)
addiu v0,sp,0xbc
sw v1,0x88(sp)
andi a0,a0,0x2
sw v1,0x98(sp)
li v1,0x2
sw v0,0x28(sp)
li v0,0x6
addu s4,s7,a1
sw zero,0x1c(sp)
movz v0,v1,a0
or s5,s7,zero
sw v0,0x5c(sp)
li v0,0x8
sw v0,0x2c(sp)
addiu v0,sp,0x80
sw v0,0x38(sp)
addiu v0,sp,0x7c
sw v0,0x34(sp)
lw v0,-0x7c70(gp)
addiu v0,v0,0x20c4
sw v0,0x3c(sp)
lw v0,-0x7fc4(gp)
addiu s6,v0,-0x954
lw t9,-0x7d9c(gp)
subu a2,s4,s5
li a1,0x3c
sw zero,0x8c(sp)
jalr t9
_or a0,s5,zero
lw gp,0x10(sp)
beq v0,zero,0x00032428
_or s7,v0,zero
addiu s5,v0,0x1
sltu v0,s5,s4
beq v0,zero,0x00032428
_li v0,0x21
lb a0,0x1(s7)
beq a0,v0,0x000324a8
_li v0,0x2f
beq a0,v0,0x00032638
_or s2,s5,zero
sw zero,0x18(sp)
or s0,s2,zero
b 0x00032308
_li a2,0x2f
sltiu v0,v0,0x3
bne v0,zero,0x00032378
_nop
beq a0,a2,0x00032378
_nop
addiu s0,s0,0x1
sltu v0,s0,s4
beq v0,zero,0x0003242c
_lbu v0,0x90(sp)
lb a0,0x0(s0)
andi v0,a0,0xff
addiu v1,v0,-0x21
sltiu v1,v1,0x5e
bne v1,zero,0x000322e0
_addiu v0,v0,-0x3c
beq s2,s0,0x00032870
_addiu v0,a0,-0x9
lui a1,0x80
sltiu v1,v0,0x18
li a3,0x1
addiu a1,a1,0x1f
beq v1,zero,0x00032380
_or s3,s0,zero
sllv v0,a3,v0
and v0,v0,a1
beq v0,zero,0x00032384
_lw v0,0x18(sp)
addiu s3,s3,0x1
sltu v0,s3,s4
beq v0,zero,0x0003242c
_lbu v0,0x90(sp)
lb a0,0x0(s3)
addiu v0,a0,-0x9
sltiu v1,v0,0x18
bne v1,zero,0x0003233c
_nop
b 0x00032384
_lw v0,0x18(sp)
beq s2,s0,0x00032870
_or s3,s0,zero
lw v0,0x18(sp)
beq v0,zero,0x00032878
_li v0,-0x3
li a1,0x3c
and a0,a0,v0
bne a0,a1,0x0003228c
_lw t9,-0x7d9c(gp)
lw v0,-0x7c70(gp)
or a2,s0,zero
lw a0,0x30(sp)
or a1,s2,zero
addiu t9,v0,0x1ff8
bal 0x00031ff8
_sw t9,0x48(sp)
bne v0,zero,0x00032bcc
_lw gp,0x10(sp)
li v0,0x1
sw v0,0x24(sp)
lw v0,-0x7c70(gp)
or t8,zero,zero
sw s7,0x68(sp)
or s7,s4,zero
sw s2,0x60(sp)
or s4,t8,zero
sw v0,0x6c(sp)
sw s0,0x64(sp)
sw s5,0x50(sp)
lui v0,0x80
li a2,0x1
addiu v1,v0,0x1f
lb a1,0x0(s3)
addiu v0,a1,-0x9
sltiu a0,v0,0x18
beq a0,zero,0x00032720
_sllv v0,a2,v0
and v0,v0,v1
beq v0,zero,0x00032724
_li v0,0x2f
addiu s3,s3,0x1
sltu v0,s3,s7
bne v0,zero,0x000323f8
_nop
lbu v0,0x90(sp)
bne v0,zero,0x000326b4
_lw v0,0x94(sp)
sw zero,0x8c(sp)
sb zero,0x90(sp)
sw v0,0x84(sp)
lw v0,0x98(sp)
sw v0,0x88(sp)
lw v0,0x1c(sp)
bne v0,zero,0x000326ec
_lw t9,-0x7728(gp)
lw a2,0x7c(sp)
lw a1,0x38(sp)
lw t9,0x3c(sp)
jalr t9
_lw a0,0x34(sp)
lw gp,0x10(sp)
lw v1,0x27c(sp)
lw v0,0x0(s8)
bne v1,v0,0x00032e90
_lw ra,0x2a4(sp)
lw s8,0x2a0(sp)
lw s7,0x29c(sp)
lw s6,0x298(sp)
lw s5,0x294(sp)
lw s4,0x290(sp)
lw s3,0x28c(sp)
lw s2,0x288(sp)
lw s1,0x284(sp)
lw s0,0x280(sp)
jr ra
_addiu sp,sp,0x2a8
lw v0,0x2b8(sp)
andi v0,v0,0x1
bne v0,zero,0x000324c4
_addiu v0,s7,0x4
sltu v0,v0,s4
bne v0,zero,0x0003265c
_li a1,0x2d
lw t1,-0x7fc4(gp)
addiu s5,s7,0x2
li a3,0x2
or t2,zero,zero
li t3,0x21
li t0,0x2d
li t4,0x3d
li t5,0x3c
li t6,0x3e
li t7,0x2f
addiu t1,t1,-0x92c
or a1,s5,zero
beq s4,a1,0x00032538
_nop
addiu v0,a3,-0x3
sltiu v1,v0,0xa
beq v1,zero,0x00032620
_sll v0,v0,0x2
addu v0,s6,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
bne a0,t0,0x00032654
_nop
lb a0,0x0(a1)
addiu a1,a1,0x1
bne s4,a1,0x000324fc
_li a3,0x3
bne s5,s4,0x0003228c
_lw t9,-0x7d9c(gp)
b 0x0003242c
_lbu v0,0x90(sp)
beq t2,a0,0x00032718
_nop
lb a0,0x0(a1)
b 0x000324f4
_addiu a1,a1,0x1
lb a0,0x0(a1)
li a3,0x6
b 0x000324f4
_addiu a1,a1,0x1
beq a0,t0,0x00032710
_addiu v0,a0,-0x21
andi v0,v0,0xff
sltiu v0,v0,0x5e
beq v0,zero,0x000325a4
_nop
beq a0,t4,0x000325a4
_nop
beq a0,t5,0x000325a4
_nop
beq a0,t6,0x000325a4
_nop
bne a0,t7,0x00032550
_nop
b 0x000324f4
_li a3,0x3
addiu v0,a0,-0x9
andi v0,v0,0xff
sltiu v1,v0,0x36
beq v1,zero,0x00032ae8
_sll v0,v0,0x2
addu v0,t1,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
or t2,a0,zero
lb a0,0x0(a1)
li a3,0xb
b 0x000324f4
_addiu a1,a1,0x1
bne a0,t0,0x00032550
_nop
b 0x000324f4
_li a3,0x8
bne a0,t0,0x00032538
_nop
lb a0,0x0(a1)
li a3,0x7
b 0x000324f4
_addiu a1,a1,0x1
lb a0,0x0(a1)
li a3,0x9
b 0x000324f4
_addiu a1,a1,0x1
beq a0,t3,0x00032528
_nop
bne s5,s4,0x0003228c
_lw t9,-0x7d9c(gp)
b 0x0003242c
_lbu v0,0x90(sp)
addiu s2,s7,0x2
sltu v0,s2,s4
beq v0,zero,0x00032428
_li v0,0x1
lb a0,0x2(s7)
b 0x000322d4
_sw v0,0x18(sp)
b 0x000324f4
_li a3,0x7
lb v0,0x2(s7)
bne v0,a1,0x000324c8
_lw t1,-0x7fc4(gp)
lb a1,0x3(s7)
bne a1,v0,0x000324c8
_li a1,0x2d
addiu s7,s7,0x3
li a2,0x3e
addiu v0,s7,0x3
sltu v1,v0,s4
beq v1,zero,0x0003228c
_lw t9,-0x7d9c(gp)
lb v1,0x3(s7)
beq v1,a1,0x00032ccc
_nop
bne v1,a2,0x000326ac
_nop
lb v1,0x2(s7)
beq v1,a1,0x00032d1c
_nop
b 0x0003267c
_or s7,v0,zero
lw t9,-0x7728(gp)
jalr t9
_lw a0,0x84(sp)
lw v0,0x94(sp)
lw gp,0x10(sp)
sw zero,0x8c(sp)
sw v0,0x84(sp)
lw v0,0x98(sp)
sb zero,0x90(sp)
sw v0,0x88(sp)
lw v0,0x1c(sp)
beq v0,zero,0x00032458
_lw a2,0x7c(sp)
lw t9,-0x7728(gp)
jalr t9
_lw a0,0x28(sp)
lw a2,0x7c(sp)
lw a1,0x38(sp)
lw t9,0x3c(sp)
jalr t9
_lw a0,0x34(sp)
b 0x0003246c
_lw gp,0x10(sp)
b 0x000324f4
_li a3,0x5
b 0x000324f4
_li a3,0xc
li v0,0x2f
beq a1,v0,0x000328b4
_li v0,-0x3
li v1,0x3c
and v0,a1,v0
beq v0,v1,0x00032e78
_or s1,s3,zero
b 0x0003276c
_li a2,0x2f
sltiu v0,v0,0x3
bne v0,zero,0x0003280c
_nop
beq a1,a2,0x00032974
_nop
addiu s1,s1,0x1
sltu v0,s1,s7
beq v0,zero,0x0003242c
_lbu v0,0x90(sp)
lb a1,0x0(s1)
andi v0,a1,0xff
addiu v1,v0,-0x21
sltiu v1,v1,0x5e
bne v1,zero,0x00032744
_addiu v0,v0,-0x3c
beq s3,s1,0x00032800
_addiu v0,a1,-0x9
lui a2,0x80
sltiu v1,v0,0x18
li a3,0x1
addiu a2,a2,0x1f
beq v1,zero,0x000327d4
_or s5,s1,zero
sllv v0,a3,v0
and v0,v0,a2
beq v0,zero,0x000327d8
_addiu v0,a1,-0x21
addiu s5,s5,0x1
sltu v0,s5,s7
beq v0,zero,0x0003242c
_lbu v0,0x90(sp)
lb a1,0x0(s5)
addiu v0,a1,-0x9
sltiu v1,v0,0x18
bne v1,zero,0x000327a4
_sllv v0,a3,v0
addiu v0,a1,-0x21
andi v0,v0,0xff
sltiu v0,v0,0x5e
bne v0,zero,0x00032818
_li v0,-0x3
li a0,0x3c
and v0,a1,v0
beq v0,a0,0x00032b98
_li v0,0x3d
beq a1,v0,0x00032828
_addiu s0,s5,0x1
or s4,s7,zero
b 0x00032288
_lw s5,0x50(sp)
beq s3,s1,0x00032800
_nop
or s5,s1,zero
li v0,0x3d
bne a1,v0,0x00032bb4
_li v0,0x1
addiu s0,s5,0x1
sltu v0,s0,s7
beq v0,zero,0x00032428
_lui v0,0x80
li a3,0x1
addiu a1,v0,0x1f
lb a0,0x0(s0)
addiu v0,a0,-0x9
sltiu v1,v0,0x18
beq v1,zero,0x00032b14
_sllv v1,a3,v0
and v1,v1,a1
beq v1,zero,0x00032b14
_nop
addiu s0,s0,0x1
bne s7,s0,0x0003283c
_lbu v0,0x90(sp)
b 0x0003242c
_nop
b 0x00032288
_or s5,s2,zero
lw t9,-0x7e6c(gp)
jalr t9
_li a0,0x14
lw a0,0x7c(sp)
beq a0,zero,0x00032ad4
_lw gp,0x10(sp)
lw a0,0x80(sp)
sw v0,0x80(sp)
sw v0,0x10(a0)
sw a0,0xc(v0)
sw zero,0x10(v0)
sw s2,0x0(v0)
sw s0,0x4(v0)
b 0x0003239c
_sw zero,0x8(v0)
addiu s3,s3,0x1
lw s2,0x60(sp)
or t8,s4,zero
lw s0,0x64(sp)
or s4,s7,zero
lw s5,0x50(sp)
sltu v0,s3,s4
beq v0,zero,0x00032428
_lw s7,0x68(sp)
lui v0,0x80
li a3,0x1
addiu a1,v0,0x1f
lb a0,0x0(s3)
addiu v0,a0,-0x9
sltiu v1,v0,0x18
beq v1,zero,0x00032918
_sllv v0,a3,v0
and v0,v0,a1
beq v0,zero,0x00032918
_nop
addiu s3,s3,0x1
bne s4,s3,0x000328e4
_lbu v0,0x90(sp)
b 0x0003242c
_nop
li a1,-0x3
li v0,0x3c
and a0,a0,a1
bne a0,v0,0x0003228c
_lw t9,-0x7d9c(gp)
lw v0,0x18(sp)
bne v0,zero,0x00032954
_addiu s5,s3,0x1
lw v0,0x80(sp)
beq v0,zero,0x00032954
_nop
lw a0,0x0(v0)
bne a0,s2,0x00032954
_nop
sw s5,0x8(v0)
lw v0,0x24(sp)
beq v0,zero,0x00032d30
_lw a2,0x84(sp)
sltu v0,s5,s4
bne v0,zero,0x0003228c
_lw t9,-0x7d9c(gp)
b 0x0003242c
_lbu v0,0x90(sp)
beq s3,s1,0x00032800
_li v0,0x1
sw s1,0x54(sp)
or s0,s3,zero
sw s3,0x4c(sp)
or s2,s1,zero
sw v0,0x58(sp)
or s5,s1,zero
lw v0,0x24(sp)
bne v0,zero,0x000329bc
_lw a0,0x20(sp)
or a2,s1,zero
lw t9,0x48(sp)
jalr t9
_or a1,s3,zero
lw gp,0x10(sp)
bne v0,zero,0x000329c4
_or a3,v0,zero
b 0x000323ec
_or s3,s5,zero
lw t2,0x2c(sp)
addiu t6,s4,0x1
slt v0,t2,t6
beq v0,zero,0x00032a28
_lw v1,0x6c(sp)
sll t2,t2,0x1
slt v0,t2,t6
bne v0,zero,0x000329d8
_lw v0,0x2c(sp)
beq v0,t2,0x00032a24
_sll v0,t2,0x1
addu v0,v0,t2
sll a1,v0,0x3
lw v0,0x1c(sp)
beq v0,zero,0x00032bf4
_lw t9,-0x7e6c(gp)
lw t9,-0x7c18(gp)
lw a0,0x28(sp)
sw t2,0x70(sp)
jalr t9
_sw t6,0x2c(sp)
lw t6,0x2c(sp)
lw t2,0x70(sp)
sw v0,0x28(sp)
lw v1,0x6c(sp)
sll v0,s4,0x1
lw t1,0x8c(sp)
or a2,s1,zero
addu v0,v0,s4
sw t2,0x74(sp)
addiu s4,v1,0x1590
lw v1,0x28(sp)
sll v0,v0,0x3
sw t6,0x70(sp)
addiu s1,sp,0x84
addu v0,v1,v0
li a3,0x1
or a1,s3,zero
sw v0,0x2c(sp)
or a0,s1,zero
or t9,s4,zero
bal 0x00031590
_sw t1,0x10(v0)
or a0,s1,zero
lw v0,0x2c(sp)
or t9,s4,zero
lw v1,0x8c(sp)
or a2,s2,zero
lw a3,0x58(sp)
or s3,s5,zero
lw a1,0x4c(sp)
bal 0x00031590
_sw v1,0x14(v0)
lw v0,0x54(sp)
lw t6,0x70(sp)
lw t2,0x74(sp)
subu s1,v0,s0
lw v0,0x2c(sp)
lw gp,0x10(sp)
or s4,t6,zero
sw t2,0x2c(sp)
sw s0,0x8(v0)
b 0x000323ec
_sw s1,0xc(v0)
b 0x00032288
_or s5,a1,zero
b 0x000324f4
_li a3,0xa
sw v0,0x80(sp)
sw v0,0x7c(sp)
sw zero,0x10(v0)
b 0x000328a4
_sw zero,0xc(v0)
addiu v0,a0,-0x21
andi v0,v0,0xff
sltiu v0,v0,0x5e
beq v0,zero,0x00032538
_nop
beq a0,t4,0x00032538
_nop
beq a0,t7,0x00032538
_nop
b 0x000324f4
_li a3,0x4
li a1,0x22
beq a0,a1,0x00032c3c
_li a1,0x27
beq a0,a1,0x00032c3c
_lui a2,0x80
li t4,0x1
addiu a2,a2,0x1f
li t2,-0x3
li a3,0x3c
or s5,s0,zero
sltiu v1,v0,0x18
beq v1,zero,0x00032b70
_sllv v0,t4,v0
and v0,v0,a2
beq v0,zero,0x00032b70
_nop
beq s0,s5,0x00032800
_li v0,0x2
sw s5,0x54(sp)
or s2,s5,zero
sw s0,0x4c(sp)
b 0x00032994
_sw v0,0x58(sp)
and a0,a0,t2
beq a0,a3,0x00032b54
_nop
addiu s5,s5,0x1
sltu v0,s5,s7
beq v0,zero,0x00032428
_nop
lb a0,0x0(s5)
b 0x00032b3c
_addiu v0,a0,-0x9
li v0,0x1
sw s1,0x54(sp)
or s0,s3,zero
sw s3,0x4c(sp)
sw v0,0x58(sp)
b 0x00032994
_or s2,s1,zero
sw s1,0x54(sp)
or s0,s3,zero
sw s3,0x4c(sp)
or s2,s1,zero
b 0x00032994
_sw v0,0x58(sp)
lw t9,-0x7c70(gp)
li a3,0x1
addiu a0,sp,0x84
or a2,s0,zero
addiu t9,t9,0x1590
bal 0x00031590
_or a1,s2,zero
lw gp,0x10(sp)
b 0x000323c8
_sw zero,0x24(sp)
or a0,a1,zero
sw t2,0x74(sp)
sw t6,0x70(sp)
jalr t9
_sw a3,0x1c(sp)
lw v1,0x2c(sp)
or a0,v0,zero
lw gp,0x10(sp)
lw a1,0x28(sp)
sll a2,v1,0x1
addu a2,a2,v1
lw t9,-0x77c0(gp)
jalr t9
_sll a2,a2,0x3
lw t6,0x70(sp)
lw t2,0x74(sp)
b 0x00032a24
_sw v0,0x28(sp)
addiu s2,s0,0x1
sltu v0,s2,s7
beq v0,zero,0x00032428
_sw s2,0x4c(sp)
or a1,zero,zero
li a3,0x3c
li t2,0x3e
b 0x00032c78
_li a2,0xa
beq v0,a2,0x00032ca4
_nop
addiu s2,s2,0x1
sltu v0,s2,s7
beq v0,zero,0x0003242c
_lbu v0,0x90(sp)
lb v0,0x0(s2)
beq a0,v0,0x00032cb4
_addiu s5,s2,0x1
beq a1,zero,0x00032c60
_nop
beq v0,a3,0x00032df4
_nop
beq v0,t2,0x00032df4
_nop
b 0x00032c68
_li a1,0x1
lb v0,0x1(s0)
bne v0,a0,0x00032c8c
_lw s2,0x4c(sp)
addiu s5,s2,0x1
sltu v0,s5,s7
beq v0,zero,0x00032428
_lw v0,0x5c(sp)
sw s5,0x54(sp)
b 0x00032994
_sw v0,0x58(sp)
lb v1,-0x1(v0)
beq v1,a1,0x00032dcc
_or s7,v0,zero
addiu v0,v0,0x2
sltu v1,v0,s4
beq v1,zero,0x0003228c
_lw t9,-0x7d9c(gp)
lb v1,0x0(v0)
beq v1,a1,0x00032ccc
_nop
bne v1,a2,0x000326ac
_nop
lb v1,-0x1(v0)
bne v1,a1,0x000326ac
_nop
addiu s7,s7,0x3
beq s7,zero,0x0003228c
_lw t9,-0x7d9c(gp)
b 0x00032538
_or s5,s7,zero
lb v1,0x1(s7)
bne v1,a1,0x000326ac
_nop
b 0x00032d0c
_addiu s7,s7,0x4
lw v0,0x18(sp)
sw t8,0xa4(sp)
sw a2,0x9c(sp)
beq t8,zero,0x00032d7c
_sw v0,0xa0(sp)
sll a3,t8,0x1
lw v1,0x28(sp)
addu a3,a3,t8
or v0,v1,zero
sll a3,a3,0x3
addu a3,a3,v1
lw a0,0x10(v0)
addiu v0,v0,0x18
addu a0,a2,a0
lw v1,-0x4(v0)
sw a0,-0x18(v0)
addu v1,a2,v1
bne v0,a3,0x00032d5c
_sw v1,-0x14(v0)
lw v0,0x28(sp)
sw s7,0xac(sp)
sw s5,0xb0(sp)
sw v0,0xa8(sp)
sw zero,0xb4(sp)
sw zero,0xb8(sp)
lw v0,0x18(sp)
bne v0,zero,0x00032e04
_lw s1,0x80(sp)
lw a1,0x44(sp)
lw t9,0x40(sp)
jalr t9
_addiu a0,sp,0x9c
li v0,0x3c
lb a0,0x0(s3)
bne a0,v0,0x00032960
_lw gp,0x10(sp)
b 0x00032288
_or s5,s3,zero
or s7,v0,zero
addiu v0,v0,0x1
beq s4,v0,0x0003228c
_lw t9,-0x7d9c(gp)
lb v1,0x0(v0)
beq v1,a1,0x00032dc8
_nop
bne v1,a2,0x000326ac
_nop
b 0x00032d0c
_addiu s7,s7,0x2
beq a0,v0,0x00032cb0
_or s5,s2,zero
b 0x00032288
_or s4,s7,zero
bne s1,zero,0x00032e20
_subu s0,s0,s2
b 0x00032da4
_lw a1,0x44(sp)
lw s1,0xc(s1)
beq s1,zero,0x00032da4
_lw a1,0x44(sp)
lw a0,0x0(s1)
lw v0,0x4(s1)
subu v0,v0,a0
bne s0,v0,0x00032e14
_lw t9,-0x78a4(gp)
or a2,s0,zero
jalr t9
_or a1,s2,zero
bne v0,zero,0x00032e14
_lw gp,0x10(sp)
lw v0,0x8(s1)
beq v0,zero,0x00032e5c
_nop
sw v0,0xb4(sp)
sw s7,0xb8(sp)
lw a1,0x38(sp)
or a2,s1,zero
lw t9,0x3c(sp)
jalr t9
_lw a0,0x34(sp)
b 0x00032da4
_lw a1,0x44(sp)
or t8,s4,zero
lw s2,0x60(sp)
or s4,s7,zero
lw s0,0x64(sp)
b 0x0003292c
_lw s7,0x68(sp)
lw t9,-0x785c(gp)
jalr t9
_nop
nop
(translation_unit "int map_html_tags(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)\n\n{\n  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined1 *puVar5;\n  int *piVar6;\n  code *pcVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  uint uVar13;\n  code **ppcVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar19;\n  code **ppcVar20;\n  code **ppcVar21;\n  code **ppcVar22;\n  code **ppcVar23;\n  code **ppcVar24;\n  code **ppcVar25;\n  code **ppcVar26;\n  code **ppcVar27;\n  code *pcVar28;\n  undefined *puVar29;\n  int local_290;\n  int *local_28c;\n  int *local_280;\n  int local_27c;\n  code **local_25c;\n  code **local_254;\n  int *local_250;\n  code *local_22c;\n  code *local_228;\n  undefined1 *local_224;\n  undefined4 local_220;\n  int local_21c;\n  char local_218;\n  undefined1 *local_214;\n  undefined4 local_210;\n  undefined1 *local_20c;\n  int local_208;\n  int local_204;\n  int *local_200;\n  int local_1fc;\n  code **local_1f8;\n  int local_1f4;\n  int local_1f0;\n  int local_1ec [48];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  int iVar18;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar29 = PTR_s_hallenge__000af46c;\n  local_22c = (code *)0x0;\n  local_228 = (code *)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_000afc3c;\n  ppcVar14 = param_1;\n  if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar29 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }\n  return 0;\n  while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }\n  ppcVar27 = ppcVar20;\n  if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);\nLAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  param_1 = ppcVar20;\n  if (ppcVar20 == ppcVar26) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;\n  if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  ppcVar25 = (code **)((int)ppcVar25 + 1);\n  if (ppcVar26 == ppcVar25) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  param_1 = ppcVar27;\n  if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  param_4 = piVar16;\n  param_3 = local_22c;\n  puVar5 = local_214;\n  uVar10 = local_210;\n  if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }\n  local_220 = uVar10;\n  local_224 = puVar5;\n  local_22c = param_3;\n  local_214 = local_224;\n  local_210 = local_220;\n  if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }\n  goto LAB_0003246c;\n}\n\n" (function_definition "int map_html_tags(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)\n\n{\n  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined1 *puVar5;\n  int *piVar6;\n  code *pcVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  uint uVar13;\n  code **ppcVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar19;\n  code **ppcVar20;\n  code **ppcVar21;\n  code **ppcVar22;\n  code **ppcVar23;\n  code **ppcVar24;\n  code **ppcVar25;\n  code **ppcVar26;\n  code **ppcVar27;\n  code *pcVar28;\n  undefined *puVar29;\n  int local_290;\n  int *local_28c;\n  int *local_280;\n  int local_27c;\n  code **local_25c;\n  code **local_254;\n  int *local_250;\n  code *local_22c;\n  code *local_228;\n  undefined1 *local_224;\n  undefined4 local_220;\n  int local_21c;\n  char local_218;\n  undefined1 *local_214;\n  undefined4 local_210;\n  undefined1 *local_20c;\n  int local_208;\n  int local_204;\n  int *local_200;\n  int local_1fc;\n  code **local_1f8;\n  int local_1f4;\n  int local_1f0;\n  int local_1ec [48];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  int iVar18;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar29 = PTR_s_hallenge__000af46c;\n  local_22c = (code *)0x0;\n  local_228 = (code *)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_000afc3c;\n  ppcVar14 = param_1;\n  if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar29 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }\n  return 0;\n  while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }\n  ppcVar27 = ppcVar20;\n  if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);\nLAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  param_1 = ppcVar20;\n  if (ppcVar20 == ppcVar26) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;\n  if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  ppcVar25 = (code **)((int)ppcVar25 + 1);\n  if (ppcVar26 == ppcVar25) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  param_1 = ppcVar27;\n  if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  param_4 = piVar16;\n  param_3 = local_22c;\n  puVar5 = local_214;\n  uVar10 = local_210;\n  if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }\n  local_220 = uVar10;\n  local_224 = puVar5;\n  local_22c = param_3;\n  local_214 = local_224;\n  local_210 = local_220;\n  if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }\n  goto LAB_0003246c;\n}" primitive_type (function_declarator "map_html_tags(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)" identifier (parameter_list "(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)" ( (parameter_declaration "code **param_1" type_identifier (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))) , (parameter_declaration "code **param_2" type_identifier (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))) , (parameter_declaration "code *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined1 *puVar5;\n  int *piVar6;\n  code *pcVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  uint uVar13;\n  code **ppcVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar19;\n  code **ppcVar20;\n  code **ppcVar21;\n  code **ppcVar22;\n  code **ppcVar23;\n  code **ppcVar24;\n  code **ppcVar25;\n  code **ppcVar26;\n  code **ppcVar27;\n  code *pcVar28;\n  undefined *puVar29;\n  int local_290;\n  int *local_28c;\n  int *local_280;\n  int local_27c;\n  code **local_25c;\n  code **local_254;\n  int *local_250;\n  code *local_22c;\n  code *local_228;\n  undefined1 *local_224;\n  undefined4 local_220;\n  int local_21c;\n  char local_218;\n  undefined1 *local_214;\n  undefined4 local_210;\n  undefined1 *local_20c;\n  int local_208;\n  int local_204;\n  int *local_200;\n  int local_1fc;\n  code **local_1f8;\n  int local_1f4;\n  int local_1f0;\n  int local_1ec [48];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  int iVar18;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar29 = PTR_s_hallenge__000af46c;\n  local_22c = (code *)0x0;\n  local_228 = (code *)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_000afc3c;\n  ppcVar14 = param_1;\n  if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar29 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }\n  return 0;\n  while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }\n  ppcVar27 = ppcVar20;\n  if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);\nLAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  param_1 = ppcVar20;\n  if (ppcVar20 == ppcVar26) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;\n  if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  ppcVar25 = (code **)((int)ppcVar25 + 1);\n  if (ppcVar26 == ppcVar25) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  param_1 = ppcVar27;\n  if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  param_4 = piVar16;\n  param_3 = local_22c;\n  puVar5 = local_214;\n  uVar10 = local_210;\n  if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }\n  local_220 = uVar10;\n  local_224 = puVar5;\n  local_22c = param_3;\n  local_214 = local_224;\n  local_210 = local_220;\n  if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }\n  goto LAB_0003246c;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "code **ppcVar14;" type_identifier (pointer_declarator "**ppcVar14" * (pointer_declarator "*ppcVar14" * identifier)) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "code **ppcVar20;" type_identifier (pointer_declarator "**ppcVar20" * (pointer_declarator "*ppcVar20" * identifier)) ;) (declaration "code **ppcVar21;" type_identifier (pointer_declarator "**ppcVar21" * (pointer_declarator "*ppcVar21" * identifier)) ;) (declaration "code **ppcVar22;" type_identifier (pointer_declarator "**ppcVar22" * (pointer_declarator "*ppcVar22" * identifier)) ;) (declaration "code **ppcVar23;" type_identifier (pointer_declarator "**ppcVar23" * (pointer_declarator "*ppcVar23" * identifier)) ;) (declaration "code **ppcVar24;" type_identifier (pointer_declarator "**ppcVar24" * (pointer_declarator "*ppcVar24" * identifier)) ;) (declaration "code **ppcVar25;" type_identifier (pointer_declarator "**ppcVar25" * (pointer_declarator "*ppcVar25" * identifier)) ;) (declaration "code **ppcVar26;" type_identifier (pointer_declarator "**ppcVar26" * (pointer_declarator "*ppcVar26" * identifier)) ;) (declaration "code **ppcVar27;" type_identifier (pointer_declarator "**ppcVar27" * (pointer_declarator "*ppcVar27" * identifier)) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "undefined *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "int local_290;" primitive_type identifier ;) (declaration "int *local_28c;" primitive_type (pointer_declarator "*local_28c" * identifier) ;) (declaration "int *local_280;" primitive_type (pointer_declarator "*local_280" * identifier) ;) (declaration "int local_27c;" primitive_type identifier ;) (declaration "code **local_25c;" type_identifier (pointer_declarator "**local_25c" * (pointer_declarator "*local_25c" * identifier)) ;) (declaration "code **local_254;" type_identifier (pointer_declarator "**local_254" * (pointer_declarator "*local_254" * identifier)) ;) (declaration "int *local_250;" primitive_type (pointer_declarator "*local_250" * identifier) ;) (declaration "code *local_22c;" type_identifier (pointer_declarator "*local_22c" * identifier) ;) (declaration "code *local_228;" type_identifier (pointer_declarator "*local_228" * identifier) ;) (declaration "undefined1 *local_224;" type_identifier (pointer_declarator "*local_224" * identifier) ;) (declaration "undefined4 local_220;" type_identifier identifier ;) (declaration "int local_21c;" primitive_type identifier ;) (declaration "char local_218;" primitive_type identifier ;) (declaration "undefined1 *local_214;" type_identifier (pointer_declarator "*local_214" * identifier) ;) (declaration "undefined4 local_210;" type_identifier identifier ;) (declaration "undefined1 *local_20c;" type_identifier (pointer_declarator "*local_20c" * identifier) ;) (declaration "int local_208;" primitive_type identifier ;) (declaration "int local_204;" primitive_type identifier ;) (declaration "int *local_200;" primitive_type (pointer_declarator "*local_200" * identifier) ;) (declaration "int local_1fc;" primitive_type identifier ;) (declaration "code **local_1f8;" type_identifier (pointer_declarator "**local_1f8" * (pointer_declarator "*local_1f8" * identifier)) ;) (declaration "int local_1f4;" primitive_type identifier ;) (declaration "int local_1f0;" primitive_type identifier ;) (declaration "int local_1ec [48];" primitive_type (array_declarator "local_1ec [48]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_12c [256];" type_identifier (array_declarator "auStack_12c [256]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_000afc3c;" (assignment_expression "puVar4 = PTR___stack_chk_guard_000afc3c" identifier = identifier) ;) (expression_statement "puVar29 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar29 = PTR_s_hallenge__000af46c" identifier = identifier) ;) (expression_statement "local_22c = (code *)0x0;" (assignment_expression "local_22c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_228 = (code *)0x0;" (assignment_expression "local_228 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000afc3c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000afc3c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000afc3c" * (cast_expression "(int *)PTR___stack_chk_guard_000afc3c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppcVar14 = param_1;" (assignment_expression "ppcVar14 = param_1" identifier = identifier) ;) (if_statement "if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }" if (parenthesized_expression "(param_2 != (code **)0x0)" ( (binary_expression "param_2 != (code **)0x0" identifier != (cast_expression "(code **)0x0" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }" { (expression_statement "local_218 = '\0';" (assignment_expression "local_218 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_280 = local_1ec;" (assignment_expression "local_280 = local_1ec" identifier = identifier) ;) (expression_statement "local_220 = 0x100;" (assignment_expression "local_220 = 0x100" identifier = number_literal) ;) (expression_statement "local_210 = 0x100;" (assignment_expression "local_210 = 0x100" identifier = number_literal) ;) (expression_statement "piVar6 = (int *)0x6;" (assignment_expression "piVar6 = (int *)0x6" identifier = (cast_expression "(int *)0x6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar26 = (code **)((int)param_1 + (int)param_2);" (assignment_expression "ppcVar26 = (code **)((int)param_1 + (int)param_2)" identifier = (cast_expression "(code **)((int)param_1 + (int)param_2)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_1 + (int)param_2)" ( (binary_expression "(int)param_1 + (int)param_2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_28c = (int *)0x0;" (assignment_expression "local_28c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }" if (parenthesized_expression "((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) )) (compound_statement "{\n      piVar6 = (int *)0x2;\n    }" { (expression_statement "piVar6 = (int *)0x2;" (assignment_expression "piVar6 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "local_27c = 8;" (assignment_expression "local_27c = 8" identifier = number_literal) ;) (expression_statement "param_2 = &local_228;" (assignment_expression "param_2 = &local_228" identifier = (pointer_expression "&local_228" & identifier)) ;) (expression_statement "ppcVar14 = &local_22c;" (assignment_expression "ppcVar14 = &local_22c" identifier = (pointer_expression "&local_22c" & identifier)) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4)" identifier = (cast_expression "(code *)(PTR_LAB_000af7c0 + 0x20c4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000af7c0 + 0x20c4)" ( (binary_expression "PTR_LAB_000af7c0 + 0x20c4" identifier + number_literal) )))) ;) (expression_statement "piVar16 = param_4;" (assignment_expression "piVar16 = param_4" identifier = identifier) ;) (expression_statement "local_224 = auStack_12c;" (assignment_expression "local_224 = auStack_12c" identifier = identifier) ;) (expression_statement "local_214 = auStack_12c;" (assignment_expression "local_214 = auStack_12c" identifier = identifier) ;) (labeled_statement "LAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);" statement_identifier : (do_statement "do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);" do (compound_statement "{\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    }" { (expression_statement "local_21c = 0;" (assignment_expression "local_21c = 0" identifier = number_literal) ;) (expression_statement "iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);" (assignment_expression "iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1)" identifier = (call_expression "(*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_rpl_memchr_000af694)" ( (pointer_expression "*(code *)PTR_rpl_memchr_000af694" * (cast_expression "(code *)PTR_rpl_memchr_000af694" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,0x3c,(int)ppcVar26 - (int)param_1)" ( identifier , number_literal , (binary_expression "(int)ppcVar26 - (int)param_1" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;" if (parenthesized_expression "((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))" ( (binary_expression "(iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27)" ( (comma_expression "ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27" (assignment_expression "ppcVar27 = (code **)(iVar8 + 1)" identifier = (cast_expression "(code **)(iVar8 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) , (binary_expression "ppcVar26 <= ppcVar27" identifier <= identifier)) ))) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)(iVar8 + 1);" (assignment_expression "uVar13 = (uint)*(char *)(iVar8 + 1)" identifier = (binary_expression "(uint)*(char *)(iVar8 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(iVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) ))))) ;) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }" if (parenthesized_expression "(uVar13 == 0x21)" ( (binary_expression "uVar13 == 0x21" identifier == number_literal) )) (compound_statement "{\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }" { (if_statement "if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }" if (parenthesized_expression "(((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-'))" ( (binary_expression "((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')" (parenthesized_expression "((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-'))" ( (binary_expression "(((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')" (parenthesized_expression "(((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26))" ( (binary_expression "((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)" (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 "((code **)(iVar8 + 4) < ppcVar26)" ( (binary_expression "(code **)(iVar8 + 4) < ppcVar26" (cast_expression "(code **)(iVar8 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) ))) < identifier) ))) )) && (parenthesized_expression "(*(char *)(iVar8 + 2) == '-')" ( (binary_expression "*(char *)(iVar8 + 2) == '-'" (pointer_expression "*(char *)(iVar8 + 2)" * (cast_expression "(char *)(iVar8 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 2)" ( (binary_expression "iVar8 + 2" identifier + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) && (parenthesized_expression "(*(char *)(iVar8 + 3) == '-')" ( (binary_expression "*(char *)(iVar8 + 3) == '-'" (pointer_expression "*(char *)(iVar8 + 3)" * (cast_expression "(char *)(iVar8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 3)" ( (binary_expression "iVar8 + 3" identifier + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }" { (expression_statement "ppcVar27 = (code **)(iVar8 + 3);" (assignment_expression "ppcVar27 = (code **)(iVar8 + 3)" identifier = (cast_expression "(code **)(iVar8 + 3)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 3)" ( (binary_expression "iVar8 + 3" identifier + number_literal) )))) ;) (labeled_statement "LAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }" statement_identifier : (while_statement "while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }" while (parenthesized_expression "(ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)" ( (comma_expression "ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26" (assignment_expression "ppcVar20 = ppcVar27" identifier = identifier) , (comma_expression "ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26" (assignment_expression "ppcVar27 = (code **)((int)ppcVar20 + 3)" identifier = (cast_expression "(code **)((int)ppcVar20 + 3)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar20 + 3)" ( (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "ppcVar27 < ppcVar26" identifier < identifier))) )) (compound_statement "{\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }" { (if_statement "if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" if (parenthesized_expression "(*(char *)((int)ppcVar20 + 3) == '-')" ( (binary_expression "*(char *)((int)ppcVar20 + 3) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 3)" * (cast_expression "(char *)((int)ppcVar20 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + 3)" ( (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }" { (do_statement "do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');" do (compound_statement "{\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              }" { (expression_statement "ppcVar20 = ppcVar27;" (assignment_expression "ppcVar20 = ppcVar27" identifier = identifier) ;) (if_statement "if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;" if (parenthesized_expression "(*(char *)((int)ppcVar20 + -1) == '-')" ( (binary_expression "*(char *)((int)ppcVar20 + -1) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + -1)" * (cast_expression "(char *)((int)ppcVar20 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + -1)" ( (binary_expression "(int)ppcVar20 + -1" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) )) (goto_statement "goto LAB_00032dcc;" goto statement_identifier ;)) (expression_statement "ppcVar27 = (code **)((int)ppcVar20 + 2);" (assignment_expression "ppcVar27 = (code **)((int)ppcVar20 + 2)" identifier = (cast_expression "(code **)((int)ppcVar20 + 2)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar20 + 2)" ( (binary_expression "(int)ppcVar20 + 2" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar27) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar26 <= ppcVar27)" ( (binary_expression "ppcVar26 <= ppcVar27" identifier <= identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) }) while (parenthesized_expression "(*(char *)ppcVar27 == '-')" ( (binary_expression "*(char *)ppcVar27 == '-'" (pointer_expression "*(char *)ppcVar27" * (cast_expression "(char *)ppcVar27" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'-'" ' character ')) )) ;) (if_statement "if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }" if (parenthesized_expression "((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-'))" ( (binary_expression "(*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')" (parenthesized_expression "(*(char *)ppcVar27 == '>')" ( (binary_expression "*(char *)ppcVar27 == '>'" (pointer_expression "*(char *)ppcVar27" * (cast_expression "(char *)ppcVar27" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'>'" ' character ')) )) && (parenthesized_expression "(*(char *)((int)ppcVar20 + 1) == '-')" ( (binary_expression "*(char *)((int)ppcVar20 + 1) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 1)" * (cast_expression "(char *)((int)ppcVar20 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + 1)" ( (binary_expression "(int)ppcVar20 + 1" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }" { (expression_statement "ppcVar20 = (code **)((int)ppcVar20 + 3);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar20 + 3)" identifier = (cast_expression "(code **)((int)ppcVar20 + 3)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar20 + 3)" ( (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_00032d0c;" goto statement_identifier ;) })) }) (else_clause "else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" else (if_statement "if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" if (parenthesized_expression "(((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-'))" ( (binary_expression "((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')" (parenthesized_expression "((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     )" ( (binary_expression "(*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')" (parenthesized_expression "(*(char *)((int)ppcVar20 + 3) == '>')" ( (binary_expression "*(char *)((int)ppcVar20 + 3) == '>'" (pointer_expression "*(char *)((int)ppcVar20 + 3)" * (cast_expression "(char *)((int)ppcVar20 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + 3)" ( (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'>'" ' character ')) )) && (parenthesized_expression "(*(char *)((int)ppcVar20 + 2) == '-')" ( (binary_expression "*(char *)((int)ppcVar20 + 2) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 2)" * (cast_expression "(char *)((int)ppcVar20 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + 2)" ( (binary_expression "(int)ppcVar20 + 2" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) && (parenthesized_expression "(*(char *)((int)ppcVar20 + 1) == '-')" ( (binary_expression "*(char *)((int)ppcVar20 + 1) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 1)" * (cast_expression "(char *)((int)ppcVar20 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + 1)" ( (binary_expression "(int)ppcVar20 + 1" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" { (expression_statement "ppcVar20 = ppcVar20 + 1;" (assignment_expression "ppcVar20 = ppcVar20 + 1" identifier = (binary_expression "ppcVar20 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00032d0c;" goto statement_identifier ;) })))) }))) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) })) (expression_statement "piVar16 = (int *)0x2;" (assignment_expression "piVar16 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "cVar2 = '!';" (assignment_expression "cVar2 = '!'" identifier = (char_literal "'!'" ' character ')) ;) (expression_statement "ppcVar20 = (code **)(iVar8 + 2);" (assignment_expression "ppcVar20 = (code **)(iVar8 + 2)" identifier = (cast_expression "(code **)(iVar8 + 2)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 2)" ( (binary_expression "iVar8 + 2" identifier + number_literal) )))) ;) (for_statement "for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }" for ( (assignment_expression "ppcVar27 = ppcVar20" identifier = identifier) ; (binary_expression "ppcVar26 != ppcVar27" identifier != identifier) ; (assignment_expression "ppcVar27 = (code **)((int)ppcVar27 + 1)" identifier = (cast_expression "(code **)((int)ppcVar27 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar27 + 1)" ( (binary_expression "(int)ppcVar27 + 1" (cast_expression "(int)ppcVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ) (compound_statement "{\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }" { (if_statement "if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }" if (parenthesized_expression "((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa)" ( (binary_expression "(undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa" (cast_expression "(undefined1 *)((int)piVar16 + -3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + -3)" ( (binary_expression "(int)piVar16 + -3" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < (cast_expression "(undefined1 *)0xa" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }" { comment comment (expression_statement "iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();" (assignment_expression "iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))()" identifier = (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954))" * (cast_expression "(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954))" ( (binary_expression "&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" * (cast_expression "(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" ( (binary_expression "puVar29 + ((int)piVar16 + -3) * 4 + -0x954" (binary_expression "puVar29 + ((int)piVar16 + -3) * 4" identifier + (binary_expression "((int)piVar16 + -3) * 4" (parenthesized_expression "((int)piVar16 + -3)" ( (binary_expression "(int)piVar16 + -3" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar8;" return identifier ;) })) (if_statement "if (cVar2 != '!') break;" if (parenthesized_expression "(cVar2 != '!')" ( (binary_expression "cVar2 != '!'" identifier != (char_literal "'!'" ' character ')) )) (break_statement "break;" break ;)) (expression_statement "cVar2 = *(char *)ppcVar27;" (assignment_expression "cVar2 = *(char *)ppcVar27" identifier = (pointer_expression "*(char *)ppcVar27" * (cast_expression "(char *)ppcVar27" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar16 = (int *)0x3;" (assignment_expression "piVar16 = (int *)0x3" identifier = (cast_expression "(int *)0x3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (goto_statement "goto joined_r0x00032628;" goto statement_identifier ;) })) (if_statement "if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }" if (parenthesized_expression "(uVar13 == 0x2f)" ( (binary_expression "uVar13 == 0x2f" identifier == number_literal) )) (compound_statement "{\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }" { (expression_statement "ppcVar20 = (code **)(iVar8 + 2);" (assignment_expression "ppcVar20 = (code **)(iVar8 + 2)" identifier = (cast_expression "(code **)(iVar8 + 2)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 2)" ( (binary_expression "iVar8 + 2" identifier + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar20) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar20)" ( (binary_expression "ppcVar26 <= ppcVar20" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)(iVar8 + 2);" (assignment_expression "uVar13 = (uint)*(char *)(iVar8 + 2)" identifier = (binary_expression "(uint)*(char *)(iVar8 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(iVar8 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 2)" ( (binary_expression "iVar8 + 2" identifier + number_literal) ))))) ;) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" identifier = number_literal) ;) (expression_statement "ppcVar23 = ppcVar20;" (assignment_expression "ppcVar23 = ppcVar20" identifier = identifier) ;) }) (else_clause "else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }" else (compound_statement "{\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }" { (expression_statement "local_290 = 0;" (assignment_expression "local_290 = 0" identifier = number_literal) ;) (expression_statement "ppcVar20 = ppcVar27;" (assignment_expression "ppcVar20 = ppcVar27" identifier = identifier) ;) (expression_statement "ppcVar23 = ppcVar27;" (assignment_expression "ppcVar23 = ppcVar27" identifier = identifier) ;) }))) (while_statement "while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }" while (parenthesized_expression "(param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e)" ( (comma_expression "param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "param_1 = ppcVar23" identifier = identifier) , (comma_expression "ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "ppcVar24 = ppcVar20" identifier = identifier) , (binary_expression "(uVar13 & 0xff) - 0x21 < 0x5e" (binary_expression "(uVar13 & 0xff) - 0x21" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) - number_literal) < number_literal))) )) (compound_statement "{\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }" { (if_statement "if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }" if (parenthesized_expression "(((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f))" ( (binary_expression "((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)" (parenthesized_expression "((uVar13 & 0xff) - 0x3c < 3)" ( (binary_expression "(uVar13 & 0xff) - 0x3c < 3" (binary_expression "(uVar13 & 0xff) - 0x3c" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) - number_literal) < number_literal) )) || (parenthesized_expression "(uVar13 == 0x2f)" ( (binary_expression "uVar13 == 0x2f" identifier == number_literal) ))) )) (compound_statement "{\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }" { (if_statement "if (ppcVar23 != ppcVar20) goto LAB_00032384;" if (parenthesized_expression "(ppcVar23 != ppcVar20)" ( (binary_expression "ppcVar23 != ppcVar20" identifier != identifier) )) (goto_statement "goto LAB_00032384;" goto statement_identifier ;)) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) })) (expression_statement "ppcVar20 = (code **)((int)ppcVar20 + 1);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar20 + 1)" identifier = (cast_expression "(code **)((int)ppcVar20 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar20 + 1)" ( (binary_expression "(int)ppcVar20 + 1" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar20) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar20)" ( (binary_expression "ppcVar26 <= ppcVar20" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)ppcVar20;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar20" identifier = (binary_expression "(uint)*(char *)ppcVar20" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) }) while (parenthesized_expression "(ppcVar23 == ppcVar20)" ( (binary_expression "ppcVar23 == ppcVar20" identifier == identifier) )) ;)) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (while_statement "while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" while (parenthesized_expression "((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)))" ( (parenthesized_expression "(uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))" ( (binary_expression "uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" (binary_expression "uVar13 - 9 < 0x18" (binary_expression "uVar13 - 9" identifier - number_literal) < number_literal) && (parenthesized_expression "((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" ( (binary_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0" (parenthesized_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 - 9 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 - 9 & 0x1f)" ( (binary_expression "uVar13 - 9 & 0x1f" (binary_expression "uVar13 - 9" identifier - number_literal) & number_literal) ))) & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" { (expression_statement "ppcVar24 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar24 + 1)" identifier = (cast_expression "(code **)((int)ppcVar24 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar24 + 1)" ( (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar24)" ( (binary_expression "ppcVar26 <= ppcVar24" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)ppcVar24;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar24" identifier = (binary_expression "(uint)*(char *)ppcVar24" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (labeled_statement "LAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" statement_identifier : (if_statement "if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" if (parenthesized_expression "(local_290 == 0)" ( (binary_expression "local_290 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }" { (expression_statement "pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);" (assignment_expression "pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14)" identifier = (cast_expression "(code *)(*(code *)PTR_xmalloc_000af5c4)(0x14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_000af5c4)(0x14)" (parenthesized_expression "(*(code *)PTR_xmalloc_000af5c4)" ( (pointer_expression "*(code *)PTR_xmalloc_000af5c4" * (cast_expression "(code *)PTR_xmalloc_000af5c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x14)" ( number_literal ))))) ;) (if_statement "if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }" if (parenthesized_expression "(local_22c == (code *)0x0)" ( (binary_expression "local_22c == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }" { (expression_statement "*(int *)(pcVar28 + 0x10) = 0;" (assignment_expression "*(int *)(pcVar28 + 0x10) = 0" (pointer_expression "*(int *)(pcVar28 + 0x10)" * (cast_expression "(int *)(pcVar28 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x10)" ( (binary_expression "pcVar28 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(pcVar28 + 0xc) = 0;" (assignment_expression "*(int *)(pcVar28 + 0xc) = 0" (pointer_expression "*(int *)(pcVar28 + 0xc)" * (cast_expression "(int *)(pcVar28 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0xc)" ( (binary_expression "pcVar28 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_22c = pcVar28;" (assignment_expression "local_22c = pcVar28" identifier = identifier) ;) }) (else_clause "else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }" else (compound_statement "{\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }" { (expression_statement "*(code **)(local_228 + 0x10) = pcVar28;" (assignment_expression "*(code **)(local_228 + 0x10) = pcVar28" (pointer_expression "*(code **)(local_228 + 0x10)" * (cast_expression "(code **)(local_228 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_228 + 0x10)" ( (binary_expression "local_228 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(pcVar28 + 0xc) = local_228;" (assignment_expression "*(code **)(pcVar28 + 0xc) = local_228" (pointer_expression "*(code **)(pcVar28 + 0xc)" * (cast_expression "(code **)(pcVar28 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0xc)" ( (binary_expression "pcVar28 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(pcVar28 + 0x10) = 0;" (assignment_expression "*(int *)(pcVar28 + 0x10) = 0" (pointer_expression "*(int *)(pcVar28 + 0x10)" * (cast_expression "(int *)(pcVar28 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x10)" ( (binary_expression "pcVar28 + 0x10" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "*(code ***)pcVar28 = ppcVar23;" (assignment_expression "*(code ***)pcVar28 = ppcVar23" (pointer_expression "*(code ***)pcVar28" * (cast_expression "(code ***)pcVar28" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = identifier) ;) (expression_statement "*(code ***)(pcVar28 + 4) = ppcVar20;" (assignment_expression "*(code ***)(pcVar28 + 4) = ppcVar20" (pointer_expression "*(code ***)(pcVar28 + 4)" * (cast_expression "(code ***)(pcVar28 + 4)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pcVar28 + 4)" ( (binary_expression "pcVar28 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(pcVar28 + 8) = 0;" (assignment_expression "*(int *)(pcVar28 + 8) = 0" (pointer_expression "*(int *)(pcVar28 + 8)" * (cast_expression "(int *)(pcVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 8)" ( (binary_expression "pcVar28 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_228 = pcVar28;" (assignment_expression "local_228 = pcVar28" identifier = identifier) ;) }) (else_clause "else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" else (compound_statement "{\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" { (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;" if (parenthesized_expression "((uVar13 & 0xfffffffd) != 0x3c)" ( (binary_expression "(uVar13 & 0xfffffffd) != 0x3c" (parenthesized_expression "(uVar13 & 0xfffffffd)" ( (binary_expression "uVar13 & 0xfffffffd" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) })))) (expression_statement "pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8)" identifier = (cast_expression "(code *)(PTR_LAB_000af7c0 + 0x1ff8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000af7c0 + 0x1ff8)" ( (binary_expression "PTR_LAB_000af7c0 + 0x1ff8" identifier + number_literal) )))) ;) (expression_statement "iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);" (assignment_expression "iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20)" identifier = (call_expression "FUN_00031ff8(param_6,ppcVar23,ppcVar20)" identifier (argument_list "(param_6,ppcVar23,ppcVar20)" ( identifier , identifier , identifier )))) ;) (expression_statement "bVar1 = iVar9 != 0;" (assignment_expression "bVar1 = iVar9 != 0" identifier = (binary_expression "iVar9 != 0" identifier != number_literal)) ;) (if_statement "if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }" { (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "FUN_00031590(&local_224,ppcVar23,ppcVar20);" (call_expression "FUN_00031590(&local_224,ppcVar23,ppcVar20)" identifier (argument_list "(&local_224,ppcVar23,ppcVar20)" ( (pointer_expression "&local_224" & identifier) , identifier , identifier ))) ;) })) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }" statement_identifier : (while_statement "while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }" { (expression_statement "ppcVar25 = ppcVar24;" (assignment_expression "ppcVar25 = ppcVar24" identifier = identifier) ;) (expression_statement "uVar13 = (uint)*(char *)ppcVar25;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar25" identifier = (binary_expression "(uint)*(char *)ppcVar25" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;" if (parenthesized_expression "((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "(0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar13 - 9)" ( (binary_expression "0x17 < uVar13 - 9" number_literal < (binary_expression "uVar13 - 9" identifier - number_literal)) )) || (parenthesized_expression "((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 - 9 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 - 9 & 0x1f)" ( (binary_expression "uVar13 - 9 & 0x1f" (binary_expression "uVar13 - 9" identifier - number_literal) & number_literal) ))) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "ppcVar24 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar25 + 1)" identifier = (cast_expression "(code **)((int)ppcVar25 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar25 + 1)" ( (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= (code **)((int)ppcVar25 + 1))" ( (binary_expression "ppcVar26 <= (code **)((int)ppcVar25 + 1)" identifier <= (cast_expression "(code **)((int)ppcVar25 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar25 + 1)" ( (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) }))) (if_statement "if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }" if (parenthesized_expression "(uVar13 == 0x2f)" ( (binary_expression "uVar13 == 0x2f" identifier == number_literal) )) (compound_statement "{\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }" { (expression_statement "ppcVar25 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar25 = (code **)((int)ppcVar25 + 1)" identifier = (cast_expression "(code **)((int)ppcVar25 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar25 + 1)" ( (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar25) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar25)" ( (binary_expression "ppcVar26 <= ppcVar25" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (goto_statement "goto LAB_000328e4;" goto statement_identifier ;) })) (expression_statement "ppcVar22 = ppcVar25;" (assignment_expression "ppcVar22 = ppcVar25" identifier = identifier) ;) (if_statement "if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;" if (parenthesized_expression "((uVar13 & 0xfffffffd) == 0x3c)" ( (binary_expression "(uVar13 & 0xfffffffd) == 0x3c" (parenthesized_expression "(uVar13 & 0xfffffffd)" ( (binary_expression "uVar13 & 0xfffffffd" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0003292c;" goto statement_identifier ;)) (while_statement "while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }" while (parenthesized_expression "(ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e)" ( (comma_expression "ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "ppcVar21 = ppcVar25" identifier = identifier) , (comma_expression "ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "ppcVar24 = ppcVar22" identifier = identifier) , (comma_expression "local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "local_25c = ppcVar25" identifier = identifier) , (comma_expression "local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "local_254 = ppcVar22" identifier = identifier) , (binary_expression "(uVar13 & 0xff) - 0x21 < 0x5e" (binary_expression "(uVar13 & 0xff) - 0x21" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) - number_literal) < number_literal))))) )) (compound_statement "{\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }" { (if_statement "if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }" if (parenthesized_expression "((uVar13 & 0xff) - 0x3c < 3)" ( (binary_expression "(uVar13 & 0xff) - 0x3c < 3" (binary_expression "(uVar13 & 0xff) - 0x3c" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) - number_literal) < number_literal) )) (compound_statement "{\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }" { (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (ppcVar25 != ppcVar22) goto LAB_00032818;" if (parenthesized_expression "(ppcVar25 != ppcVar22)" ( (binary_expression "ppcVar25 != ppcVar22" identifier != identifier) )) (goto_statement "goto LAB_00032818;" goto statement_identifier ;)) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) })) (if_statement "if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }" if (parenthesized_expression "(uVar13 == 0x2f)" ( (binary_expression "uVar13 == 0x2f" identifier == number_literal) )) (compound_statement "{\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }" { (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (ppcVar25 == ppcVar22) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar25 == ppcVar22)" ( (binary_expression "ppcVar25 == ppcVar22" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (expression_statement "local_250 = (int *)&DAT_00000001;" (assignment_expression "local_250 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "param_1 = ppcVar22;" (assignment_expression "param_1 = ppcVar22" identifier = identifier) ;) (goto_statement "goto LAB_00032994;" goto statement_identifier ;) })) (expression_statement "ppcVar22 = (code **)((int)ppcVar22 + 1);" (assignment_expression "ppcVar22 = (code **)((int)ppcVar22 + 1)" identifier = (cast_expression "(code **)((int)ppcVar22 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar22 + 1)" ( (binary_expression "(int)ppcVar22 + 1" (cast_expression "(int)ppcVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar22) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar22)" ( (binary_expression "ppcVar26 <= ppcVar22" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)ppcVar22;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar22" identifier = (binary_expression "(uint)*(char *)ppcVar22" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar22" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (ppcVar25 == ppcVar22) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar25 == ppcVar22)" ( (binary_expression "ppcVar25 == ppcVar22" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (while_statement "while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" while (parenthesized_expression "((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)))" ( (parenthesized_expression "(uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))" ( (binary_expression "uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" (binary_expression "uVar13 - 9 < 0x18" (binary_expression "uVar13 - 9" identifier - number_literal) < number_literal) && (parenthesized_expression "((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" ( (binary_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0" (parenthesized_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 - 9 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 - 9 & 0x1f)" ( (binary_expression "uVar13 - 9 & 0x1f" (binary_expression "uVar13 - 9" identifier - number_literal) & number_literal) ))) & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" { (expression_statement "ppcVar24 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar24 + 1)" identifier = (cast_expression "(code **)((int)ppcVar24 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar24 + 1)" ( (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar24)" ( (binary_expression "ppcVar26 <= ppcVar24" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)ppcVar24;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar24" identifier = (binary_expression "(uint)*(char *)ppcVar24" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (if_statement "if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" if (parenthesized_expression "((uVar13 - 0x21 & 0xff) < 0x5e)" ( (binary_expression "(uVar13 - 0x21 & 0xff) < 0x5e" (parenthesized_expression "(uVar13 - 0x21 & 0xff)" ( (binary_expression "uVar13 - 0x21 & 0xff" (binary_expression "uVar13 - 0x21" identifier - number_literal) & number_literal) )) < number_literal) )) (compound_statement "{\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }" { (labeled_statement "LAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;" statement_identifier : (if_statement "if (uVar13 == 0x3d) goto LAB_00032828;" if (parenthesized_expression "(uVar13 == 0x3d)" ( (binary_expression "uVar13 == 0x3d" identifier == number_literal) )) (goto_statement "goto LAB_00032828;" goto statement_identifier ;))) (expression_statement "local_250 = (int *)&DAT_00000001;" (assignment_expression "local_250 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "param_1 = ppcVar22;" (assignment_expression "param_1 = ppcVar22" identifier = identifier) ;) }) (else_clause "else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" else (if_statement "if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" if (parenthesized_expression "((uVar13 & 0xfffffffd) == 0x3c)" ( (binary_expression "(uVar13 & 0xfffffffd) == 0x3c" (parenthesized_expression "(uVar13 & 0xfffffffd)" ( (binary_expression "uVar13 & 0xfffffffd" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }" { (expression_statement "local_250 = (int *)&DAT_00000001;" (assignment_expression "local_250 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "param_1 = ppcVar22;" (assignment_expression "param_1 = ppcVar22" identifier = identifier) ;) }) (else_clause "else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" else (compound_statement "{\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" { (if_statement "if (uVar13 != 0x3d) goto LAB_0003228c;" if (parenthesized_expression "(uVar13 != 0x3d)" ( (binary_expression "uVar13 != 0x3d" identifier != number_literal) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (labeled_statement "LAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);" statement_identifier : (expression_statement "ppcVar21 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar21 = (code **)((int)ppcVar24 + 1)" identifier = (cast_expression "(code **)((int)ppcVar24 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar24 + 1)" ( (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (if_statement "if (ppcVar26 <= ppcVar21) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar21)" ( (binary_expression "ppcVar26 <= ppcVar21" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (while_statement "while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }" { (expression_statement "uVar15 = (uint)*(char *)ppcVar21;" (assignment_expression "uVar15 = (uint)*(char *)ppcVar21" identifier = (binary_expression "(uint)*(char *)ppcVar21" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar21" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar13 = uVar15 - 9;" (assignment_expression "uVar13 = uVar15 - 9" identifier = (binary_expression "uVar15 - 9" identifier - number_literal)) ;) (if_statement "if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;" if (parenthesized_expression "((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "(0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar13)" ( (binary_expression "0x17 < uVar13" number_literal < identifier) )) || (parenthesized_expression "((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar13 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "ppcVar21 = (code **)((int)ppcVar21 + 1);" (assignment_expression "ppcVar21 = (code **)((int)ppcVar21 + 1)" identifier = (cast_expression "(code **)((int)ppcVar21 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar21 + 1)" ( (binary_expression "(int)ppcVar21 + 1" (cast_expression "(int)ppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 == ppcVar21) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 == ppcVar21)" ( (binary_expression "ppcVar26 == ppcVar21" identifier == identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) })) (if_statement "if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }" if (parenthesized_expression "((uVar15 == 0x22) || (uVar15 == 0x27))" ( (binary_expression "(uVar15 == 0x22) || (uVar15 == 0x27)" (parenthesized_expression "(uVar15 == 0x22)" ( (binary_expression "uVar15 == 0x22" identifier == number_literal) )) || (parenthesized_expression "(uVar15 == 0x27)" ( (binary_expression "uVar15 == 0x27" identifier == number_literal) ))) )) (compound_statement "{\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }" { (expression_statement "local_25c = (code **)((int)ppcVar21 + 1);" (assignment_expression "local_25c = (code **)((int)ppcVar21 + 1)" identifier = (cast_expression "(code **)((int)ppcVar21 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar21 + 1)" ( (binary_expression "(int)ppcVar21 + 1" (cast_expression "(int)ppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= local_25c) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= local_25c)" ( (binary_expression "ppcVar26 <= local_25c" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "piVar16 = (int *)0x3c;" (assignment_expression "piVar16 = (int *)0x3c" identifier = (cast_expression "(int *)0x3c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1 = local_25c;" (assignment_expression "param_1 = local_25c" identifier = identifier) ;) (while_statement "while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }" while (parenthesized_expression "(uVar13 = (uint)*(char *)param_1, uVar15 != uVar13)" ( (comma_expression "uVar13 = (uint)*(char *)param_1, uVar15 != uVar13" (assignment_expression "uVar13 = (uint)*(char *)param_1" identifier = (binary_expression "(uint)*(char *)param_1" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) , (binary_expression "uVar15 != uVar13" identifier != identifier)) )) (compound_statement "{\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }" { (if_statement "if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }" { (labeled_statement "LAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }" statement_identifier : (if_statement "if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }" if (parenthesized_expression "((uVar13 == 0x3c) || (uVar13 == 0x3e))" ( (binary_expression "(uVar13 == 0x3c) || (uVar13 == 0x3e)" (parenthesized_expression "(uVar13 == 0x3c)" ( (binary_expression "uVar13 == 0x3c" identifier == number_literal) )) || (parenthesized_expression "(uVar13 == 0x3e)" ( (binary_expression "uVar13 == 0x3e" identifier == number_literal) ))) )) (compound_statement "{\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }" { (if_statement "if (uVar15 != uVar13) goto LAB_0003228c;" if (parenthesized_expression "(uVar15 != uVar13)" ( (binary_expression "uVar15 != uVar13" identifier != identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (break_statement "break;" break ;) }))) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) }) (else_clause "else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" else (if_statement "if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" if (parenthesized_expression "(uVar13 == 10)" ( (binary_expression "uVar13 == 10" identifier == number_literal) )) (compound_statement "{\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" { (expression_statement "uVar13 = (uint)*(char *)((int)ppcVar21 + 1);" (assignment_expression "uVar13 = (uint)*(char *)((int)ppcVar21 + 1)" identifier = (binary_expression "(uint)*(char *)((int)ppcVar21 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)((int)ppcVar21 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar21 + 1)" ( (binary_expression "(int)ppcVar21 + 1" (cast_expression "(int)ppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "param_1 = local_25c;" (assignment_expression "param_1 = local_25c" identifier = identifier) ;) (if_statement "if (uVar13 != uVar15) goto LAB_00032c8c;" if (parenthesized_expression "(uVar13 != uVar15)" ( (binary_expression "uVar13 != uVar15" identifier != identifier) )) (goto_statement "goto LAB_00032c8c;" goto statement_identifier ;)) (break_statement "break;" break ;) })))) (expression_statement "param_1 = (code **)((int)param_1 + 1);" (assignment_expression "param_1 = (code **)((int)param_1 + 1)" identifier = (cast_expression "(code **)((int)param_1 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_1 + 1)" ( (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= param_1) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= param_1)" ( (binary_expression "ppcVar26 <= param_1" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) })) (expression_statement "ppcVar24 = (code **)((int)param_1 + 1);" (assignment_expression "ppcVar24 = (code **)((int)param_1 + 1)" identifier = (cast_expression "(code **)((int)param_1 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_1 + 1)" ( (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_254 = ppcVar24;" (assignment_expression "local_254 = ppcVar24" identifier = identifier) ;) (expression_statement "local_250 = piVar6;" (assignment_expression "local_250 = piVar6" identifier = identifier) ;) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar24)" ( (binary_expression "ppcVar26 <= ppcVar24" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) }) (else_clause "else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }" else (compound_statement "{\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }" { (expression_statement "piVar16 = (int *)0x3c;" (assignment_expression "piVar16 = (int *)0x3c" identifier = (cast_expression "(int *)0x3c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar24 = ppcVar21;" (assignment_expression "ppcVar24 = ppcVar21" identifier = identifier) ;) (while_statement "while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }" while (parenthesized_expression "(((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c)))" ( (parenthesized_expression "((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))" ( (binary_expression "(0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c)" (parenthesized_expression "(0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (binary_expression "0x17 < uVar13" number_literal < identifier) || (parenthesized_expression "((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar13 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((uVar15 & 0xfffffffd) != 0x3c)" ( (binary_expression "(uVar15 & 0xfffffffd) != 0x3c" (parenthesized_expression "(uVar15 & 0xfffffffd)" ( (binary_expression "uVar15 & 0xfffffffd" identifier & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }" { (expression_statement "ppcVar24 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar24 + 1)" identifier = (cast_expression "(code **)((int)ppcVar24 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar24 + 1)" ( (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar24)" ( (binary_expression "ppcVar26 <= ppcVar24" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar15 = (uint)*(char *)ppcVar24;" (assignment_expression "uVar15 = (uint)*(char *)ppcVar24" identifier = (binary_expression "(uint)*(char *)ppcVar24" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar13 = uVar15 - 9;" (assignment_expression "uVar13 = uVar15 - 9" identifier = (binary_expression "uVar15 - 9" identifier - number_literal)) ;) })) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (ppcVar21 == ppcVar24) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar21 == ppcVar24)" ( (binary_expression "ppcVar21 == ppcVar24" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (expression_statement "local_250 = (int *)0x2;" (assignment_expression "local_250 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1 = ppcVar24;" (assignment_expression "param_1 = ppcVar24" identifier = identifier) ;) (expression_statement "local_25c = ppcVar21;" (assignment_expression "local_25c = ppcVar21" identifier = identifier) ;) (expression_statement "local_254 = ppcVar24;" (assignment_expression "local_254 = ppcVar24" identifier = identifier) ;) }))) }))))) (labeled_statement "LAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }" statement_identifier : (if_statement "if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }" if (parenthesized_expression "((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))" ( (binary_expression "(bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0)" (parenthesized_expression "(bVar1)" ( identifier )) && (parenthesized_expression "(piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0)" ( (comma_expression "piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0" (assignment_expression "piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22)" identifier = (cast_expression "(int *)(*pcVar28)(param_7,ppcVar25,ppcVar22)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar28)(param_7,ppcVar25,ppcVar22)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(param_7,ppcVar25,ppcVar22)" ( identifier , identifier , identifier ))))) , (binary_expression "piVar16 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }" { (expression_statement "iVar19 = iVar9 + 1;" (assignment_expression "iVar19 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "iVar17 = local_27c;" (assignment_expression "iVar17 = local_27c" identifier = identifier) ;) (if_statement "if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }" if (parenthesized_expression "(local_27c < iVar19)" ( (binary_expression "local_27c < iVar19" identifier < identifier) )) (compound_statement "{\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }" { (do_statement "do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);" do (compound_statement "{\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        }" { (expression_statement "iVar18 = iVar17;" (assignment_expression "iVar18 = iVar17" identifier = identifier) ;) (expression_statement "iVar17 = iVar18 * 2;" (assignment_expression "iVar17 = iVar18 * 2" identifier = (binary_expression "iVar18 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "(iVar17 < iVar19)" ( (binary_expression "iVar17 < iVar19" identifier < identifier) )) ;) (if_statement "if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }" if (parenthesized_expression "(local_27c != iVar17)" ( (binary_expression "local_27c != iVar17" identifier != identifier) )) (compound_statement "{\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }" { (if_statement "if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }" if (parenthesized_expression "(local_28c == (int *)0x0)" ( (binary_expression "local_28c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }" { (expression_statement "uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30)" identifier = (call_expression "(*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30)" (parenthesized_expression "(*(code *)PTR_xmalloc_000af5c4)" ( (pointer_expression "*(code *)PTR_xmalloc_000af5c4" * (cast_expression "(code *)PTR_xmalloc_000af5c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18 * 0x30)" ( (binary_expression "iVar18 * 0x30" identifier * number_literal) )))) ;) (expression_statement "local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);" (assignment_expression "local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18)" identifier = (cast_expression "(int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18)" (parenthesized_expression "(*(code *)PTR_memcpy_000afc70)" ( (pointer_expression "*(code *)PTR_memcpy_000afc70" * (cast_expression "(code *)PTR_memcpy_000afc70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,local_280,local_27c * 0x18)" ( identifier , identifier , (binary_expression "local_27c * 0x18" identifier * number_literal) ))))) ;) (expression_statement "local_28c = piVar16;" (assignment_expression "local_28c = piVar16" identifier = identifier) ;) }) (else_clause "else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }" else (compound_statement "{\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }" { (expression_statement "local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);" (assignment_expression "local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280)" identifier = (cast_expression "(int *)(*(code *)PTR_xrealloc_000af818)(local_280)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xrealloc_000af818)(local_280)" (parenthesized_expression "(*(code *)PTR_xrealloc_000af818)" ( (pointer_expression "*(code *)PTR_xrealloc_000af818" * (cast_expression "(code *)PTR_xrealloc_000af818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_280)" ( identifier ))))) ;) }))) })) })) (expression_statement "local_280[iVar9 * 6 + 4] = local_21c;" (assignment_expression "local_280[iVar9 * 6 + 4] = local_21c" (subscript_expression "local_280[iVar9 * 6 + 4]" identifier [ (binary_expression "iVar9 * 6 + 4" (binary_expression "iVar9 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "FUN_00031590(&local_224,ppcVar25,ppcVar22,1);" (call_expression "FUN_00031590(&local_224,ppcVar25,ppcVar22,1)" identifier (argument_list "(&local_224,ppcVar25,ppcVar22,1)" ( (pointer_expression "&local_224" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "local_280[iVar9 * 6 + 5] = local_21c;" (assignment_expression "local_280[iVar9 * 6 + 5] = local_21c" (subscript_expression "local_280[iVar9 * 6 + 5]" identifier [ (binary_expression "iVar9 * 6 + 5" (binary_expression "iVar9 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "FUN_00031590(&local_224,local_25c,param_1);" (call_expression "FUN_00031590(&local_224,local_25c,param_1)" identifier (argument_list "(&local_224,local_25c,param_1)" ( (pointer_expression "&local_224" & identifier) , identifier , identifier ))) ;) (expression_statement "local_280[iVar9 * 6 + 2] = (int)ppcVar21;" (assignment_expression "local_280[iVar9 * 6 + 2] = (int)ppcVar21" (subscript_expression "local_280[iVar9 * 6 + 2]" identifier [ (binary_expression "iVar9 * 6 + 2" (binary_expression "iVar9 * 6" identifier * number_literal) + number_literal) ]) = (cast_expression "(int)ppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;" (assignment_expression "local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21" (subscript_expression "local_280[iVar9 * 6 + 3]" identifier [ (binary_expression "iVar9 * 6 + 3" (binary_expression "iVar9 * 6" identifier * number_literal) + number_literal) ]) = (binary_expression "(int)local_254 - (int)ppcVar21" (cast_expression "(int)local_254" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar21" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_27c = iVar17;" (assignment_expression "local_27c = iVar17" identifier = identifier) ;) (expression_statement "iVar9 = iVar19;" (assignment_expression "iVar9 = iVar19" identifier = identifier) ;) (expression_statement "piVar16 = local_250;" (assignment_expression "piVar16 = local_250" identifier = identifier) ;) }))) (goto_statement "goto LAB_000323f8;" goto statement_identifier ;) })) (labeled_statement "LAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar4)" ( (binary_expression "local_2c == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)puVar4;\n  }" { (return_statement "return *(int *)puVar4;" return (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "puVar29 = PTR___stack_chk_fail_000afbd4;" (assignment_expression "puVar29 = PTR___stack_chk_fail_000afbd4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000afbd4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000afbd4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000afbd4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000afbd4" * (cast_expression "(code *)PTR___stack_chk_fail_000afbd4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }" if (parenthesized_expression "(0 < (int)ppcVar14)" ( (binary_expression "0 < (int)ppcVar14" number_literal < (cast_expression "(int)ppcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }" { (expression_statement "ppcVar26 = (code **)0x0;" (assignment_expression "ppcVar26 = (code **)0x0" identifier = (cast_expression "(code **)0x0" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pcVar7 = *param_2;" (assignment_expression "pcVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (do_statement "do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);" do (compound_statement "{\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    }" { (expression_statement "iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);" (assignment_expression "iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3)" identifier = (call_expression "(**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3)" (parenthesized_expression "(**(code **)(puVar29 + 0x7c6f4))" ( (pointer_expression "**(code **)(puVar29 + 0x7c6f4)" * (pointer_expression "*(code **)(puVar29 + 0x7c6f4)" * (cast_expression "(code **)(puVar29 + 0x7c6f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x7c6f4)" ( (binary_expression "puVar29 + 0x7c6f4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)pcVar7,param_3)" ( (pointer_expression "*(undefined4 *)pcVar7" * (cast_expression "(undefined4 *)pcVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }" { (if_statement "if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *param_4 = (int)ppcVar26;\n        }" { (expression_statement "*param_4 = (int)ppcVar26;" (assignment_expression "*param_4 = (int)ppcVar26" (pointer_expression "*param_4" * identifier) = (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (return_statement "return *(int *)(pcVar7 + 4);" return (pointer_expression "*(int *)(pcVar7 + 4)" * (cast_expression "(int *)(pcVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 4)" ( (binary_expression "pcVar7 + 4" identifier + number_literal) )))) ;) })) (expression_statement "ppcVar26 = (code **)((int)ppcVar26 + 1);" (assignment_expression "ppcVar26 = (code **)((int)ppcVar26 + 1)" identifier = (cast_expression "(code **)((int)ppcVar26 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar26 + 1)" ( (binary_expression "(int)ppcVar26 + 1" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar7 = pcVar7 + 0x18;" (assignment_expression "pcVar7 = pcVar7 + 0x18" identifier = (binary_expression "pcVar7 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppcVar26 != ppcVar14)" ( (binary_expression "ppcVar26 != ppcVar14" identifier != identifier) )) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) (while_statement "while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }" while (parenthesized_expression "(*(char *)ppcVar20 == '-')" ( (binary_expression "*(char *)ppcVar20 == '-'" (pointer_expression "*(char *)ppcVar20" * (cast_expression "(char *)ppcVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'-'" ' character ')) )) (compound_statement "{\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }" { (labeled_statement "LAB_00032dcc:\n    ppcVar23 = ppcVar20;" statement_identifier : (expression_statement "ppcVar23 = ppcVar20;" (assignment_expression "ppcVar23 = ppcVar20" identifier = identifier) ;)) (expression_statement "ppcVar20 = (code **)((int)ppcVar23 + 1);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar23 + 1)" identifier = (cast_expression "(code **)((int)ppcVar23 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar23 + 1)" ( (binary_expression "(int)ppcVar23 + 1" (cast_expression "(int)ppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 == ppcVar20) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar26 == ppcVar20)" ( (binary_expression "ppcVar26 == ppcVar20" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) })) (expression_statement "ppcVar27 = ppcVar20;" (assignment_expression "ppcVar27 = ppcVar20" identifier = identifier) ;) (if_statement "if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;" if (parenthesized_expression "(*(char *)ppcVar20 == '>')" ( (binary_expression "*(char *)ppcVar20 == '>'" (pointer_expression "*(char *)ppcVar20" * (cast_expression "(char *)ppcVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'>'" ' character ')) )) (goto_statement "goto code_r0x00032dec;" goto statement_identifier ;)) (goto_statement "goto LAB_0003267c;" goto statement_identifier ;) (labeled_statement "code_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);" statement_identifier : (expression_statement "ppcVar20 = (code **)((int)ppcVar23 + 2);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar23 + 2)" identifier = (cast_expression "(code **)((int)ppcVar23 + 2)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar23 + 2)" ( (binary_expression "(int)ppcVar23 + 2" (cast_expression "(int)ppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (labeled_statement "LAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;" statement_identifier : (if_statement "if (ppcVar20 == (code **)0x0) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar20 == (code **)0x0)" ( (binary_expression "ppcVar20 == (code **)0x0" identifier == (cast_expression "(code **)0x0" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;))) (labeled_statement "joined_r0x00032628:\n  param_1 = ppcVar20;" statement_identifier : (expression_statement "param_1 = ppcVar20;" (assignment_expression "param_1 = ppcVar20" identifier = identifier) ;)) (if_statement "if (ppcVar20 == ppcVar26) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar20 == ppcVar26)" ( (binary_expression "ppcVar20 == ppcVar26" identifier == identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) (labeled_statement "LAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;" statement_identifier : (expression_statement "uVar13 = (int)*(char *)ppcVar25 - 9;" (assignment_expression "uVar13 = (int)*(char *)ppcVar25 - 9" identifier = (binary_expression "(int)*(char *)ppcVar25 - 9" (cast_expression "(int)*(char *)ppcVar25" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)ppcVar25" * (cast_expression "(char *)ppcVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) - number_literal)) ;)) (if_statement "if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;" if (parenthesized_expression "((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "(0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar13)" ( (binary_expression "0x17 < uVar13" number_literal < identifier) )) || (parenthesized_expression "((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar13 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00032918;" goto statement_identifier ;)) (expression_statement "ppcVar25 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar25 = (code **)((int)ppcVar25 + 1)" identifier = (cast_expression "(code **)((int)ppcVar25 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar25 + 1)" ( (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 == ppcVar25) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 == ppcVar25)" ( (binary_expression "ppcVar26 == ppcVar25" identifier == identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (goto_statement "goto LAB_000328e4;" goto statement_identifier ;) (labeled_statement "LAB_00032918:\n  param_1 = ppcVar27;" statement_identifier : (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;)) (if_statement "if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }" if (parenthesized_expression "(((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c)" ( (binary_expression "((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c" (parenthesized_expression "((int)*(char *)ppcVar25 & 0xfffffffdU)" ( (binary_expression "(int)*(char *)ppcVar25 & 0xfffffffdU" (cast_expression "(int)*(char *)ppcVar25" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)ppcVar25" * (cast_expression "(char *)ppcVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }" { (labeled_statement "LAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);" statement_identifier : (expression_statement "ppcVar27 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar27 = (code **)((int)ppcVar25 + 1)" identifier = (cast_expression "(code **)((int)ppcVar25 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar25 + 1)" ( (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (if_statement "if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }" if (parenthesized_expression "(((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23))" ( (binary_expression "((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)" (parenthesized_expression "((local_290 == 0) && (local_228 != (code *)0x0))" ( (binary_expression "(local_290 == 0) && (local_228 != (code *)0x0)" (parenthesized_expression "(local_290 == 0)" ( (binary_expression "local_290 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_228 != (code *)0x0)" ( (binary_expression "local_228 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(*(code ***)local_228 == ppcVar23)" ( (binary_expression "*(code ***)local_228 == ppcVar23" (pointer_expression "*(code ***)local_228" * (cast_expression "(code ***)local_228" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) == identifier) ))) )) (compound_statement "{\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }" { (expression_statement "*(code ***)(local_228 + 8) = ppcVar27;" (assignment_expression "*(code ***)(local_228 + 8) = ppcVar27" (pointer_expression "*(code ***)(local_228 + 8)" * (cast_expression "(code ***)(local_228 + 8)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_228 + 8)" ( (binary_expression "local_228 + 8" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }" { (expression_statement "local_20c = local_224;" (assignment_expression "local_20c = local_224" identifier = identifier) ;) (expression_statement "local_208 = local_290;" (assignment_expression "local_208 = local_290" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }" { (expression_statement "piVar16 = local_280 + iVar9 * 6;" (assignment_expression "piVar16 = local_280 + iVar9 * 6" identifier = (binary_expression "local_280 + iVar9 * 6" identifier + (binary_expression "iVar9 * 6" identifier * number_literal))) ;) (expression_statement "piVar11 = local_280;" (assignment_expression "piVar11 = local_280" identifier = identifier) ;) (do_statement "do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);" do (compound_statement "{\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        }" { (expression_statement "piVar12 = piVar11 + 6;" (assignment_expression "piVar12 = piVar11 + 6" identifier = (binary_expression "piVar11 + 6" identifier + number_literal)) ;) (expression_statement "*piVar11 = (int)(local_224 + piVar11[4]);" (assignment_expression "*piVar11 = (int)(local_224 + piVar11[4])" (pointer_expression "*piVar11" * identifier) = (cast_expression "(int)(local_224 + piVar11[4])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_224 + piVar11[4])" ( (binary_expression "local_224 + piVar11[4]" identifier + (subscript_expression "piVar11[4]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar11[1] = (int)(local_224 + piVar11[5]);" (assignment_expression "piVar11[1] = (int)(local_224 + piVar11[5])" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = (cast_expression "(int)(local_224 + piVar11[5])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_224 + piVar11[5])" ( (binary_expression "local_224 + piVar11[5]" identifier + (subscript_expression "piVar11[5]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar11 = piVar12;" (assignment_expression "piVar11 = piVar12" identifier = identifier) ;) }) while (parenthesized_expression "(piVar12 != piVar16)" ( (binary_expression "piVar12 != piVar16" identifier != identifier) )) ;) })) (expression_statement "local_200 = local_280;" (assignment_expression "local_200 = local_280" identifier = identifier) ;) (expression_statement "local_1f4 = 0;" (assignment_expression "local_1f4 = 0" identifier = number_literal) ;) (expression_statement "local_1f0 = 0;" (assignment_expression "local_1f0 = 0" identifier = number_literal) ;) (expression_statement "local_204 = iVar9;" (assignment_expression "local_204 = iVar9" identifier = identifier) ;) (expression_statement "local_1fc = iVar8;" (assignment_expression "local_1fc = iVar8" identifier = identifier) ;) (expression_statement "local_1f8 = ppcVar27;" (assignment_expression "local_1f8 = ppcVar27" identifier = identifier) ;) (if_statement "if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }" if (parenthesized_expression "(local_290 != 0)" ( (binary_expression "local_290 != 0" identifier != number_literal) )) (compound_statement "{\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }" { (for_statement "for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }" for ( (assignment_expression "pcVar28 = local_228" identifier = identifier) ; (binary_expression "pcVar28 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pcVar28 = *(code **)(pcVar28 + 0xc)" identifier = (pointer_expression "*(code **)(pcVar28 + 0xc)" * (cast_expression "(code **)(pcVar28 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0xc)" ( (binary_expression "pcVar28 + 0xc" identifier + number_literal) ))))) ) (compound_statement "{\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }" { (if_statement "if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }" if (parenthesized_expression "(((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             ))" ( (binary_expression "((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )" (parenthesized_expression "((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28)" ( (binary_expression "(int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28" (binary_expression "(int)ppcVar20 - (int)ppcVar23" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) == (binary_expression "*(int *)(pcVar28 + 4) - *(int *)pcVar28" (pointer_expression "*(int *)(pcVar28 + 4)" * (cast_expression "(int *)(pcVar28 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 4)" ( (binary_expression "pcVar28 + 4" identifier + number_literal) )))) - (pointer_expression "*(int *)pcVar28" * (cast_expression "(int *)pcVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) )) && (parenthesized_expression "(iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )" ( (comma_expression "iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0" (assignment_expression "iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23)" identifier = (call_expression "(*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23)" (parenthesized_expression "(*(code *)PTR_strncasecmp_000afb8c)" ( (pointer_expression "*(code *)PTR_strncasecmp_000afb8c" * (cast_expression "(code *)PTR_strncasecmp_000afb8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23)" ( (pointer_expression "*(int *)pcVar28" * (cast_expression "(int *)pcVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , (binary_expression "(int)ppcVar20 - (int)ppcVar23" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }" { (if_statement "if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }" if (parenthesized_expression "(*(int *)(pcVar28 + 8) != 0)" ( (binary_expression "*(int *)(pcVar28 + 8) != 0" (pointer_expression "*(int *)(pcVar28 + 8)" * (cast_expression "(int *)(pcVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 8)" ( (binary_expression "pcVar28 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }" { (expression_statement "local_1f4 = *(int *)(pcVar28 + 8);" (assignment_expression "local_1f4 = *(int *)(pcVar28 + 8)" identifier = (pointer_expression "*(int *)(pcVar28 + 8)" * (cast_expression "(int *)(pcVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 8)" ( (binary_expression "pcVar28 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_1f0 = iVar8;" (assignment_expression "local_1f0 = iVar8" identifier = identifier) ;) })) (expression_statement "(*pcVar7)(ppcVar14,param_2,pcVar28);" (call_expression "(*pcVar7)(ppcVar14,param_2,pcVar28)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(ppcVar14,param_2,pcVar28)" ( identifier , identifier , identifier ))) ;) (break_statement "break;" break ;) })) })) })) (expression_statement "(*param_3)(&local_20c,param_4);" (call_expression "(*param_3)(&local_20c,param_4)" (parenthesized_expression "(*param_3)" ( (pointer_expression "*param_3" * identifier) )) (argument_list "(&local_20c,param_4)" ( (pointer_expression "&local_20c" & identifier) , identifier ))) ;) (expression_statement "param_1 = ppcVar25;" (assignment_expression "param_1 = ppcVar25" identifier = identifier) ;) (if_statement "if (*(char *)ppcVar25 == '<') goto LAB_0003228c;" if (parenthesized_expression "(*(char *)ppcVar25 == '<')" ( (binary_expression "*(char *)ppcVar25 == '<'" (pointer_expression "*(char *)ppcVar25" * (cast_expression "(char *)ppcVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'<'" ' character ')) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) })) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (ppcVar26 <= ppcVar27) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar27)" ( (binary_expression "ppcVar26 <= ppcVar27" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) (labeled_statement "LAB_0003242c:\n  param_4 = piVar16;" statement_identifier : (expression_statement "param_4 = piVar16;" (assignment_expression "param_4 = piVar16" identifier = identifier) ;)) (expression_statement "param_3 = local_22c;" (assignment_expression "param_3 = local_22c" identifier = identifier) ;) (expression_statement "puVar5 = local_214;" (assignment_expression "puVar5 = local_214" identifier = identifier) ;) (expression_statement "uVar10 = local_210;" (assignment_expression "uVar10 = local_210" identifier = identifier) ;) (if_statement "if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }" if (parenthesized_expression "(local_218 != '\0')" ( (binary_expression "local_218 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }" { (expression_statement "(*(code *)PTR_free_000afd08)(local_224);" (call_expression "(*(code *)PTR_free_000afd08)(local_224)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_224)" ( identifier ))) ;) (expression_statement "param_4 = piVar16;" (assignment_expression "param_4 = piVar16" identifier = identifier) ;) (expression_statement "param_3 = local_22c;" (assignment_expression "param_3 = local_22c" identifier = identifier) ;) (expression_statement "puVar5 = local_214;" (assignment_expression "puVar5 = local_214" identifier = identifier) ;) (expression_statement "uVar10 = local_210;" (assignment_expression "uVar10 = local_210" identifier = identifier) ;) })) (expression_statement "local_220 = uVar10;" (assignment_expression "local_220 = uVar10" identifier = identifier) ;) (expression_statement "local_224 = puVar5;" (assignment_expression "local_224 = puVar5" identifier = identifier) ;) (expression_statement "local_22c = param_3;" (assignment_expression "local_22c = param_3" identifier = identifier) ;) (expression_statement "local_214 = local_224;" (assignment_expression "local_214 = local_224" identifier = identifier) ;) (expression_statement "local_210 = local_220;" (assignment_expression "local_210 = local_220" identifier = identifier) ;) (if_statement "if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }" if (parenthesized_expression "(local_28c == (int *)0x0)" ( (binary_expression "local_28c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }" { (expression_statement "local_218 = 0;" (assignment_expression "local_218 = 0" identifier = number_literal) ;) (expression_statement "local_21c = 0;" (assignment_expression "local_21c = 0" identifier = number_literal) ;) (expression_statement "(*pcVar7)(ppcVar14,param_2,param_3);" (call_expression "(*pcVar7)(ppcVar14,param_2,param_3)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(ppcVar14,param_2,param_3)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }" else (compound_statement "{\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }" { (expression_statement "local_218 = 0;" (assignment_expression "local_218 = 0" identifier = number_literal) ;) (expression_statement "local_21c = 0;" (assignment_expression "local_21c = 0" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_free_000afd08)(local_280);" (call_expression "(*(code *)PTR_free_000afd08)(local_280)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_280)" ( identifier ))) ;) (expression_statement "param_3 = local_22c;" (assignment_expression "param_3 = local_22c" identifier = identifier) ;) (expression_statement "(*pcVar7)(ppcVar14,param_2,local_22c);" (call_expression "(*pcVar7)(ppcVar14,param_2,local_22c)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(ppcVar14,param_2,local_22c)" ( identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_0003246c;" goto statement_identifier ;) })))
(translation_unit "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  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined3 extraout_var;\n  int iVar5;\n  attr_pair *paVar6;\n  code *pcVar7;\n  char *pcVar8;\n  _Bool _Var14;\n  undefined1 *puVar9;\n  undefined4 uVar10;\n  attr_pair *paVar11;\n  attr_pair *paVar12;\n  int iVar13;\n  uint uVar15;\n  tagstack_item **pptVar16;\n  uint uVar17;\n  attr_pair *paVar18;\n  int iVar19;\n  int iVar21;\n  char *pcVar22;\n  char *pcVar23;\n  tagstack_item *ptVar24;\n  char *end;\n  tagstack_item **pptVar25;\n  char *b;\n  char *pcVar26;\n  char *beg;\n  char *pcVar27;\n  char *pcVar28;\n  code *pcVar29;\n  undefined *puVar30;\n  int iStack_290;\n  attr_pair *paStack_28c;\n  attr_pair *paStack_280;\n  int iStack_27c;\n  char *pcStack_25c;\n  char *pcStack_254;\n  attr_pair *paStack_250;\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  int iVar20;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar30 = PTR_s_hallenge__000af46c;\n  head = (tagstack_item *)0x0;\n  tail = (tagstack_item *)0x0;\n  iVar5 = *(int *)PTR___stack_chk_guard_000afc3c;\n  pptVar16 = (tagstack_item **)text;\n  if (size != 0) {\n    pool.resized = false;\n    paStack_280 = attr_pair_initial_storage;\n    pool.size = 0x100;\n    pool.orig_size = 0x100;\n    paVar6 = (attr_pair *)0x6;\n    pcVar27 = text + size;\n    paStack_28c = (attr_pair *)0x0;\n    if ((flags & 2U) == 0) {\n      paVar6 = (attr_pair *)0x2;\n    }\n    iStack_27c = 8;\n    size = (int)&tail;\n    pptVar16 = &head;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    paVar18 = (attr_pair *)maparg;\n    pool.contents = pool_initial_storage;\n    pool.orig_contents = pool_initial_storage;\nLAB_0003228c:\n    do {\n      pool.tail = 0;\n      pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text);\n      if ((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)) goto LAB_0003242c;\n      uVar15 = (uint)pcVar8[1];\n      text = pcVar28;\n      if (uVar15 == 0x21) {\n        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        paVar18 = (attr_pair *)0x2;\n        cVar2 = '!';\n        pcVar8 = pcVar8 + 2;\n        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar15 == 0x2f) {\n        pcVar22 = pcVar8 + 2;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)pcVar8[2];\n        iStack_290 = 1;\n        b = pcVar22;\n      }\n      else {\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }\n      while (text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        pcVar22 = pcVar22 + 1;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)*pcVar22;\n      }\n    } while (b == pcVar22);\n    paVar18 = (attr_pair *)0x1;\n    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }\nLAB_00032384:\n    if (iStack_290 == 0) {\n      ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (head == (tagstack_item *)0x0) {\n        ptVar24->next = (tagstack_item *)0x0;\n        ptVar24->prev = (tagstack_item *)0x0;\n        head = ptVar24;\n      }\n      else {\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->next = (tagstack_item *)0x0;\n      }\n      ptVar24->tagname_begin = b;\n      ptVar24->tagname_end = pcVar22;\n      ptVar24->contents_begin = (char *)0x0;\n      tail = ptVar24;\n    }\n    else {\n      text = pcVar28;\n      if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar29 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    _Var14 = name_allowed(allowed_tags,b,pcVar22);\n    bVar1 = CONCAT31(extraout_var,_Var14) != 0;\n    if (bVar1) {\n      paVar18 = (attr_pair *)0x1;\n      convert_and_copy(&pool,b,pcVar22,1);\n    }\n    iVar13 = 0;\nLAB_000323f8:\n    while( true ) {\n      beg = pcVar26;\n      uVar15 = (uint)*beg;\n      if ((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      pcVar26 = beg + 1;\n      if (pcVar27 <= beg + 1) goto LAB_0003242c;\n    }\n    if (uVar15 == 0x2f) {\n      beg = beg + 1;\n      if (pcVar27 <= beg) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      goto LAB_000328e4;\n    }\n    end = beg;\n    if ((uVar15 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (pcVar23 = beg, pcVar26 = end, pcStack_25c = beg, pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar15 & 0xff) - 0x3c < 3) {\n        text = pcVar28;\n        if (beg != end) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar15 == 0x2f) {\n        text = pcVar28;\n        if (beg == end) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x1;\n        text = end;\n        goto LAB_00032994;\n      }\n      end = end + 1;\n      if (pcVar27 <= end) goto LAB_0003242c;\n      uVar15 = (uint)*end;\n    }\n    text = pcVar28;\n    if (beg == end) goto LAB_0003228c;\n    paVar18 = (attr_pair *)0x1;\n    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }\n    if ((uVar15 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar15 == 0x3d) goto LAB_00032828;\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else if ((uVar15 & 0xfffffffd) == 0x3c) {\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else {\n      if (uVar15 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      pcVar23 = pcVar26 + 1;\n      if (pcVar27 <= pcVar23) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }\n      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) &&\n       (paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0))\n    {\n      iVar21 = iVar13 + 1;\n      iVar19 = iStack_27c;\n      if (iStack_27c < iVar21) {\n        do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);\n        if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }\n      }\n      paStack_280[iVar13].name_pool_index = pool.tail;\n      convert_and_copy(&pool,beg,end,1);\n      paStack_280[iVar13].value_pool_index = pool.tail;\n      convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250);\n      paStack_280[iVar13].value_raw_beginning = pcVar23;\n      paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23;\n      iStack_27c = iVar19;\n      iVar13 = iVar21;\n      paVar18 = paStack_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (iVar5 == *(int *)puVar4) {\n    return;\n  }\n  puVar30 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)pptVar16) {\n    pptVar25 = (tagstack_item **)0x0;\n    ptVar24 = *(tagstack_item **)size;\n    do {\n      iVar5 = (**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun);\n      if (iVar5 == 0) {\n        if ((attr_pair *)maparg != (attr_pair *)0x0) {\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }\n        return;\n      }\n      pptVar25 = (tagstack_item **)((int)pptVar25 + 1);\n      ptVar24 = (tagstack_item *)&ptVar24[1].tagname_end;\n    } while (pptVar25 != pptVar16);\n    return;\n  }\n  return;\n  while (*pcVar8 == '-') {\nLAB_00032dcc:\n    pcVar22 = pcVar8;\n    pcVar8 = pcVar22 + 1;\n    if (pcVar27 == pcVar8) goto LAB_0003228c;\n  }\n  pcVar28 = pcVar8;\n  if (*pcVar8 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  pcVar8 = pcVar22 + 2;\nLAB_00032d0c:\n  if (pcVar8 == (char *)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  text = pcVar8;\n  if (pcVar8 == pcVar27) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar15 = (int)*beg - 9;\n  if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  beg = beg + 1;\n  if (pcVar27 == beg) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  text = pcVar28;\n  if (((int)*beg & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    pcVar28 = beg + 1;\n    if (((iStack_290 == 0) && (tail != (tagstack_item *)0x0)) && (tail->tagname_begin == b)) {\n      tail->contents_begin = pcVar28;\n    }\n    if (bVar1) {\n      taginfo.name = pool.contents;\n      taginfo.end_tag_p = iStack_290;\n      if (iVar13 != 0) {\n        paVar18 = paStack_280 + iVar13;\n        paVar11 = paStack_280;\n        do {\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        } while (paVar12 != paVar18);\n      }\n      taginfo.attrs = paStack_280;\n      taginfo.contents_begin = (char *)0x0;\n      taginfo.contents_end = (char *)0x0;\n      taginfo.nattrs = iVar13;\n      taginfo.start_position = pcVar8;\n      taginfo.end_position = pcVar28;\n      if (iStack_290 != 0) {\n        for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }\n      }\n      (*mapfun)(&taginfo,maparg);\n      text = beg;\n      if (*beg == '<') goto LAB_0003228c;\n    }\n    text = pcVar28;\n    if (pcVar27 <= pcVar28) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  maparg = paVar18;\n  mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n  pcVar27 = pool.orig_contents;\n  iVar13 = pool.orig_size;\n  if (pool.resized != false) {\n    (*(code *)PTR_free_000afd08)(pool.contents);\n    maparg = paVar18;\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    pcVar27 = pool.orig_contents;\n    iVar13 = pool.orig_size;\n  }\n  pool.size = iVar13;\n  pool.contents = pcVar27;\n  head = (tagstack_item *)mapfun;\n  pool.orig_contents = pool.contents;\n  pool.orig_size = pool.size;\n  if (paStack_28c == (attr_pair *)0x0) {\n    pool.resized = false;\n    pool.tail = 0;\n    (*pcVar7)(pptVar16,size,mapfun);\n  }\n  else {\n    pool.resized = false;\n    pool.tail = 0;\n    (*(code *)PTR_free_000afd08)(paStack_280);\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    (*pcVar7)(pptVar16,size,head);\n  }\n  goto LAB_0003246c;\n}\n\n" (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  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined3 extraout_var;\n  int iVar5;\n  attr_pair *paVar6;\n  code *pcVar7;\n  char *pcVar8;\n  _Bool _Var14;\n  undefined1 *puVar9;\n  undefined4 uVar10;\n  attr_pair *paVar11;\n  attr_pair *paVar12;\n  int iVar13;\n  uint uVar15;\n  tagstack_item **pptVar16;\n  uint uVar17;\n  attr_pair *paVar18;\n  int iVar19;\n  int iVar21;\n  char *pcVar22;\n  char *pcVar23;\n  tagstack_item *ptVar24;\n  char *end;\n  tagstack_item **pptVar25;\n  char *b;\n  char *pcVar26;\n  char *beg;\n  char *pcVar27;\n  char *pcVar28;\n  code *pcVar29;\n  undefined *puVar30;\n  int iStack_290;\n  attr_pair *paStack_28c;\n  attr_pair *paStack_280;\n  int iStack_27c;\n  char *pcStack_25c;\n  char *pcStack_254;\n  attr_pair *paStack_250;\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  int iVar20;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar30 = PTR_s_hallenge__000af46c;\n  head = (tagstack_item *)0x0;\n  tail = (tagstack_item *)0x0;\n  iVar5 = *(int *)PTR___stack_chk_guard_000afc3c;\n  pptVar16 = (tagstack_item **)text;\n  if (size != 0) {\n    pool.resized = false;\n    paStack_280 = attr_pair_initial_storage;\n    pool.size = 0x100;\n    pool.orig_size = 0x100;\n    paVar6 = (attr_pair *)0x6;\n    pcVar27 = text + size;\n    paStack_28c = (attr_pair *)0x0;\n    if ((flags & 2U) == 0) {\n      paVar6 = (attr_pair *)0x2;\n    }\n    iStack_27c = 8;\n    size = (int)&tail;\n    pptVar16 = &head;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    paVar18 = (attr_pair *)maparg;\n    pool.contents = pool_initial_storage;\n    pool.orig_contents = pool_initial_storage;\nLAB_0003228c:\n    do {\n      pool.tail = 0;\n      pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text);\n      if ((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)) goto LAB_0003242c;\n      uVar15 = (uint)pcVar8[1];\n      text = pcVar28;\n      if (uVar15 == 0x21) {\n        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        paVar18 = (attr_pair *)0x2;\n        cVar2 = '!';\n        pcVar8 = pcVar8 + 2;\n        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar15 == 0x2f) {\n        pcVar22 = pcVar8 + 2;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)pcVar8[2];\n        iStack_290 = 1;\n        b = pcVar22;\n      }\n      else {\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }\n      while (text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        pcVar22 = pcVar22 + 1;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)*pcVar22;\n      }\n    } while (b == pcVar22);\n    paVar18 = (attr_pair *)0x1;\n    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }\nLAB_00032384:\n    if (iStack_290 == 0) {\n      ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (head == (tagstack_item *)0x0) {\n        ptVar24->next = (tagstack_item *)0x0;\n        ptVar24->prev = (tagstack_item *)0x0;\n        head = ptVar24;\n      }\n      else {\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->next = (tagstack_item *)0x0;\n      }\n      ptVar24->tagname_begin = b;\n      ptVar24->tagname_end = pcVar22;\n      ptVar24->contents_begin = (char *)0x0;\n      tail = ptVar24;\n    }\n    else {\n      text = pcVar28;\n      if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar29 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    _Var14 = name_allowed(allowed_tags,b,pcVar22);\n    bVar1 = CONCAT31(extraout_var,_Var14) != 0;\n    if (bVar1) {\n      paVar18 = (attr_pair *)0x1;\n      convert_and_copy(&pool,b,pcVar22,1);\n    }\n    iVar13 = 0;\nLAB_000323f8:\n    while( true ) {\n      beg = pcVar26;\n      uVar15 = (uint)*beg;\n      if ((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      pcVar26 = beg + 1;\n      if (pcVar27 <= beg + 1) goto LAB_0003242c;\n    }\n    if (uVar15 == 0x2f) {\n      beg = beg + 1;\n      if (pcVar27 <= beg) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      goto LAB_000328e4;\n    }\n    end = beg;\n    if ((uVar15 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (pcVar23 = beg, pcVar26 = end, pcStack_25c = beg, pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar15 & 0xff) - 0x3c < 3) {\n        text = pcVar28;\n        if (beg != end) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar15 == 0x2f) {\n        text = pcVar28;\n        if (beg == end) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x1;\n        text = end;\n        goto LAB_00032994;\n      }\n      end = end + 1;\n      if (pcVar27 <= end) goto LAB_0003242c;\n      uVar15 = (uint)*end;\n    }\n    text = pcVar28;\n    if (beg == end) goto LAB_0003228c;\n    paVar18 = (attr_pair *)0x1;\n    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }\n    if ((uVar15 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar15 == 0x3d) goto LAB_00032828;\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else if ((uVar15 & 0xfffffffd) == 0x3c) {\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else {\n      if (uVar15 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      pcVar23 = pcVar26 + 1;\n      if (pcVar27 <= pcVar23) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }\n      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) &&\n       (paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0))\n    {\n      iVar21 = iVar13 + 1;\n      iVar19 = iStack_27c;\n      if (iStack_27c < iVar21) {\n        do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);\n        if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }\n      }\n      paStack_280[iVar13].name_pool_index = pool.tail;\n      convert_and_copy(&pool,beg,end,1);\n      paStack_280[iVar13].value_pool_index = pool.tail;\n      convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250);\n      paStack_280[iVar13].value_raw_beginning = pcVar23;\n      paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23;\n      iStack_27c = iVar19;\n      iVar13 = iVar21;\n      paVar18 = paStack_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (iVar5 == *(int *)puVar4) {\n    return;\n  }\n  puVar30 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)pptVar16) {\n    pptVar25 = (tagstack_item **)0x0;\n    ptVar24 = *(tagstack_item **)size;\n    do {\n      iVar5 = (**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun);\n      if (iVar5 == 0) {\n        if ((attr_pair *)maparg != (attr_pair *)0x0) {\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }\n        return;\n      }\n      pptVar25 = (tagstack_item **)((int)pptVar25 + 1);\n      ptVar24 = (tagstack_item *)&ptVar24[1].tagname_end;\n    } while (pptVar25 != pptVar16);\n    return;\n  }\n  return;\n  while (*pcVar8 == '-') {\nLAB_00032dcc:\n    pcVar22 = pcVar8;\n    pcVar8 = pcVar22 + 1;\n    if (pcVar27 == pcVar8) goto LAB_0003228c;\n  }\n  pcVar28 = pcVar8;\n  if (*pcVar8 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  pcVar8 = pcVar22 + 2;\nLAB_00032d0c:\n  if (pcVar8 == (char *)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  text = pcVar8;\n  if (pcVar8 == pcVar27) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar15 = (int)*beg - 9;\n  if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  beg = beg + 1;\n  if (pcVar27 == beg) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  text = pcVar28;\n  if (((int)*beg & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    pcVar28 = beg + 1;\n    if (((iStack_290 == 0) && (tail != (tagstack_item *)0x0)) && (tail->tagname_begin == b)) {\n      tail->contents_begin = pcVar28;\n    }\n    if (bVar1) {\n      taginfo.name = pool.contents;\n      taginfo.end_tag_p = iStack_290;\n      if (iVar13 != 0) {\n        paVar18 = paStack_280 + iVar13;\n        paVar11 = paStack_280;\n        do {\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        } while (paVar12 != paVar18);\n      }\n      taginfo.attrs = paStack_280;\n      taginfo.contents_begin = (char *)0x0;\n      taginfo.contents_end = (char *)0x0;\n      taginfo.nattrs = iVar13;\n      taginfo.start_position = pcVar8;\n      taginfo.end_position = pcVar28;\n      if (iStack_290 != 0) {\n        for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }\n      }\n      (*mapfun)(&taginfo,maparg);\n      text = beg;\n      if (*beg == '<') goto LAB_0003228c;\n    }\n    text = pcVar28;\n    if (pcVar27 <= pcVar28) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  maparg = paVar18;\n  mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n  pcVar27 = pool.orig_contents;\n  iVar13 = pool.orig_size;\n  if (pool.resized != false) {\n    (*(code *)PTR_free_000afd08)(pool.contents);\n    maparg = paVar18;\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    pcVar27 = pool.orig_contents;\n    iVar13 = pool.orig_size;\n  }\n  pool.size = iVar13;\n  pool.contents = pcVar27;\n  head = (tagstack_item *)mapfun;\n  pool.orig_contents = pool.contents;\n  pool.orig_size = pool.size;\n  if (paStack_28c == (attr_pair *)0x0) {\n    pool.resized = false;\n    pool.tail = 0;\n    (*pcVar7)(pptVar16,size,mapfun);\n  }\n  else {\n    pool.resized = false;\n    pool.tail = 0;\n    (*(code *)PTR_free_000afd08)(paStack_280);\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    (*pcVar7)(pptVar16,size,head);\n  }\n  goto LAB_0003246c;\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  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined3 extraout_var;\n  int iVar5;\n  attr_pair *paVar6;\n  code *pcVar7;\n  char *pcVar8;\n  _Bool _Var14;\n  undefined1 *puVar9;\n  undefined4 uVar10;\n  attr_pair *paVar11;\n  attr_pair *paVar12;\n  int iVar13;\n  uint uVar15;\n  tagstack_item **pptVar16;\n  uint uVar17;\n  attr_pair *paVar18;\n  int iVar19;\n  int iVar21;\n  char *pcVar22;\n  char *pcVar23;\n  tagstack_item *ptVar24;\n  char *end;\n  tagstack_item **pptVar25;\n  char *b;\n  char *pcVar26;\n  char *beg;\n  char *pcVar27;\n  char *pcVar28;\n  code *pcVar29;\n  undefined *puVar30;\n  int iStack_290;\n  attr_pair *paStack_28c;\n  attr_pair *paStack_280;\n  int iStack_27c;\n  char *pcStack_25c;\n  char *pcStack_254;\n  attr_pair *paStack_250;\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  int iVar20;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar30 = PTR_s_hallenge__000af46c;\n  head = (tagstack_item *)0x0;\n  tail = (tagstack_item *)0x0;\n  iVar5 = *(int *)PTR___stack_chk_guard_000afc3c;\n  pptVar16 = (tagstack_item **)text;\n  if (size != 0) {\n    pool.resized = false;\n    paStack_280 = attr_pair_initial_storage;\n    pool.size = 0x100;\n    pool.orig_size = 0x100;\n    paVar6 = (attr_pair *)0x6;\n    pcVar27 = text + size;\n    paStack_28c = (attr_pair *)0x0;\n    if ((flags & 2U) == 0) {\n      paVar6 = (attr_pair *)0x2;\n    }\n    iStack_27c = 8;\n    size = (int)&tail;\n    pptVar16 = &head;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    paVar18 = (attr_pair *)maparg;\n    pool.contents = pool_initial_storage;\n    pool.orig_contents = pool_initial_storage;\nLAB_0003228c:\n    do {\n      pool.tail = 0;\n      pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text);\n      if ((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)) goto LAB_0003242c;\n      uVar15 = (uint)pcVar8[1];\n      text = pcVar28;\n      if (uVar15 == 0x21) {\n        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        paVar18 = (attr_pair *)0x2;\n        cVar2 = '!';\n        pcVar8 = pcVar8 + 2;\n        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar15 == 0x2f) {\n        pcVar22 = pcVar8 + 2;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)pcVar8[2];\n        iStack_290 = 1;\n        b = pcVar22;\n      }\n      else {\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }\n      while (text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        pcVar22 = pcVar22 + 1;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)*pcVar22;\n      }\n    } while (b == pcVar22);\n    paVar18 = (attr_pair *)0x1;\n    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }\nLAB_00032384:\n    if (iStack_290 == 0) {\n      ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (head == (tagstack_item *)0x0) {\n        ptVar24->next = (tagstack_item *)0x0;\n        ptVar24->prev = (tagstack_item *)0x0;\n        head = ptVar24;\n      }\n      else {\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->next = (tagstack_item *)0x0;\n      }\n      ptVar24->tagname_begin = b;\n      ptVar24->tagname_end = pcVar22;\n      ptVar24->contents_begin = (char *)0x0;\n      tail = ptVar24;\n    }\n    else {\n      text = pcVar28;\n      if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar29 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    _Var14 = name_allowed(allowed_tags,b,pcVar22);\n    bVar1 = CONCAT31(extraout_var,_Var14) != 0;\n    if (bVar1) {\n      paVar18 = (attr_pair *)0x1;\n      convert_and_copy(&pool,b,pcVar22,1);\n    }\n    iVar13 = 0;\nLAB_000323f8:\n    while( true ) {\n      beg = pcVar26;\n      uVar15 = (uint)*beg;\n      if ((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      pcVar26 = beg + 1;\n      if (pcVar27 <= beg + 1) goto LAB_0003242c;\n    }\n    if (uVar15 == 0x2f) {\n      beg = beg + 1;\n      if (pcVar27 <= beg) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      goto LAB_000328e4;\n    }\n    end = beg;\n    if ((uVar15 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (pcVar23 = beg, pcVar26 = end, pcStack_25c = beg, pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar15 & 0xff) - 0x3c < 3) {\n        text = pcVar28;\n        if (beg != end) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar15 == 0x2f) {\n        text = pcVar28;\n        if (beg == end) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x1;\n        text = end;\n        goto LAB_00032994;\n      }\n      end = end + 1;\n      if (pcVar27 <= end) goto LAB_0003242c;\n      uVar15 = (uint)*end;\n    }\n    text = pcVar28;\n    if (beg == end) goto LAB_0003228c;\n    paVar18 = (attr_pair *)0x1;\n    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }\n    if ((uVar15 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar15 == 0x3d) goto LAB_00032828;\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else if ((uVar15 & 0xfffffffd) == 0x3c) {\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else {\n      if (uVar15 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      pcVar23 = pcVar26 + 1;\n      if (pcVar27 <= pcVar23) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }\n      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) &&\n       (paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0))\n    {\n      iVar21 = iVar13 + 1;\n      iVar19 = iStack_27c;\n      if (iStack_27c < iVar21) {\n        do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);\n        if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }\n      }\n      paStack_280[iVar13].name_pool_index = pool.tail;\n      convert_and_copy(&pool,beg,end,1);\n      paStack_280[iVar13].value_pool_index = pool.tail;\n      convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250);\n      paStack_280[iVar13].value_raw_beginning = pcVar23;\n      paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23;\n      iStack_27c = iVar19;\n      iVar13 = iVar21;\n      paVar18 = paStack_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (iVar5 == *(int *)puVar4) {\n    return;\n  }\n  puVar30 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)pptVar16) {\n    pptVar25 = (tagstack_item **)0x0;\n    ptVar24 = *(tagstack_item **)size;\n    do {\n      iVar5 = (**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun);\n      if (iVar5 == 0) {\n        if ((attr_pair *)maparg != (attr_pair *)0x0) {\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }\n        return;\n      }\n      pptVar25 = (tagstack_item **)((int)pptVar25 + 1);\n      ptVar24 = (tagstack_item *)&ptVar24[1].tagname_end;\n    } while (pptVar25 != pptVar16);\n    return;\n  }\n  return;\n  while (*pcVar8 == '-') {\nLAB_00032dcc:\n    pcVar22 = pcVar8;\n    pcVar8 = pcVar22 + 1;\n    if (pcVar27 == pcVar8) goto LAB_0003228c;\n  }\n  pcVar28 = pcVar8;\n  if (*pcVar8 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  pcVar8 = pcVar22 + 2;\nLAB_00032d0c:\n  if (pcVar8 == (char *)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  text = pcVar8;\n  if (pcVar8 == pcVar27) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar15 = (int)*beg - 9;\n  if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  beg = beg + 1;\n  if (pcVar27 == beg) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  text = pcVar28;\n  if (((int)*beg & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    pcVar28 = beg + 1;\n    if (((iStack_290 == 0) && (tail != (tagstack_item *)0x0)) && (tail->tagname_begin == b)) {\n      tail->contents_begin = pcVar28;\n    }\n    if (bVar1) {\n      taginfo.name = pool.contents;\n      taginfo.end_tag_p = iStack_290;\n      if (iVar13 != 0) {\n        paVar18 = paStack_280 + iVar13;\n        paVar11 = paStack_280;\n        do {\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        } while (paVar12 != paVar18);\n      }\n      taginfo.attrs = paStack_280;\n      taginfo.contents_begin = (char *)0x0;\n      taginfo.contents_end = (char *)0x0;\n      taginfo.nattrs = iVar13;\n      taginfo.start_position = pcVar8;\n      taginfo.end_position = pcVar28;\n      if (iStack_290 != 0) {\n        for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }\n      }\n      (*mapfun)(&taginfo,maparg);\n      text = beg;\n      if (*beg == '<') goto LAB_0003228c;\n    }\n    text = pcVar28;\n    if (pcVar27 <= pcVar28) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  maparg = paVar18;\n  mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n  pcVar27 = pool.orig_contents;\n  iVar13 = pool.orig_size;\n  if (pool.resized != false) {\n    (*(code *)PTR_free_000afd08)(pool.contents);\n    maparg = paVar18;\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    pcVar27 = pool.orig_contents;\n    iVar13 = pool.orig_size;\n  }\n  pool.size = iVar13;\n  pool.contents = pcVar27;\n  head = (tagstack_item *)mapfun;\n  pool.orig_contents = pool.contents;\n  pool.orig_size = pool.size;\n  if (paStack_28c == (attr_pair *)0x0) {\n    pool.resized = false;\n    pool.tail = 0;\n    (*pcVar7)(pptVar16,size,mapfun);\n  }\n  else {\n    pool.resized = false;\n    pool.tail = 0;\n    (*(code *)PTR_free_000afd08)(paStack_280);\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    (*pcVar7)(pptVar16,size,head);\n  }\n  goto LAB_0003246c;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "attr_pair *paVar6;" type_identifier (pointer_declarator "*paVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "_Bool _Var14;" type_identifier identifier ;) (declaration "undefined1 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "attr_pair *paVar11;" type_identifier (pointer_declarator "*paVar11" * identifier) ;) (declaration "attr_pair *paVar12;" type_identifier (pointer_declarator "*paVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "tagstack_item **pptVar16;" type_identifier (pointer_declarator "**pptVar16" * (pointer_declarator "*pptVar16" * identifier)) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "attr_pair *paVar18;" type_identifier (pointer_declarator "*paVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "tagstack_item *ptVar24;" type_identifier (pointer_declarator "*ptVar24" * identifier) ;) (declaration "char *end;" primitive_type (pointer_declarator "*end" * identifier) ;) (declaration "tagstack_item **pptVar25;" type_identifier (pointer_declarator "**pptVar25" * (pointer_declarator "*pptVar25" * identifier)) ;) (declaration "char *b;" primitive_type (pointer_declarator "*b" * identifier) ;) (declaration "char *pcVar26;" primitive_type (pointer_declarator "*pcVar26" * identifier) ;) (declaration "char *beg;" primitive_type (pointer_declarator "*beg" * identifier) ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "char *pcVar28;" primitive_type (pointer_declarator "*pcVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "undefined *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "int iStack_290;" primitive_type identifier ;) (declaration "attr_pair *paStack_28c;" type_identifier (pointer_declarator "*paStack_28c" * identifier) ;) (declaration "attr_pair *paStack_280;" type_identifier (pointer_declarator "*paStack_280" * identifier) ;) (declaration "int iStack_27c;" primitive_type identifier ;) (declaration "char *pcStack_25c;" primitive_type (pointer_declarator "*pcStack_25c" * identifier) ;) (declaration "char *pcStack_254;" primitive_type (pointer_declarator "*pcStack_254" * identifier) ;) (declaration "attr_pair *paStack_250;" type_identifier (pointer_declarator "*paStack_250" * 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 ]) ;) (declaration "int iVar20;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_000afc3c;" (assignment_expression "puVar4 = PTR___stack_chk_guard_000afc3c" identifier = identifier) ;) (expression_statement "puVar30 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar30 = PTR_s_hallenge__000af46c" identifier = identifier) ;) (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)) ;) (expression_statement "iVar5 = *(int *)PTR___stack_chk_guard_000afc3c;" (assignment_expression "iVar5 = *(int *)PTR___stack_chk_guard_000afc3c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000afc3c" * (cast_expression "(int *)PTR___stack_chk_guard_000afc3c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pptVar16 = (tagstack_item **)text;" (assignment_expression "pptVar16 = (tagstack_item **)text" identifier = (cast_expression "(tagstack_item **)text" ( (type_descriptor "tagstack_item **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (size != 0) {\n    pool.resized = false;\n    paStack_280 = attr_pair_initial_storage;\n    pool.size = 0x100;\n    pool.orig_size = 0x100;\n    paVar6 = (attr_pair *)0x6;\n    pcVar27 = text + size;\n    paStack_28c = (attr_pair *)0x0;\n    if ((flags & 2U) == 0) {\n      paVar6 = (attr_pair *)0x2;\n    }\n    iStack_27c = 8;\n    size = (int)&tail;\n    pptVar16 = &head;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    paVar18 = (attr_pair *)maparg;\n    pool.contents = pool_initial_storage;\n    pool.orig_contents = pool_initial_storage;\nLAB_0003228c:\n    do {\n      pool.tail = 0;\n      pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text);\n      if ((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)) goto LAB_0003242c;\n      uVar15 = (uint)pcVar8[1];\n      text = pcVar28;\n      if (uVar15 == 0x21) {\n        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        paVar18 = (attr_pair *)0x2;\n        cVar2 = '!';\n        pcVar8 = pcVar8 + 2;\n        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar15 == 0x2f) {\n        pcVar22 = pcVar8 + 2;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)pcVar8[2];\n        iStack_290 = 1;\n        b = pcVar22;\n      }\n      else {\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }\n      while (text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        pcVar22 = pcVar22 + 1;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)*pcVar22;\n      }\n    } while (b == pcVar22);\n    paVar18 = (attr_pair *)0x1;\n    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }\nLAB_00032384:\n    if (iStack_290 == 0) {\n      ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (head == (tagstack_item *)0x0) {\n        ptVar24->next = (tagstack_item *)0x0;\n        ptVar24->prev = (tagstack_item *)0x0;\n        head = ptVar24;\n      }\n      else {\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->next = (tagstack_item *)0x0;\n      }\n      ptVar24->tagname_begin = b;\n      ptVar24->tagname_end = pcVar22;\n      ptVar24->contents_begin = (char *)0x0;\n      tail = ptVar24;\n    }\n    else {\n      text = pcVar28;\n      if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar29 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    _Var14 = name_allowed(allowed_tags,b,pcVar22);\n    bVar1 = CONCAT31(extraout_var,_Var14) != 0;\n    if (bVar1) {\n      paVar18 = (attr_pair *)0x1;\n      convert_and_copy(&pool,b,pcVar22,1);\n    }\n    iVar13 = 0;\nLAB_000323f8:\n    while( true ) {\n      beg = pcVar26;\n      uVar15 = (uint)*beg;\n      if ((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      pcVar26 = beg + 1;\n      if (pcVar27 <= beg + 1) goto LAB_0003242c;\n    }\n    if (uVar15 == 0x2f) {\n      beg = beg + 1;\n      if (pcVar27 <= beg) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      goto LAB_000328e4;\n    }\n    end = beg;\n    if ((uVar15 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (pcVar23 = beg, pcVar26 = end, pcStack_25c = beg, pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar15 & 0xff) - 0x3c < 3) {\n        text = pcVar28;\n        if (beg != end) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar15 == 0x2f) {\n        text = pcVar28;\n        if (beg == end) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x1;\n        text = end;\n        goto LAB_00032994;\n      }\n      end = end + 1;\n      if (pcVar27 <= end) goto LAB_0003242c;\n      uVar15 = (uint)*end;\n    }\n    text = pcVar28;\n    if (beg == end) goto LAB_0003228c;\n    paVar18 = (attr_pair *)0x1;\n    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }\n    if ((uVar15 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar15 == 0x3d) goto LAB_00032828;\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else if ((uVar15 & 0xfffffffd) == 0x3c) {\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else {\n      if (uVar15 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      pcVar23 = pcVar26 + 1;\n      if (pcVar27 <= pcVar23) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }\n      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) &&\n       (paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0))\n    {\n      iVar21 = iVar13 + 1;\n      iVar19 = iStack_27c;\n      if (iStack_27c < iVar21) {\n        do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);\n        if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }\n      }\n      paStack_280[iVar13].name_pool_index = pool.tail;\n      convert_and_copy(&pool,beg,end,1);\n      paStack_280[iVar13].value_pool_index = pool.tail;\n      convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250);\n      paStack_280[iVar13].value_raw_beginning = pcVar23;\n      paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23;\n      iStack_27c = iVar19;\n      iVar13 = iVar21;\n      paVar18 = paStack_250;\n    }\n    goto LAB_000323f8;\n  }" if (parenthesized_expression "(size != 0)" ( (binary_expression "size != 0" identifier != number_literal) )) (compound_statement "{\n    pool.resized = false;\n    paStack_280 = attr_pair_initial_storage;\n    pool.size = 0x100;\n    pool.orig_size = 0x100;\n    paVar6 = (attr_pair *)0x6;\n    pcVar27 = text + size;\n    paStack_28c = (attr_pair *)0x0;\n    if ((flags & 2U) == 0) {\n      paVar6 = (attr_pair *)0x2;\n    }\n    iStack_27c = 8;\n    size = (int)&tail;\n    pptVar16 = &head;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    paVar18 = (attr_pair *)maparg;\n    pool.contents = pool_initial_storage;\n    pool.orig_contents = pool_initial_storage;\nLAB_0003228c:\n    do {\n      pool.tail = 0;\n      pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text);\n      if ((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)) goto LAB_0003242c;\n      uVar15 = (uint)pcVar8[1];\n      text = pcVar28;\n      if (uVar15 == 0x21) {\n        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        paVar18 = (attr_pair *)0x2;\n        cVar2 = '!';\n        pcVar8 = pcVar8 + 2;\n        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar15 == 0x2f) {\n        pcVar22 = pcVar8 + 2;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)pcVar8[2];\n        iStack_290 = 1;\n        b = pcVar22;\n      }\n      else {\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }\n      while (text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        pcVar22 = pcVar22 + 1;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)*pcVar22;\n      }\n    } while (b == pcVar22);\n    paVar18 = (attr_pair *)0x1;\n    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }\nLAB_00032384:\n    if (iStack_290 == 0) {\n      ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (head == (tagstack_item *)0x0) {\n        ptVar24->next = (tagstack_item *)0x0;\n        ptVar24->prev = (tagstack_item *)0x0;\n        head = ptVar24;\n      }\n      else {\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->next = (tagstack_item *)0x0;\n      }\n      ptVar24->tagname_begin = b;\n      ptVar24->tagname_end = pcVar22;\n      ptVar24->contents_begin = (char *)0x0;\n      tail = ptVar24;\n    }\n    else {\n      text = pcVar28;\n      if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar29 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    _Var14 = name_allowed(allowed_tags,b,pcVar22);\n    bVar1 = CONCAT31(extraout_var,_Var14) != 0;\n    if (bVar1) {\n      paVar18 = (attr_pair *)0x1;\n      convert_and_copy(&pool,b,pcVar22,1);\n    }\n    iVar13 = 0;\nLAB_000323f8:\n    while( true ) {\n      beg = pcVar26;\n      uVar15 = (uint)*beg;\n      if ((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      pcVar26 = beg + 1;\n      if (pcVar27 <= beg + 1) goto LAB_0003242c;\n    }\n    if (uVar15 == 0x2f) {\n      beg = beg + 1;\n      if (pcVar27 <= beg) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      goto LAB_000328e4;\n    }\n    end = beg;\n    if ((uVar15 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (pcVar23 = beg, pcVar26 = end, pcStack_25c = beg, pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar15 & 0xff) - 0x3c < 3) {\n        text = pcVar28;\n        if (beg != end) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar15 == 0x2f) {\n        text = pcVar28;\n        if (beg == end) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x1;\n        text = end;\n        goto LAB_00032994;\n      }\n      end = end + 1;\n      if (pcVar27 <= end) goto LAB_0003242c;\n      uVar15 = (uint)*end;\n    }\n    text = pcVar28;\n    if (beg == end) goto LAB_0003228c;\n    paVar18 = (attr_pair *)0x1;\n    while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }\n    if ((uVar15 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar15 == 0x3d) goto LAB_00032828;\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else if ((uVar15 & 0xfffffffd) == 0x3c) {\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else {\n      if (uVar15 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      pcVar23 = pcVar26 + 1;\n      if (pcVar27 <= pcVar23) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }\n      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) &&\n       (paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0))\n    {\n      iVar21 = iVar13 + 1;\n      iVar19 = iStack_27c;\n      if (iStack_27c < iVar21) {\n        do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);\n        if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }\n      }\n      paStack_280[iVar13].name_pool_index = pool.tail;\n      convert_and_copy(&pool,beg,end,1);\n      paStack_280[iVar13].value_pool_index = pool.tail;\n      convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250);\n      paStack_280[iVar13].value_raw_beginning = pcVar23;\n      paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23;\n      iStack_27c = iVar19;\n      iVar13 = iVar21;\n      paVar18 = paStack_250;\n    }\n    goto LAB_000323f8;\n  }" { (expression_statement "pool.resized = false;" (assignment_expression "pool.resized = false" (field_expression "pool.resized" identifier . field_identifier) = false) ;) (expression_statement "paStack_280 = attr_pair_initial_storage;" (assignment_expression "paStack_280 = attr_pair_initial_storage" identifier = identifier) ;) (expression_statement "pool.size = 0x100;" (assignment_expression "pool.size = 0x100" (field_expression "pool.size" identifier . field_identifier) = number_literal) ;) (expression_statement "pool.orig_size = 0x100;" (assignment_expression "pool.orig_size = 0x100" (field_expression "pool.orig_size" identifier . field_identifier) = number_literal) ;) (expression_statement "paVar6 = (attr_pair *)0x6;" (assignment_expression "paVar6 = (attr_pair *)0x6" identifier = (cast_expression "(attr_pair *)0x6" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar27 = text + size;" (assignment_expression "pcVar27 = text + size" identifier = (binary_expression "text + size" identifier + identifier)) ;) (expression_statement "paStack_28c = (attr_pair *)0x0;" (assignment_expression "paStack_28c = (attr_pair *)0x0" identifier = (cast_expression "(attr_pair *)0x0" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((flags & 2U) == 0) {\n      paVar6 = (attr_pair *)0x2;\n    }" if (parenthesized_expression "((flags & 2U) == 0)" ( (binary_expression "(flags & 2U) == 0" (parenthesized_expression "(flags & 2U)" ( (binary_expression "flags & 2U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      paVar6 = (attr_pair *)0x2;\n    }" { (expression_statement "paVar6 = (attr_pair *)0x2;" (assignment_expression "paVar6 = (attr_pair *)0x2" identifier = (cast_expression "(attr_pair *)0x2" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "iStack_27c = 8;" (assignment_expression "iStack_27c = 8" identifier = number_literal) ;) (expression_statement "size = (int)&tail;" (assignment_expression "size = (int)&tail" identifier = (cast_expression "(int)&tail" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&tail" & identifier))) ;) (expression_statement "pptVar16 = &head;" (assignment_expression "pptVar16 = &head" identifier = (pointer_expression "&head" & identifier)) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4)" identifier = (cast_expression "(code *)(PTR_LAB_000af7c0 + 0x20c4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000af7c0 + 0x20c4)" ( (binary_expression "PTR_LAB_000af7c0 + 0x20c4" identifier + number_literal) )))) ;) (expression_statement "paVar18 = (attr_pair *)maparg;" (assignment_expression "paVar18 = (attr_pair *)maparg" identifier = (cast_expression "(attr_pair *)maparg" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) 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.orig_contents = pool_initial_storage;" (assignment_expression "pool.orig_contents = pool_initial_storage" (field_expression "pool.orig_contents" identifier . field_identifier) = identifier) ;) (labeled_statement "LAB_0003228c:\n    do {\n      pool.tail = 0;\n      pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text);\n      if ((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)) goto LAB_0003242c;\n      uVar15 = (uint)pcVar8[1];\n      text = pcVar28;\n      if (uVar15 == 0x21) {\n        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        paVar18 = (attr_pair *)0x2;\n        cVar2 = '!';\n        pcVar8 = pcVar8 + 2;\n        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar15 == 0x2f) {\n        pcVar22 = pcVar8 + 2;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)pcVar8[2];\n        iStack_290 = 1;\n        b = pcVar22;\n      }\n      else {\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }\n      while (text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        pcVar22 = pcVar22 + 1;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)*pcVar22;\n      }\n    } while (b == pcVar22);" statement_identifier : (do_statement "do {\n      pool.tail = 0;\n      pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text);\n      if ((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)) goto LAB_0003242c;\n      uVar15 = (uint)pcVar8[1];\n      text = pcVar28;\n      if (uVar15 == 0x21) {\n        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        paVar18 = (attr_pair *)0x2;\n        cVar2 = '!';\n        pcVar8 = pcVar8 + 2;\n        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar15 == 0x2f) {\n        pcVar22 = pcVar8 + 2;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)pcVar8[2];\n        iStack_290 = 1;\n        b = pcVar22;\n      }\n      else {\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }\n      while (text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        pcVar22 = pcVar22 + 1;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)*pcVar22;\n      }\n    } while (b == pcVar22);" do (compound_statement "{\n      pool.tail = 0;\n      pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text);\n      if ((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)) goto LAB_0003242c;\n      uVar15 = (uint)pcVar8[1];\n      text = pcVar28;\n      if (uVar15 == 0x21) {\n        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        paVar18 = (attr_pair *)0x2;\n        cVar2 = '!';\n        pcVar8 = pcVar8 + 2;\n        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar15 == 0x2f) {\n        pcVar22 = pcVar8 + 2;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)pcVar8[2];\n        iStack_290 = 1;\n        b = pcVar22;\n      }\n      else {\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }\n      while (text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        pcVar22 = pcVar22 + 1;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)*pcVar22;\n      }\n    }" { (expression_statement "pool.tail = 0;" (assignment_expression "pool.tail = 0" (field_expression "pool.tail" identifier . field_identifier) = number_literal) ;) (expression_statement "pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text);" (assignment_expression "pcVar8 = (char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text)" identifier = (cast_expression "(char *)(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_rpl_memchr_000af694)(text,0x3c,(int)pcVar27 - (int)text)" (parenthesized_expression "(*(code *)PTR_rpl_memchr_000af694)" ( (pointer_expression "*(code *)PTR_rpl_memchr_000af694" * (cast_expression "(code *)PTR_rpl_memchr_000af694" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(text,0x3c,(int)pcVar27 - (int)text)" ( identifier , number_literal , (binary_expression "(int)pcVar27 - (int)text" (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)text" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)) goto LAB_0003242c;" if (parenthesized_expression "((pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28))" ( (binary_expression "(pcVar8 == (char *)0x0) || (pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)" (parenthesized_expression "(pcVar8 == (char *)0x0)" ( (binary_expression "pcVar8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28)" ( (comma_expression "pcVar28 = pcVar8 + 1, pcVar27 <= pcVar28" (assignment_expression "pcVar28 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) , (binary_expression "pcVar27 <= pcVar28" identifier <= identifier)) ))) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar15 = (uint)pcVar8[1];" (assignment_expression "uVar15 = (uint)pcVar8[1]" identifier = (cast_expression "(uint)pcVar8[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pcVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "text = pcVar28;" (assignment_expression "text = pcVar28" identifier = identifier) ;) (if_statement "if (uVar15 == 0x21) {\n        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        paVar18 = (attr_pair *)0x2;\n        cVar2 = '!';\n        pcVar8 = pcVar8 + 2;\n        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }\n        goto joined_r0x00032628;\n      }" if (parenthesized_expression "(uVar15 == 0x21)" ( (binary_expression "uVar15 == 0x21" identifier == number_literal) )) (compound_statement "{\n        if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        paVar18 = (attr_pair *)0x2;\n        cVar2 = '!';\n        pcVar8 = pcVar8 + 2;\n        for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }\n        goto joined_r0x00032628;\n      }" { (if_statement "if (((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')) {\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }" if (parenthesized_expression "(((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-'))" ( (binary_expression "((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')) &&\n           (pcVar8[3] == '-')" (parenthesized_expression "((((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-'))" ( (binary_expression "(((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)) && (pcVar8[2] == '-')" (parenthesized_expression "(((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27))" ( (binary_expression "((flags & 1U) == 0) && (pcVar8 + 4 < pcVar27)" (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 "(pcVar8 + 4 < pcVar27)" ( (binary_expression "pcVar8 + 4 < pcVar27" (binary_expression "pcVar8 + 4" identifier + number_literal) < identifier) ))) )) && (parenthesized_expression "(pcVar8[2] == '-')" ( (binary_expression "pcVar8[2] == '-'" (subscript_expression "pcVar8[2]" identifier [ number_literal ]) == (char_literal "'-'" ' character ')) ))) )) && (parenthesized_expression "(pcVar8[3] == '-')" ( (binary_expression "pcVar8[3] == '-'" (subscript_expression "pcVar8[3]" identifier [ number_literal ]) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n          pcVar28 = pcVar8 + 3;\nLAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }" { (expression_statement "pcVar28 = pcVar8 + 3;" (assignment_expression "pcVar28 = pcVar8 + 3" identifier = (binary_expression "pcVar8 + 3" identifier + number_literal)) ;) (labeled_statement "LAB_0003267c:\n          while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }" statement_identifier : (while_statement "while (pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27) {\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }" while (parenthesized_expression "(pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27)" ( (comma_expression "pcVar8 = pcVar28, pcVar28 = pcVar8 + 3, pcVar28 < pcVar27" (assignment_expression "pcVar8 = pcVar28" identifier = identifier) , (comma_expression "pcVar28 = pcVar8 + 3, pcVar28 < pcVar27" (assignment_expression "pcVar28 = pcVar8 + 3" identifier = (binary_expression "pcVar8 + 3" identifier + number_literal)) , (binary_expression "pcVar28 < pcVar27" identifier < identifier))) )) (compound_statement "{\n            if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }\n          }" { (if_statement "if (pcVar8[3] == '-') {\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }" if (parenthesized_expression "(pcVar8[3] == '-')" ( (binary_expression "pcVar8[3] == '-'" (subscript_expression "pcVar8[3]" identifier [ number_literal ]) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n              do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');\n              if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }\n            }" { (do_statement "do {\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              } while (*pcVar28 == '-');" do (compound_statement "{\n                pcVar8 = pcVar28;\n                if (pcVar8[-1] == '-') goto LAB_00032dcc;\n                pcVar28 = pcVar8 + 2;\n                if (pcVar27 <= pcVar28) goto LAB_0003228c;\n              }" { (expression_statement "pcVar8 = pcVar28;" (assignment_expression "pcVar8 = pcVar28" identifier = identifier) ;) (if_statement "if (pcVar8[-1] == '-') goto LAB_00032dcc;" if (parenthesized_expression "(pcVar8[-1] == '-')" ( (binary_expression "pcVar8[-1] == '-'" (subscript_expression "pcVar8[-1]" identifier [ number_literal ]) == (char_literal "'-'" ' character ')) )) (goto_statement "goto LAB_00032dcc;" goto statement_identifier ;)) (expression_statement "pcVar28 = pcVar8 + 2;" (assignment_expression "pcVar28 = pcVar8 + 2" identifier = (binary_expression "pcVar8 + 2" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= pcVar28) goto LAB_0003228c;" if (parenthesized_expression "(pcVar27 <= pcVar28)" ( (binary_expression "pcVar27 <= pcVar28" identifier <= identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) }) while (parenthesized_expression "(*pcVar28 == '-')" ( (binary_expression "*pcVar28 == '-'" (pointer_expression "*pcVar28" * identifier) == (char_literal "'-'" ' character ')) )) ;) (if_statement "if ((*pcVar28 == '>') && (pcVar8[1] == '-')) {\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }" if (parenthesized_expression "((*pcVar28 == '>') && (pcVar8[1] == '-'))" ( (binary_expression "(*pcVar28 == '>') && (pcVar8[1] == '-')" (parenthesized_expression "(*pcVar28 == '>')" ( (binary_expression "*pcVar28 == '>'" (pointer_expression "*pcVar28" * identifier) == (char_literal "'>'" ' character ')) )) && (parenthesized_expression "(pcVar8[1] == '-')" ( (binary_expression "pcVar8[1] == '-'" (subscript_expression "pcVar8[1]" identifier [ number_literal ]) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n                pcVar8 = pcVar8 + 3;\n                goto LAB_00032d0c;\n              }" { (expression_statement "pcVar8 = pcVar8 + 3;" (assignment_expression "pcVar8 = pcVar8 + 3" identifier = (binary_expression "pcVar8 + 3" identifier + number_literal)) ;) (goto_statement "goto LAB_00032d0c;" goto statement_identifier ;) })) }) (else_clause "else if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }" else (if_statement "if (((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')) {\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }" if (parenthesized_expression "(((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-'))" ( (binary_expression "((pcVar8[3] == '>') && (pcVar8[2] == '-')) && (pcVar8[1] == '-')" (parenthesized_expression "((pcVar8[3] == '>') && (pcVar8[2] == '-'))" ( (binary_expression "(pcVar8[3] == '>') && (pcVar8[2] == '-')" (parenthesized_expression "(pcVar8[3] == '>')" ( (binary_expression "pcVar8[3] == '>'" (subscript_expression "pcVar8[3]" identifier [ number_literal ]) == (char_literal "'>'" ' character ')) )) && (parenthesized_expression "(pcVar8[2] == '-')" ( (binary_expression "pcVar8[2] == '-'" (subscript_expression "pcVar8[2]" identifier [ number_literal ]) == (char_literal "'-'" ' character ')) ))) )) && (parenthesized_expression "(pcVar8[1] == '-')" ( (binary_expression "pcVar8[1] == '-'" (subscript_expression "pcVar8[1]" identifier [ number_literal ]) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n              pcVar8 = pcVar8 + 4;\n              goto LAB_00032d0c;\n            }" { (expression_statement "pcVar8 = pcVar8 + 4;" (assignment_expression "pcVar8 = pcVar8 + 4" identifier = (binary_expression "pcVar8 + 4" identifier + number_literal)) ;) (goto_statement "goto LAB_00032d0c;" goto statement_identifier ;) })))) }))) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) })) (expression_statement "paVar18 = (attr_pair *)0x2;" (assignment_expression "paVar18 = (attr_pair *)0x2" identifier = (cast_expression "(attr_pair *)0x2" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "cVar2 = '!';" (assignment_expression "cVar2 = '!'" identifier = (char_literal "'!'" ' character ')) ;) (expression_statement "pcVar8 = pcVar8 + 2;" (assignment_expression "pcVar8 = pcVar8 + 2" identifier = (binary_expression "pcVar8 + 2" identifier + number_literal)) ;) (for_statement "for (pcVar28 = pcVar8; pcVar27 != pcVar28; pcVar28 = pcVar28 + 1) {\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }" for ( (assignment_expression "pcVar28 = pcVar8" identifier = identifier) ; (binary_expression "pcVar27 != pcVar28" identifier != identifier) ; (assignment_expression "pcVar28 = pcVar28 + 1" identifier = (binary_expression "pcVar28 + 1" identifier + number_literal)) ) (compound_statement "{\n          puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);\n          if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *pcVar28;\n          paVar18 = (attr_pair *)0x3;\n        }" { (expression_statement "puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1);" (assignment_expression "puVar9 = (undefined1 *)((int)&paVar18[-1].value_pool_index + 1)" identifier = (cast_expression "(undefined1 *)((int)&paVar18[-1].value_pool_index + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&paVar18[-1].value_pool_index + 1)" ( (binary_expression "(int)&paVar18[-1].value_pool_index + 1" (cast_expression "(int)&paVar18[-1].value_pool_index" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&paVar18[-1].value_pool_index" & (field_expression "paVar18[-1].value_pool_index" (subscript_expression "paVar18[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (if_statement "if (puVar9 < (undefined1 *)0xa) {\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }" if (parenthesized_expression "(puVar9 < (undefined1 *)0xa)" ( (binary_expression "puVar9 < (undefined1 *)0xa" identifier < (cast_expression "(undefined1 *)0xa" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x0003250c */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();\n            return;\n          }" { comment comment (expression_statement "(*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))();" (call_expression "(*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))()" (parenthesized_expression "(*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)))" ( (pointer_expression "*(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954))" * (cast_expression "(code *)(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954))" ( (binary_expression "&_gp + *(int *)(puVar30 + (int)puVar9 * 4 + -0x954)" (pointer_expression "&_gp" & identifier) + (pointer_expression "*(int *)(puVar30 + (int)puVar9 * 4 + -0x954)" * (cast_expression "(int *)(puVar30 + (int)puVar9 * 4 + -0x954)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + (int)puVar9 * 4 + -0x954)" ( (binary_expression "puVar30 + (int)puVar9 * 4 + -0x954" (binary_expression "puVar30 + (int)puVar9 * 4" identifier + (binary_expression "(int)puVar9 * 4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (cVar2 != '!') break;" if (parenthesized_expression "(cVar2 != '!')" ( (binary_expression "cVar2 != '!'" identifier != (char_literal "'!'" ' character ')) )) (break_statement "break;" break ;)) (expression_statement "cVar2 = *pcVar28;" (assignment_expression "cVar2 = *pcVar28" identifier = (pointer_expression "*pcVar28" * identifier)) ;) (expression_statement "paVar18 = (attr_pair *)0x3;" (assignment_expression "paVar18 = (attr_pair *)0x3" identifier = (cast_expression "(attr_pair *)0x3" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (goto_statement "goto joined_r0x00032628;" goto statement_identifier ;) })) (if_statement "if (uVar15 == 0x2f) {\n        pcVar22 = pcVar8 + 2;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)pcVar8[2];\n        iStack_290 = 1;\n        b = pcVar22;\n      }\n      else {\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }" if (parenthesized_expression "(uVar15 == 0x2f)" ( (binary_expression "uVar15 == 0x2f" identifier == number_literal) )) (compound_statement "{\n        pcVar22 = pcVar8 + 2;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)pcVar8[2];\n        iStack_290 = 1;\n        b = pcVar22;\n      }" { (expression_statement "pcVar22 = pcVar8 + 2;" (assignment_expression "pcVar22 = pcVar8 + 2" identifier = (binary_expression "pcVar8 + 2" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= pcVar22) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= pcVar22)" ( (binary_expression "pcVar27 <= pcVar22" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar15 = (uint)pcVar8[2];" (assignment_expression "uVar15 = (uint)pcVar8[2]" identifier = (cast_expression "(uint)pcVar8[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pcVar8[2]" identifier [ number_literal ]))) ;) (expression_statement "iStack_290 = 1;" (assignment_expression "iStack_290 = 1" identifier = number_literal) ;) (expression_statement "b = pcVar22;" (assignment_expression "b = pcVar22" identifier = identifier) ;) }) (else_clause "else {\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }" else (compound_statement "{\n        iStack_290 = 0;\n        pcVar22 = pcVar28;\n        b = pcVar28;\n      }" { (expression_statement "iStack_290 = 0;" (assignment_expression "iStack_290 = 0" identifier = number_literal) ;) (expression_statement "pcVar22 = pcVar28;" (assignment_expression "pcVar22 = pcVar28" identifier = identifier) ;) (expression_statement "b = pcVar28;" (assignment_expression "b = pcVar28" identifier = identifier) ;) }))) (while_statement "while (text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        pcVar22 = pcVar22 + 1;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)*pcVar22;\n      }" while (parenthesized_expression "(text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e)" ( (comma_expression "text = b, pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e" (assignment_expression "text = b" identifier = identifier) , (comma_expression "pcVar26 = pcVar22, (uVar15 & 0xff) - 0x21 < 0x5e" (assignment_expression "pcVar26 = pcVar22" identifier = identifier) , (binary_expression "(uVar15 & 0xff) - 0x21 < 0x5e" (binary_expression "(uVar15 & 0xff) - 0x21" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) - number_literal) < number_literal))) )) (compound_statement "{\n        if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        pcVar22 = pcVar22 + 1;\n        if (pcVar27 <= pcVar22) goto LAB_0003242c;\n        uVar15 = (uint)*pcVar22;\n      }" { (if_statement "if (((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)) {\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }" if (parenthesized_expression "(((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f))" ( (binary_expression "((uVar15 & 0xff) - 0x3c < 3) || (uVar15 == 0x2f)" (parenthesized_expression "((uVar15 & 0xff) - 0x3c < 3)" ( (binary_expression "(uVar15 & 0xff) - 0x3c < 3" (binary_expression "(uVar15 & 0xff) - 0x3c" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) - number_literal) < number_literal) )) || (parenthesized_expression "(uVar15 == 0x2f)" ( (binary_expression "uVar15 == 0x2f" identifier == number_literal) ))) )) (compound_statement "{\n          if (b != pcVar22) goto LAB_00032384;\n          goto LAB_0003228c;\n        }" { (if_statement "if (b != pcVar22) goto LAB_00032384;" if (parenthesized_expression "(b != pcVar22)" ( (binary_expression "b != pcVar22" identifier != identifier) )) (goto_statement "goto LAB_00032384;" goto statement_identifier ;)) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) })) (expression_statement "pcVar22 = pcVar22 + 1;" (assignment_expression "pcVar22 = pcVar22 + 1" identifier = (binary_expression "pcVar22 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= pcVar22) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= pcVar22)" ( (binary_expression "pcVar27 <= pcVar22" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar15 = (uint)*pcVar22;" (assignment_expression "uVar15 = (uint)*pcVar22" identifier = (binary_expression "(uint)*pcVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) }) while (parenthesized_expression "(b == pcVar22)" ( (binary_expression "b == pcVar22" identifier == identifier) )) ;)) (expression_statement "paVar18 = (attr_pair *)0x1;" (assignment_expression "paVar18 = (attr_pair *)0x1" identifier = (cast_expression "(attr_pair *)0x1" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }" while (parenthesized_expression "((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0)))" ( (parenthesized_expression "(uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))" ( (binary_expression "uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0)" (binary_expression "uVar15 - 9 < 0x18" (binary_expression "uVar15 - 9" identifier - number_literal) < number_literal) && (parenthesized_expression "((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0)" ( (binary_expression "(1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0" (parenthesized_expression "(1 << (uVar15 - 9 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar15 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar15 - 9 & 0x1f)" number_literal << (parenthesized_expression "(uVar15 - 9 & 0x1f)" ( (binary_expression "uVar15 - 9 & 0x1f" (binary_expression "uVar15 - 9" identifier - number_literal) & number_literal) ))) & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }" { (expression_statement "pcVar26 = pcVar26 + 1;" (assignment_expression "pcVar26 = pcVar26 + 1" identifier = (binary_expression "pcVar26 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= pcVar26) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= pcVar26)" ( (binary_expression "pcVar27 <= pcVar26" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar15 = (uint)*pcVar26;" (assignment_expression "uVar15 = (uint)*pcVar26" identifier = (binary_expression "(uint)*pcVar26" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (labeled_statement "LAB_00032384:\n    if (iStack_290 == 0) {\n      ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (head == (tagstack_item *)0x0) {\n        ptVar24->next = (tagstack_item *)0x0;\n        ptVar24->prev = (tagstack_item *)0x0;\n        head = ptVar24;\n      }\n      else {\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->next = (tagstack_item *)0x0;\n      }\n      ptVar24->tagname_begin = b;\n      ptVar24->tagname_end = pcVar22;\n      ptVar24->contents_begin = (char *)0x0;\n      tail = ptVar24;\n    }\n    else {\n      text = pcVar28;\n      if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" statement_identifier : (if_statement "if (iStack_290 == 0) {\n      ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (head == (tagstack_item *)0x0) {\n        ptVar24->next = (tagstack_item *)0x0;\n        ptVar24->prev = (tagstack_item *)0x0;\n        head = ptVar24;\n      }\n      else {\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->next = (tagstack_item *)0x0;\n      }\n      ptVar24->tagname_begin = b;\n      ptVar24->tagname_end = pcVar22;\n      ptVar24->contents_begin = (char *)0x0;\n      tail = ptVar24;\n    }\n    else {\n      text = pcVar28;\n      if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" if (parenthesized_expression "(iStack_290 == 0)" ( (binary_expression "iStack_290 == 0" identifier == number_literal) )) (compound_statement "{\n      ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (head == (tagstack_item *)0x0) {\n        ptVar24->next = (tagstack_item *)0x0;\n        ptVar24->prev = (tagstack_item *)0x0;\n        head = ptVar24;\n      }\n      else {\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->next = (tagstack_item *)0x0;\n      }\n      ptVar24->tagname_begin = b;\n      ptVar24->tagname_end = pcVar22;\n      ptVar24->contents_begin = (char *)0x0;\n      tail = ptVar24;\n    }" { (expression_statement "ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14);" (assignment_expression "ptVar24 = (tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14)" identifier = (cast_expression "(tagstack_item *)(*(code *)PTR_xmalloc_000af5c4)(0x14)" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_000af5c4)(0x14)" (parenthesized_expression "(*(code *)PTR_xmalloc_000af5c4)" ( (pointer_expression "*(code *)PTR_xmalloc_000af5c4" * (cast_expression "(code *)PTR_xmalloc_000af5c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x14)" ( number_literal ))))) ;) (if_statement "if (head == (tagstack_item *)0x0) {\n        ptVar24->next = (tagstack_item *)0x0;\n        ptVar24->prev = (tagstack_item *)0x0;\n        head = ptVar24;\n      }\n      else {\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->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        ptVar24->next = (tagstack_item *)0x0;\n        ptVar24->prev = (tagstack_item *)0x0;\n        head = ptVar24;\n      }" { (expression_statement "ptVar24->next = (tagstack_item *)0x0;" (assignment_expression "ptVar24->next = (tagstack_item *)0x0" (field_expression "ptVar24->next" identifier -> field_identifier) = (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ptVar24->prev = (tagstack_item *)0x0;" (assignment_expression "ptVar24->prev = (tagstack_item *)0x0" (field_expression "ptVar24->prev" identifier -> field_identifier) = (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "head = ptVar24;" (assignment_expression "head = ptVar24" identifier = identifier) ;) }) (else_clause "else {\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->next = (tagstack_item *)0x0;\n      }" else (compound_statement "{\n        tail->next = ptVar24;\n        ptVar24->prev = tail;\n        ptVar24->next = (tagstack_item *)0x0;\n      }" { (expression_statement "tail->next = ptVar24;" (assignment_expression "tail->next = ptVar24" (field_expression "tail->next" identifier -> field_identifier) = identifier) ;) (expression_statement "ptVar24->prev = tail;" (assignment_expression "ptVar24->prev = tail" (field_expression "ptVar24->prev" identifier -> field_identifier) = identifier) ;) (expression_statement "ptVar24->next = (tagstack_item *)0x0;" (assignment_expression "ptVar24->next = (tagstack_item *)0x0" (field_expression "ptVar24->next" identifier -> field_identifier) = (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "ptVar24->tagname_begin = b;" (assignment_expression "ptVar24->tagname_begin = b" (field_expression "ptVar24->tagname_begin" identifier -> field_identifier) = identifier) ;) (expression_statement "ptVar24->tagname_end = pcVar22;" (assignment_expression "ptVar24->tagname_end = pcVar22" (field_expression "ptVar24->tagname_end" identifier -> field_identifier) = identifier) ;) (expression_statement "ptVar24->contents_begin = (char *)0x0;" (assignment_expression "ptVar24->contents_begin = (char *)0x0" (field_expression "ptVar24->contents_begin" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "tail = ptVar24;" (assignment_expression "tail = ptVar24" identifier = identifier) ;) }) (else_clause "else {\n      text = pcVar28;\n      if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" else (compound_statement "{\n      text = pcVar28;\n      if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" { (expression_statement "text = pcVar28;" (assignment_expression "text = pcVar28" identifier = identifier) ;) (if_statement "if ((uVar15 & 0xfffffffd) != 0x3c) goto LAB_0003228c;" if (parenthesized_expression "((uVar15 & 0xfffffffd) != 0x3c)" ( (binary_expression "(uVar15 & 0xfffffffd) != 0x3c" (parenthesized_expression "(uVar15 & 0xfffffffd)" ( (binary_expression "uVar15 & 0xfffffffd" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) })))) (expression_statement "pcVar29 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);" (assignment_expression "pcVar29 = (code *)(PTR_LAB_000af7c0 + 0x1ff8)" identifier = (cast_expression "(code *)(PTR_LAB_000af7c0 + 0x1ff8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000af7c0 + 0x1ff8)" ( (binary_expression "PTR_LAB_000af7c0 + 0x1ff8" identifier + number_literal) )))) ;) (expression_statement "_Var14 = name_allowed(allowed_tags,b,pcVar22);" (assignment_expression "_Var14 = name_allowed(allowed_tags,b,pcVar22)" identifier = (call_expression "name_allowed(allowed_tags,b,pcVar22)" identifier (argument_list "(allowed_tags,b,pcVar22)" ( identifier , identifier , identifier )))) ;) (expression_statement "bVar1 = CONCAT31(extraout_var,_Var14) != 0;" (assignment_expression "bVar1 = CONCAT31(extraout_var,_Var14) != 0" identifier = (binary_expression "CONCAT31(extraout_var,_Var14) != 0" (call_expression "CONCAT31(extraout_var,_Var14)" identifier (argument_list "(extraout_var,_Var14)" ( identifier , identifier ))) != number_literal)) ;) (if_statement "if (bVar1) {\n      paVar18 = (attr_pair *)0x1;\n      convert_and_copy(&pool,b,pcVar22,1);\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      paVar18 = (attr_pair *)0x1;\n      convert_and_copy(&pool,b,pcVar22,1);\n    }" { (expression_statement "paVar18 = (attr_pair *)0x1;" (assignment_expression "paVar18 = (attr_pair *)0x1" identifier = (cast_expression "(attr_pair *)0x1" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "convert_and_copy(&pool,b,pcVar22,1);" (call_expression "convert_and_copy(&pool,b,pcVar22,1)" identifier (argument_list "(&pool,b,pcVar22,1)" ( (pointer_expression "&pool" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000323f8:\n    while( true ) {\n      beg = pcVar26;\n      uVar15 = (uint)*beg;\n      if ((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      pcVar26 = beg + 1;\n      if (pcVar27 <= beg + 1) goto LAB_0003242c;\n    }" statement_identifier : (while_statement "while( true ) {\n      beg = pcVar26;\n      uVar15 = (uint)*beg;\n      if ((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      pcVar26 = beg + 1;\n      if (pcVar27 <= beg + 1) goto LAB_0003242c;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      beg = pcVar26;\n      uVar15 = (uint)*beg;\n      if ((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      pcVar26 = beg + 1;\n      if (pcVar27 <= beg + 1) goto LAB_0003242c;\n    }" { (expression_statement "beg = pcVar26;" (assignment_expression "beg = pcVar26" identifier = identifier) ;) (expression_statement "uVar15 = (uint)*beg;" (assignment_expression "uVar15 = (uint)*beg" identifier = (binary_expression "(uint)*beg" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)) break;" if (parenthesized_expression "((0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "(0x17 < uVar15 - 9) || ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar15 - 9)" ( (binary_expression "0x17 < uVar15 - 9" number_literal < (binary_expression "uVar15 - 9" identifier - number_literal)) )) || (parenthesized_expression "((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar15 - 9 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar15 - 9 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar15 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar15 - 9 & 0x1f)" number_literal << (parenthesized_expression "(uVar15 - 9 & 0x1f)" ( (binary_expression "uVar15 - 9 & 0x1f" (binary_expression "uVar15 - 9" identifier - number_literal) & number_literal) ))) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "pcVar26 = beg + 1;" (assignment_expression "pcVar26 = beg + 1" identifier = (binary_expression "beg + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= beg + 1) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= beg + 1)" ( (binary_expression "pcVar27 <= beg + 1" identifier <= (binary_expression "beg + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) }))) (if_statement "if (uVar15 == 0x2f) {\n      beg = beg + 1;\n      if (pcVar27 <= beg) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      goto LAB_000328e4;\n    }" if (parenthesized_expression "(uVar15 == 0x2f)" ( (binary_expression "uVar15 == 0x2f" identifier == number_literal) )) (compound_statement "{\n      beg = beg + 1;\n      if (pcVar27 <= beg) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      goto LAB_000328e4;\n    }" { (expression_statement "beg = beg + 1;" (assignment_expression "beg = beg + 1" identifier = (binary_expression "beg + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= beg) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= beg)" ( (binary_expression "pcVar27 <= beg" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "paVar18 = (attr_pair *)0x1;" (assignment_expression "paVar18 = (attr_pair *)0x1" identifier = (cast_expression "(attr_pair *)0x1" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000328e4;" goto statement_identifier ;) })) (expression_statement "end = beg;" (assignment_expression "end = beg" identifier = identifier) ;) (if_statement "if ((uVar15 & 0xfffffffd) == 0x3c) goto LAB_0003292c;" if (parenthesized_expression "((uVar15 & 0xfffffffd) == 0x3c)" ( (binary_expression "(uVar15 & 0xfffffffd) == 0x3c" (parenthesized_expression "(uVar15 & 0xfffffffd)" ( (binary_expression "uVar15 & 0xfffffffd" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0003292c;" goto statement_identifier ;)) (while_statement "while (pcVar23 = beg, pcVar26 = end, pcStack_25c = beg, pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar15 & 0xff) - 0x3c < 3) {\n        text = pcVar28;\n        if (beg != end) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar15 == 0x2f) {\n        text = pcVar28;\n        if (beg == end) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x1;\n        text = end;\n        goto LAB_00032994;\n      }\n      end = end + 1;\n      if (pcVar27 <= end) goto LAB_0003242c;\n      uVar15 = (uint)*end;\n    }" while (parenthesized_expression "(pcVar23 = beg, pcVar26 = end, pcStack_25c = beg, pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e)" ( (comma_expression "pcVar23 = beg, pcVar26 = end, pcStack_25c = beg, pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e" (assignment_expression "pcVar23 = beg" identifier = identifier) , (comma_expression "pcVar26 = end, pcStack_25c = beg, pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e" (assignment_expression "pcVar26 = end" identifier = identifier) , (comma_expression "pcStack_25c = beg, pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e" (assignment_expression "pcStack_25c = beg" identifier = identifier) , (comma_expression "pcStack_254 = end,\n          (uVar15 & 0xff) - 0x21 < 0x5e" (assignment_expression "pcStack_254 = end" identifier = identifier) , (binary_expression "(uVar15 & 0xff) - 0x21 < 0x5e" (binary_expression "(uVar15 & 0xff) - 0x21" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) - number_literal) < number_literal))))) )) (compound_statement "{\n      if ((uVar15 & 0xff) - 0x3c < 3) {\n        text = pcVar28;\n        if (beg != end) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar15 == 0x2f) {\n        text = pcVar28;\n        if (beg == end) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x1;\n        text = end;\n        goto LAB_00032994;\n      }\n      end = end + 1;\n      if (pcVar27 <= end) goto LAB_0003242c;\n      uVar15 = (uint)*end;\n    }" { (if_statement "if ((uVar15 & 0xff) - 0x3c < 3) {\n        text = pcVar28;\n        if (beg != end) goto LAB_00032818;\n        goto LAB_0003228c;\n      }" if (parenthesized_expression "((uVar15 & 0xff) - 0x3c < 3)" ( (binary_expression "(uVar15 & 0xff) - 0x3c < 3" (binary_expression "(uVar15 & 0xff) - 0x3c" (parenthesized_expression "(uVar15 & 0xff)" ( (binary_expression "uVar15 & 0xff" identifier & number_literal) )) - number_literal) < number_literal) )) (compound_statement "{\n        text = pcVar28;\n        if (beg != end) goto LAB_00032818;\n        goto LAB_0003228c;\n      }" { (expression_statement "text = pcVar28;" (assignment_expression "text = pcVar28" identifier = identifier) ;) (if_statement "if (beg != end) goto LAB_00032818;" if (parenthesized_expression "(beg != end)" ( (binary_expression "beg != end" identifier != identifier) )) (goto_statement "goto LAB_00032818;" goto statement_identifier ;)) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) })) (if_statement "if (uVar15 == 0x2f) {\n        text = pcVar28;\n        if (beg == end) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x1;\n        text = end;\n        goto LAB_00032994;\n      }" if (parenthesized_expression "(uVar15 == 0x2f)" ( (binary_expression "uVar15 == 0x2f" identifier == number_literal) )) (compound_statement "{\n        text = pcVar28;\n        if (beg == end) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x1;\n        text = end;\n        goto LAB_00032994;\n      }" { (expression_statement "text = pcVar28;" (assignment_expression "text = pcVar28" identifier = identifier) ;) (if_statement "if (beg == end) goto LAB_0003228c;" if (parenthesized_expression "(beg == end)" ( (binary_expression "beg == end" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (expression_statement "paStack_250 = (attr_pair *)0x1;" (assignment_expression "paStack_250 = (attr_pair *)0x1" identifier = (cast_expression "(attr_pair *)0x1" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "text = end;" (assignment_expression "text = end" identifier = identifier) ;) (goto_statement "goto LAB_00032994;" goto statement_identifier ;) })) (expression_statement "end = end + 1;" (assignment_expression "end = end + 1" identifier = (binary_expression "end + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= end) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= end)" ( (binary_expression "pcVar27 <= end" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar15 = (uint)*end;" (assignment_expression "uVar15 = (uint)*end" identifier = (binary_expression "(uint)*end" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (expression_statement "text = pcVar28;" (assignment_expression "text = pcVar28" identifier = identifier) ;) (if_statement "if (beg == end) goto LAB_0003228c;" if (parenthesized_expression "(beg == end)" ( (binary_expression "beg == end" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (expression_statement "paVar18 = (attr_pair *)0x1;" (assignment_expression "paVar18 = (attr_pair *)0x1" identifier = (cast_expression "(attr_pair *)0x1" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while ((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }" while (parenthesized_expression "((uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0)))" ( (parenthesized_expression "(uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0))" ( (binary_expression "uVar15 - 9 < 0x18 && ((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0)" (binary_expression "uVar15 - 9 < 0x18" (binary_expression "uVar15 - 9" identifier - number_literal) < number_literal) && (parenthesized_expression "((1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0)" ( (binary_expression "(1 << (uVar15 - 9 & 0x1f) & 0x80001fU) != 0" (parenthesized_expression "(1 << (uVar15 - 9 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar15 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar15 - 9 & 0x1f)" number_literal << (parenthesized_expression "(uVar15 - 9 & 0x1f)" ( (binary_expression "uVar15 - 9 & 0x1f" (binary_expression "uVar15 - 9" identifier - number_literal) & number_literal) ))) & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n      pcVar26 = pcVar26 + 1;\n      if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      uVar15 = (uint)*pcVar26;\n    }" { (expression_statement "pcVar26 = pcVar26 + 1;" (assignment_expression "pcVar26 = pcVar26 + 1" identifier = (binary_expression "pcVar26 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= pcVar26) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= pcVar26)" ( (binary_expression "pcVar27 <= pcVar26" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar15 = (uint)*pcVar26;" (assignment_expression "uVar15 = (uint)*pcVar26" identifier = (binary_expression "(uint)*pcVar26" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (if_statement "if ((uVar15 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar15 == 0x3d) goto LAB_00032828;\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else if ((uVar15 & 0xfffffffd) == 0x3c) {\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else {\n      if (uVar15 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      pcVar23 = pcVar26 + 1;\n      if (pcVar27 <= pcVar23) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }\n      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }\n    }" if (parenthesized_expression "((uVar15 - 0x21 & 0xff) < 0x5e)" ( (binary_expression "(uVar15 - 0x21 & 0xff) < 0x5e" (parenthesized_expression "(uVar15 - 0x21 & 0xff)" ( (binary_expression "uVar15 - 0x21 & 0xff" (binary_expression "uVar15 - 0x21" identifier - number_literal) & number_literal) )) < number_literal) )) (compound_statement "{\nLAB_00032818:\n      if (uVar15 == 0x3d) goto LAB_00032828;\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }" { (labeled_statement "LAB_00032818:\n      if (uVar15 == 0x3d) goto LAB_00032828;" statement_identifier : (if_statement "if (uVar15 == 0x3d) goto LAB_00032828;" if (parenthesized_expression "(uVar15 == 0x3d)" ( (binary_expression "uVar15 == 0x3d" identifier == number_literal) )) (goto_statement "goto LAB_00032828;" goto statement_identifier ;))) (expression_statement "paStack_250 = (attr_pair *)0x1;" (assignment_expression "paStack_250 = (attr_pair *)0x1" identifier = (cast_expression "(attr_pair *)0x1" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "text = end;" (assignment_expression "text = end" identifier = identifier) ;) }) (else_clause "else if ((uVar15 & 0xfffffffd) == 0x3c) {\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else {\n      if (uVar15 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      pcVar23 = pcVar26 + 1;\n      if (pcVar27 <= pcVar23) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }\n      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }\n    }" else (if_statement "if ((uVar15 & 0xfffffffd) == 0x3c) {\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }\n    else {\n      if (uVar15 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      pcVar23 = pcVar26 + 1;\n      if (pcVar27 <= pcVar23) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }\n      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }\n    }" if (parenthesized_expression "((uVar15 & 0xfffffffd) == 0x3c)" ( (binary_expression "(uVar15 & 0xfffffffd) == 0x3c" (parenthesized_expression "(uVar15 & 0xfffffffd)" ( (binary_expression "uVar15 & 0xfffffffd" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      paStack_250 = (attr_pair *)0x1;\n      text = end;\n    }" { (expression_statement "paStack_250 = (attr_pair *)0x1;" (assignment_expression "paStack_250 = (attr_pair *)0x1" identifier = (cast_expression "(attr_pair *)0x1" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "text = end;" (assignment_expression "text = end" identifier = identifier) ;) }) (else_clause "else {\n      if (uVar15 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      pcVar23 = pcVar26 + 1;\n      if (pcVar27 <= pcVar23) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }\n      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }\n    }" else (compound_statement "{\n      if (uVar15 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      pcVar23 = pcVar26 + 1;\n      if (pcVar27 <= pcVar23) goto LAB_0003242c;\n      paVar18 = (attr_pair *)0x1;\n      while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }\n      if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }\n    }" { (if_statement "if (uVar15 != 0x3d) goto LAB_0003228c;" if (parenthesized_expression "(uVar15 != 0x3d)" ( (binary_expression "uVar15 != 0x3d" identifier != number_literal) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (labeled_statement "LAB_00032828:\n      pcVar23 = pcVar26 + 1;" statement_identifier : (expression_statement "pcVar23 = pcVar26 + 1;" (assignment_expression "pcVar23 = pcVar26 + 1" identifier = (binary_expression "pcVar26 + 1" identifier + number_literal)) ;)) (if_statement "if (pcVar27 <= pcVar23) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= pcVar23)" ( (binary_expression "pcVar27 <= pcVar23" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "paVar18 = (attr_pair *)0x1;" (assignment_expression "paVar18 = (attr_pair *)0x1" identifier = (cast_expression "(attr_pair *)0x1" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar17 = (uint)*pcVar23;\n        uVar15 = uVar17 - 9;\n        if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;\n        pcVar23 = pcVar23 + 1;\n        if (pcVar27 == pcVar23) goto LAB_0003242c;\n      }" { (expression_statement "uVar17 = (uint)*pcVar23;" (assignment_expression "uVar17 = (uint)*pcVar23" identifier = (binary_expression "(uint)*pcVar23" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar15 = uVar17 - 9;" (assignment_expression "uVar15 = uVar17 - 9" identifier = (binary_expression "uVar17 - 9" identifier - number_literal)) ;) (if_statement "if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) break;" if (parenthesized_expression "((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "(0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar15)" ( (binary_expression "0x17 < uVar15" number_literal < identifier) )) || (parenthesized_expression "((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar15 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar15 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar15 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar15 & 0x1f)" number_literal << (parenthesized_expression "(uVar15 & 0x1f)" ( (binary_expression "uVar15 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "pcVar23 = pcVar23 + 1;" (assignment_expression "pcVar23 = pcVar23 + 1" identifier = (binary_expression "pcVar23 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 == pcVar23) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 == pcVar23)" ( (binary_expression "pcVar27 == pcVar23" identifier == identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) })) (if_statement "if ((uVar17 == 0x22) || (uVar17 == 0x27)) {\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }\n      else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }" if (parenthesized_expression "((uVar17 == 0x22) || (uVar17 == 0x27))" ( (binary_expression "(uVar17 == 0x22) || (uVar17 == 0x27)" (parenthesized_expression "(uVar17 == 0x22)" ( (binary_expression "uVar17 == 0x22" identifier == number_literal) )) || (parenthesized_expression "(uVar17 == 0x27)" ( (binary_expression "uVar17 == 0x27" identifier == number_literal) ))) )) (compound_statement "{\n        pcStack_25c = pcVar23 + 1;\n        if (pcVar27 <= pcStack_25c) goto LAB_0003242c;\n        bVar3 = false;\n        paVar18 = (attr_pair *)0x3c;\n        text = pcStack_25c;\n        while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }\n        pcVar26 = text + 1;\n        pcStack_254 = pcVar26;\n        paStack_250 = paVar6;\n        if (pcVar27 <= pcVar26) goto LAB_0003242c;\n      }" { (expression_statement "pcStack_25c = pcVar23 + 1;" (assignment_expression "pcStack_25c = pcVar23 + 1" identifier = (binary_expression "pcVar23 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= pcStack_25c) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= pcStack_25c)" ( (binary_expression "pcVar27 <= pcStack_25c" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "paVar18 = (attr_pair *)0x3c;" (assignment_expression "paVar18 = (attr_pair *)0x3c" identifier = (cast_expression "(attr_pair *)0x3c" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "text = pcStack_25c;" (assignment_expression "text = pcStack_25c" identifier = identifier) ;) (while_statement "while (uVar15 = (uint)*text, uVar17 != uVar15) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }" while (parenthesized_expression "(uVar15 = (uint)*text, uVar17 != uVar15)" ( (comma_expression "uVar15 = (uint)*text, uVar17 != uVar15" (assignment_expression "uVar15 = (uint)*text" identifier = (binary_expression "(uint)*text" (parenthesized_expression "(uint)" ( identifier )) * identifier)) , (binary_expression "uVar17 != uVar15" identifier != identifier)) )) (compound_statement "{\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }\n          text = text + 1;\n          if (pcVar27 <= text) goto LAB_0003242c;\n        }" { (if_statement "if (bVar3) {\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\nLAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }" { (labeled_statement "LAB_00032c8c:\n            if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }" statement_identifier : (if_statement "if ((uVar15 == 0x3c) || (uVar15 == 0x3e)) {\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }" if (parenthesized_expression "((uVar15 == 0x3c) || (uVar15 == 0x3e))" ( (binary_expression "(uVar15 == 0x3c) || (uVar15 == 0x3e)" (parenthesized_expression "(uVar15 == 0x3c)" ( (binary_expression "uVar15 == 0x3c" identifier == number_literal) )) || (parenthesized_expression "(uVar15 == 0x3e)" ( (binary_expression "uVar15 == 0x3e" identifier == number_literal) ))) )) (compound_statement "{\n              if (uVar17 != uVar15) goto LAB_0003228c;\n              break;\n            }" { (if_statement "if (uVar17 != uVar15) goto LAB_0003228c;" if (parenthesized_expression "(uVar17 != uVar15)" ( (binary_expression "uVar17 != uVar15" identifier != identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (break_statement "break;" break ;) }))) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) }) (else_clause "else if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }" else (if_statement "if (uVar15 == 10) {\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }" if (parenthesized_expression "(uVar15 == 10)" ( (binary_expression "uVar15 == 10" identifier == number_literal) )) (compound_statement "{\n            uVar15 = (uint)pcVar23[1];\n            text = pcStack_25c;\n            if (uVar15 != uVar17) goto LAB_00032c8c;\n            break;\n          }" { (expression_statement "uVar15 = (uint)pcVar23[1];" (assignment_expression "uVar15 = (uint)pcVar23[1]" identifier = (cast_expression "(uint)pcVar23[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pcVar23[1]" identifier [ number_literal ]))) ;) (expression_statement "text = pcStack_25c;" (assignment_expression "text = pcStack_25c" identifier = identifier) ;) (if_statement "if (uVar15 != uVar17) goto LAB_00032c8c;" if (parenthesized_expression "(uVar15 != uVar17)" ( (binary_expression "uVar15 != uVar17" identifier != identifier) )) (goto_statement "goto LAB_00032c8c;" goto statement_identifier ;)) (break_statement "break;" break ;) })))) (expression_statement "text = text + 1;" (assignment_expression "text = text + 1" identifier = (binary_expression "text + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= text) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= text)" ( (binary_expression "pcVar27 <= text" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) })) (expression_statement "pcVar26 = text + 1;" (assignment_expression "pcVar26 = text + 1" identifier = (binary_expression "text + 1" identifier + number_literal)) ;) (expression_statement "pcStack_254 = pcVar26;" (assignment_expression "pcStack_254 = pcVar26" identifier = identifier) ;) (expression_statement "paStack_250 = paVar6;" (assignment_expression "paStack_250 = paVar6" identifier = identifier) ;) (if_statement "if (pcVar27 <= pcVar26) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= pcVar26)" ( (binary_expression "pcVar27 <= pcVar26" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) }) (else_clause "else {\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }" else (compound_statement "{\n        paVar18 = (attr_pair *)0x3c;\n        pcVar26 = pcVar23;\n        while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }\n        text = pcVar28;\n        if (pcVar23 == pcVar26) goto LAB_0003228c;\n        paStack_250 = (attr_pair *)0x2;\n        text = pcVar26;\n        pcStack_25c = pcVar23;\n        pcStack_254 = pcVar26;\n      }" { (expression_statement "paVar18 = (attr_pair *)0x3c;" (assignment_expression "paVar18 = (attr_pair *)0x3c" identifier = (cast_expression "(attr_pair *)0x3c" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar26 = pcVar23;" (assignment_expression "pcVar26 = pcVar23" identifier = identifier) ;) (while_statement "while (((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))) {\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }" while (parenthesized_expression "(((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c)))" ( (parenthesized_expression "((0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c))" ( (binary_expression "(0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar17 & 0xfffffffd) != 0x3c)" (parenthesized_expression "(0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "0x17 < uVar15 || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)" (binary_expression "0x17 < uVar15" number_literal < identifier) || (parenthesized_expression "((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar15 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar15 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar15 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar15 & 0x1f)" number_literal << (parenthesized_expression "(uVar15 & 0x1f)" ( (binary_expression "uVar15 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((uVar17 & 0xfffffffd) != 0x3c)" ( (binary_expression "(uVar17 & 0xfffffffd) != 0x3c" (parenthesized_expression "(uVar17 & 0xfffffffd)" ( (binary_expression "uVar17 & 0xfffffffd" identifier & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n          pcVar26 = pcVar26 + 1;\n          if (pcVar27 <= pcVar26) goto LAB_0003242c;\n          uVar17 = (uint)*pcVar26;\n          uVar15 = uVar17 - 9;\n        }" { (expression_statement "pcVar26 = pcVar26 + 1;" (assignment_expression "pcVar26 = pcVar26 + 1" identifier = (binary_expression "pcVar26 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 <= pcVar26) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= pcVar26)" ( (binary_expression "pcVar27 <= pcVar26" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar17 = (uint)*pcVar26;" (assignment_expression "uVar17 = (uint)*pcVar26" identifier = (binary_expression "(uint)*pcVar26" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar15 = uVar17 - 9;" (assignment_expression "uVar15 = uVar17 - 9" identifier = (binary_expression "uVar17 - 9" identifier - number_literal)) ;) })) (expression_statement "text = pcVar28;" (assignment_expression "text = pcVar28" identifier = identifier) ;) (if_statement "if (pcVar23 == pcVar26) goto LAB_0003228c;" if (parenthesized_expression "(pcVar23 == pcVar26)" ( (binary_expression "pcVar23 == pcVar26" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (expression_statement "paStack_250 = (attr_pair *)0x2;" (assignment_expression "paStack_250 = (attr_pair *)0x2" identifier = (cast_expression "(attr_pair *)0x2" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "text = pcVar26;" (assignment_expression "text = pcVar26" identifier = identifier) ;) (expression_statement "pcStack_25c = pcVar23;" (assignment_expression "pcStack_25c = pcVar23" identifier = identifier) ;) (expression_statement "pcStack_254 = pcVar26;" (assignment_expression "pcStack_254 = pcVar26" identifier = identifier) ;) }))) }))))) (labeled_statement "LAB_00032994:\n    if ((bVar1) &&\n       (paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0))\n    {\n      iVar21 = iVar13 + 1;\n      iVar19 = iStack_27c;\n      if (iStack_27c < iVar21) {\n        do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);\n        if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }\n      }\n      paStack_280[iVar13].name_pool_index = pool.tail;\n      convert_and_copy(&pool,beg,end,1);\n      paStack_280[iVar13].value_pool_index = pool.tail;\n      convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250);\n      paStack_280[iVar13].value_raw_beginning = pcVar23;\n      paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23;\n      iStack_27c = iVar19;\n      iVar13 = iVar21;\n      paVar18 = paStack_250;\n    }" statement_identifier : (if_statement "if ((bVar1) &&\n       (paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0))\n    {\n      iVar21 = iVar13 + 1;\n      iVar19 = iStack_27c;\n      if (iStack_27c < iVar21) {\n        do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);\n        if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }\n      }\n      paStack_280[iVar13].name_pool_index = pool.tail;\n      convert_and_copy(&pool,beg,end,1);\n      paStack_280[iVar13].value_pool_index = pool.tail;\n      convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250);\n      paStack_280[iVar13].value_raw_beginning = pcVar23;\n      paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23;\n      iStack_27c = iVar19;\n      iVar13 = iVar21;\n      paVar18 = paStack_250;\n    }" if (parenthesized_expression "((bVar1) &&\n       (paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0))" ( (binary_expression "(bVar1) &&\n       (paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0)" (parenthesized_expression "(bVar1)" ( identifier )) && (parenthesized_expression "(paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0)" ( (comma_expression "paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end), paVar18 != (attr_pair *)0x0" (assignment_expression "paVar18 = (attr_pair *)(*pcVar29)(allowed_attributes,beg,end)" identifier = (cast_expression "(attr_pair *)(*pcVar29)(allowed_attributes,beg,end)" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar29)(allowed_attributes,beg,end)" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "(allowed_attributes,beg,end)" ( identifier , identifier , identifier ))))) , (binary_expression "paVar18 != (attr_pair *)0x0" identifier != (cast_expression "(attr_pair *)0x0" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      iVar21 = iVar13 + 1;\n      iVar19 = iStack_27c;\n      if (iStack_27c < iVar21) {\n        do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);\n        if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }\n      }\n      paStack_280[iVar13].name_pool_index = pool.tail;\n      convert_and_copy(&pool,beg,end,1);\n      paStack_280[iVar13].value_pool_index = pool.tail;\n      convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250);\n      paStack_280[iVar13].value_raw_beginning = pcVar23;\n      paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23;\n      iStack_27c = iVar19;\n      iVar13 = iVar21;\n      paVar18 = paStack_250;\n    }" { (expression_statement "iVar21 = iVar13 + 1;" (assignment_expression "iVar21 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar19 = iStack_27c;" (assignment_expression "iVar19 = iStack_27c" identifier = identifier) ;) (if_statement "if (iStack_27c < iVar21) {\n        do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);\n        if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }\n      }" if (parenthesized_expression "(iStack_27c < iVar21)" ( (binary_expression "iStack_27c < iVar21" identifier < identifier) )) (compound_statement "{\n        do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);\n        if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }\n      }" { (do_statement "do {\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        } while (iVar19 < iVar21);" do (compound_statement "{\n          iVar20 = iVar19;\n          iVar19 = iVar20 * 2;\n        }" { (expression_statement "iVar20 = iVar19;" (assignment_expression "iVar20 = iVar19" identifier = identifier) ;) (expression_statement "iVar19 = iVar20 * 2;" (assignment_expression "iVar19 = iVar20 * 2" identifier = (binary_expression "iVar20 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "(iVar19 < iVar21)" ( (binary_expression "iVar19 < iVar21" identifier < identifier) )) ;) (if_statement "if (iStack_27c != iVar19) {\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }" if (parenthesized_expression "(iStack_27c != iVar19)" ( (binary_expression "iStack_27c != iVar19" identifier != identifier) )) (compound_statement "{\n          if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }\n        }" { (if_statement "if (paStack_28c == (attr_pair *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }\n          else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }" if (parenthesized_expression "(paStack_28c == (attr_pair *)0x0)" ( (binary_expression "paStack_28c == (attr_pair *)0x0" identifier == (cast_expression "(attr_pair *)0x0" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);\n            paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);\n            paStack_28c = paVar18;\n          }" { (expression_statement "uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30)" identifier = (call_expression "(*(code *)PTR_xmalloc_000af5c4)(iVar20 * 0x30)" (parenthesized_expression "(*(code *)PTR_xmalloc_000af5c4)" ( (pointer_expression "*(code *)PTR_xmalloc_000af5c4" * (cast_expression "(code *)PTR_xmalloc_000af5c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20 * 0x30)" ( (binary_expression "iVar20 * 0x30" identifier * number_literal) )))) ;) (expression_statement "paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18);" (assignment_expression "paStack_280 = (attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18)" identifier = (cast_expression "(attr_pair *)\n                          (*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18)" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_000afc70)(uVar10,paStack_280,iStack_27c * 0x18)" (parenthesized_expression "(*(code *)PTR_memcpy_000afc70)" ( (pointer_expression "*(code *)PTR_memcpy_000afc70" * (cast_expression "(code *)PTR_memcpy_000afc70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,paStack_280,iStack_27c * 0x18)" ( identifier , identifier , (binary_expression "iStack_27c * 0x18" identifier * number_literal) ))))) ;) (expression_statement "paStack_28c = paVar18;" (assignment_expression "paStack_28c = paVar18" identifier = identifier) ;) }) (else_clause "else {\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }" else (compound_statement "{\n            paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);\n          }" { (expression_statement "paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280);" (assignment_expression "paStack_280 = (attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280)" identifier = (cast_expression "(attr_pair *)(*(code *)PTR_xrealloc_000af818)(paStack_280)" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xrealloc_000af818)(paStack_280)" (parenthesized_expression "(*(code *)PTR_xrealloc_000af818)" ( (pointer_expression "*(code *)PTR_xrealloc_000af818" * (cast_expression "(code *)PTR_xrealloc_000af818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(paStack_280)" ( identifier ))))) ;) }))) })) })) (expression_statement "paStack_280[iVar13].name_pool_index = pool.tail;" (assignment_expression "paStack_280[iVar13].name_pool_index = pool.tail" (field_expression "paStack_280[iVar13].name_pool_index" (subscript_expression "paStack_280[iVar13]" identifier [ identifier ]) . field_identifier) = (field_expression "pool.tail" identifier . field_identifier)) ;) (expression_statement "convert_and_copy(&pool,beg,end,1);" (call_expression "convert_and_copy(&pool,beg,end,1)" identifier (argument_list "(&pool,beg,end,1)" ( (pointer_expression "&pool" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "paStack_280[iVar13].value_pool_index = pool.tail;" (assignment_expression "paStack_280[iVar13].value_pool_index = pool.tail" (field_expression "paStack_280[iVar13].value_pool_index" (subscript_expression "paStack_280[iVar13]" identifier [ identifier ]) . field_identifier) = (field_expression "pool.tail" identifier . field_identifier)) ;) (expression_statement "convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250);" (call_expression "convert_and_copy(&pool,pcStack_25c,text,(int)paStack_250)" identifier (argument_list "(&pool,pcStack_25c,text,(int)paStack_250)" ( (pointer_expression "&pool" & identifier) , identifier , identifier , (cast_expression "(int)paStack_250" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "paStack_280[iVar13].value_raw_beginning = pcVar23;" (assignment_expression "paStack_280[iVar13].value_raw_beginning = pcVar23" (field_expression "paStack_280[iVar13].value_raw_beginning" (subscript_expression "paStack_280[iVar13]" identifier [ identifier ]) . field_identifier) = identifier) ;) (expression_statement "paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23;" (assignment_expression "paStack_280[iVar13].value_raw_size = (int)pcStack_254 - (int)pcVar23" (field_expression "paStack_280[iVar13].value_raw_size" (subscript_expression "paStack_280[iVar13]" identifier [ identifier ]) . field_identifier) = (binary_expression "(int)pcStack_254 - (int)pcVar23" (cast_expression "(int)pcStack_254" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar23" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iStack_27c = iVar19;" (assignment_expression "iStack_27c = iVar19" identifier = identifier) ;) (expression_statement "iVar13 = iVar21;" (assignment_expression "iVar13 = iVar21" identifier = identifier) ;) (expression_statement "paVar18 = paStack_250;" (assignment_expression "paVar18 = paStack_250" identifier = identifier) ;) }))) (goto_statement "goto LAB_000323f8;" goto statement_identifier ;) })) (labeled_statement "LAB_0003246c:\n  if (iVar5 == *(int *)puVar4) {\n    return;\n  }" statement_identifier : (if_statement "if (iVar5 == *(int *)puVar4) {\n    return;\n  }" if (parenthesized_expression "(iVar5 == *(int *)puVar4)" ( (binary_expression "iVar5 == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "puVar30 = PTR___stack_chk_fail_000afbd4;" (assignment_expression "puVar30 = PTR___stack_chk_fail_000afbd4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000afbd4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000afbd4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000afbd4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000afbd4" * (cast_expression "(code *)PTR___stack_chk_fail_000afbd4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (0 < (int)pptVar16) {\n    pptVar25 = (tagstack_item **)0x0;\n    ptVar24 = *(tagstack_item **)size;\n    do {\n      iVar5 = (**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun);\n      if (iVar5 == 0) {\n        if ((attr_pair *)maparg != (attr_pair *)0x0) {\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }\n        return;\n      }\n      pptVar25 = (tagstack_item **)((int)pptVar25 + 1);\n      ptVar24 = (tagstack_item *)&ptVar24[1].tagname_end;\n    } while (pptVar25 != pptVar16);\n    return;\n  }" if (parenthesized_expression "(0 < (int)pptVar16)" ( (binary_expression "0 < (int)pptVar16" number_literal < (cast_expression "(int)pptVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    pptVar25 = (tagstack_item **)0x0;\n    ptVar24 = *(tagstack_item **)size;\n    do {\n      iVar5 = (**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun);\n      if (iVar5 == 0) {\n        if ((attr_pair *)maparg != (attr_pair *)0x0) {\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }\n        return;\n      }\n      pptVar25 = (tagstack_item **)((int)pptVar25 + 1);\n      ptVar24 = (tagstack_item *)&ptVar24[1].tagname_end;\n    } while (pptVar25 != pptVar16);\n    return;\n  }" { (expression_statement "pptVar25 = (tagstack_item **)0x0;" (assignment_expression "pptVar25 = (tagstack_item **)0x0" identifier = (cast_expression "(tagstack_item **)0x0" ( (type_descriptor "tagstack_item **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ptVar24 = *(tagstack_item **)size;" (assignment_expression "ptVar24 = *(tagstack_item **)size" identifier = (pointer_expression "*(tagstack_item **)size" * (cast_expression "(tagstack_item **)size" ( (type_descriptor "tagstack_item **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (do_statement "do {\n      iVar5 = (**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun);\n      if (iVar5 == 0) {\n        if ((attr_pair *)maparg != (attr_pair *)0x0) {\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }\n        return;\n      }\n      pptVar25 = (tagstack_item **)((int)pptVar25 + 1);\n      ptVar24 = (tagstack_item *)&ptVar24[1].tagname_end;\n    } while (pptVar25 != pptVar16);" do (compound_statement "{\n      iVar5 = (**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun);\n      if (iVar5 == 0) {\n        if ((attr_pair *)maparg != (attr_pair *)0x0) {\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }\n        return;\n      }\n      pptVar25 = (tagstack_item **)((int)pptVar25 + 1);\n      ptVar24 = (tagstack_item *)&ptVar24[1].tagname_end;\n    }" { (expression_statement "iVar5 = (**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun);" (assignment_expression "iVar5 = (**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun)" identifier = (call_expression "(**(code **)(puVar30 + 0x7c6f4))(ptVar24->tagname_begin,mapfun)" (parenthesized_expression "(**(code **)(puVar30 + 0x7c6f4))" ( (pointer_expression "**(code **)(puVar30 + 0x7c6f4)" * (pointer_expression "*(code **)(puVar30 + 0x7c6f4)" * (cast_expression "(code **)(puVar30 + 0x7c6f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x7c6f4)" ( (binary_expression "puVar30 + 0x7c6f4" identifier + number_literal) ))))) )) (argument_list "(ptVar24->tagname_begin,mapfun)" ( (field_expression "ptVar24->tagname_begin" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n        if ((attr_pair *)maparg != (attr_pair *)0x0) {\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }\n        return;\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((attr_pair *)maparg != (attr_pair *)0x0) {\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }\n        return;\n      }" { (if_statement "if ((attr_pair *)maparg != (attr_pair *)0x0) {\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }" if (parenthesized_expression "((attr_pair *)maparg != (attr_pair *)0x0)" ( (binary_expression "(attr_pair *)maparg != (attr_pair *)0x0" (cast_expression "(attr_pair *)maparg" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(attr_pair *)0x0" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          ((attr_pair *)maparg)->name = (char *)pptVar25;\n        }" { (expression_statement "((attr_pair *)maparg)->name = (char *)pptVar25;" (assignment_expression "((attr_pair *)maparg)->name = (char *)pptVar25" (field_expression "((attr_pair *)maparg)->name" (parenthesized_expression "((attr_pair *)maparg)" ( (cast_expression "(attr_pair *)maparg" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) = (cast_expression "(char *)pptVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (return_statement "return;" return ;) })) (expression_statement "pptVar25 = (tagstack_item **)((int)pptVar25 + 1);" (assignment_expression "pptVar25 = (tagstack_item **)((int)pptVar25 + 1)" identifier = (cast_expression "(tagstack_item **)((int)pptVar25 + 1)" ( (type_descriptor "tagstack_item **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pptVar25 + 1)" ( (binary_expression "(int)pptVar25 + 1" (cast_expression "(int)pptVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ptVar24 = (tagstack_item *)&ptVar24[1].tagname_end;" (assignment_expression "ptVar24 = (tagstack_item *)&ptVar24[1].tagname_end" identifier = (cast_expression "(tagstack_item *)&ptVar24[1].tagname_end" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ptVar24[1].tagname_end" & (field_expression "ptVar24[1].tagname_end" (subscript_expression "ptVar24[1]" identifier [ number_literal ]) . field_identifier)))) ;) }) while (parenthesized_expression "(pptVar25 != pptVar16)" ( (binary_expression "pptVar25 != pptVar16" identifier != identifier) )) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) (while_statement "while (*pcVar8 == '-') {\nLAB_00032dcc:\n    pcVar22 = pcVar8;\n    pcVar8 = pcVar22 + 1;\n    if (pcVar27 == pcVar8) goto LAB_0003228c;\n  }" while (parenthesized_expression "(*pcVar8 == '-')" ( (binary_expression "*pcVar8 == '-'" (pointer_expression "*pcVar8" * identifier) == (char_literal "'-'" ' character ')) )) (compound_statement "{\nLAB_00032dcc:\n    pcVar22 = pcVar8;\n    pcVar8 = pcVar22 + 1;\n    if (pcVar27 == pcVar8) goto LAB_0003228c;\n  }" { (labeled_statement "LAB_00032dcc:\n    pcVar22 = pcVar8;" statement_identifier : (expression_statement "pcVar22 = pcVar8;" (assignment_expression "pcVar22 = pcVar8" identifier = identifier) ;)) (expression_statement "pcVar8 = pcVar22 + 1;" (assignment_expression "pcVar8 = pcVar22 + 1" identifier = (binary_expression "pcVar22 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 == pcVar8) goto LAB_0003228c;" if (parenthesized_expression "(pcVar27 == pcVar8)" ( (binary_expression "pcVar27 == pcVar8" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) })) (expression_statement "pcVar28 = pcVar8;" (assignment_expression "pcVar28 = pcVar8" identifier = identifier) ;) (if_statement "if (*pcVar8 == '>') goto code_r0x00032dec;" if (parenthesized_expression "(*pcVar8 == '>')" ( (binary_expression "*pcVar8 == '>'" (pointer_expression "*pcVar8" * identifier) == (char_literal "'>'" ' character ')) )) (goto_statement "goto code_r0x00032dec;" goto statement_identifier ;)) (goto_statement "goto LAB_0003267c;" goto statement_identifier ;) (labeled_statement "code_r0x00032dec:\n  pcVar8 = pcVar22 + 2;" statement_identifier : (expression_statement "pcVar8 = pcVar22 + 2;" (assignment_expression "pcVar8 = pcVar22 + 2" identifier = (binary_expression "pcVar22 + 2" identifier + number_literal)) ;)) (labeled_statement "LAB_00032d0c:\n  if (pcVar8 == (char *)0x0) goto LAB_0003228c;" statement_identifier : (if_statement "if (pcVar8 == (char *)0x0) goto LAB_0003228c;" if (parenthesized_expression "(pcVar8 == (char *)0x0)" ( (binary_expression "pcVar8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;))) (labeled_statement "joined_r0x00032628:\n  text = pcVar8;" statement_identifier : (expression_statement "text = pcVar8;" (assignment_expression "text = pcVar8" identifier = identifier) ;)) (if_statement "if (pcVar8 == pcVar27) goto LAB_0003242c;" if (parenthesized_expression "(pcVar8 == pcVar27)" ( (binary_expression "pcVar8 == pcVar27" identifier == identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) (labeled_statement "LAB_000328e4:\n  uVar15 = (int)*beg - 9;" statement_identifier : (expression_statement "uVar15 = (int)*beg - 9;" (assignment_expression "uVar15 = (int)*beg - 9" identifier = (binary_expression "(int)*beg - 9" (cast_expression "(int)*beg" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*beg" * identifier)) - number_literal)) ;)) (if_statement "if ((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;" if (parenthesized_expression "((0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "(0x17 < uVar15) || ((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar15)" ( (binary_expression "0x17 < uVar15" number_literal < identifier) )) || (parenthesized_expression "((1 << (uVar15 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar15 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar15 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar15 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar15 & 0x1f)" number_literal << (parenthesized_expression "(uVar15 & 0x1f)" ( (binary_expression "uVar15 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00032918;" goto statement_identifier ;)) (expression_statement "beg = beg + 1;" (assignment_expression "beg = beg + 1" identifier = (binary_expression "beg + 1" identifier + number_literal)) ;) (if_statement "if (pcVar27 == beg) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 == beg)" ( (binary_expression "pcVar27 == beg" identifier == identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (goto_statement "goto LAB_000328e4;" goto statement_identifier ;) (labeled_statement "LAB_00032918:\n  text = pcVar28;" statement_identifier : (expression_statement "text = pcVar28;" (assignment_expression "text = pcVar28" identifier = identifier) ;)) (if_statement "if (((int)*beg & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    pcVar28 = beg + 1;\n    if (((iStack_290 == 0) && (tail != (tagstack_item *)0x0)) && (tail->tagname_begin == b)) {\n      tail->contents_begin = pcVar28;\n    }\n    if (bVar1) {\n      taginfo.name = pool.contents;\n      taginfo.end_tag_p = iStack_290;\n      if (iVar13 != 0) {\n        paVar18 = paStack_280 + iVar13;\n        paVar11 = paStack_280;\n        do {\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        } while (paVar12 != paVar18);\n      }\n      taginfo.attrs = paStack_280;\n      taginfo.contents_begin = (char *)0x0;\n      taginfo.contents_end = (char *)0x0;\n      taginfo.nattrs = iVar13;\n      taginfo.start_position = pcVar8;\n      taginfo.end_position = pcVar28;\n      if (iStack_290 != 0) {\n        for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }\n      }\n      (*mapfun)(&taginfo,maparg);\n      text = beg;\n      if (*beg == '<') goto LAB_0003228c;\n    }\n    text = pcVar28;\n    if (pcVar27 <= pcVar28) goto LAB_0003242c;\n  }" if (parenthesized_expression "(((int)*beg & 0xfffffffdU) == 0x3c)" ( (binary_expression "((int)*beg & 0xfffffffdU) == 0x3c" (parenthesized_expression "((int)*beg & 0xfffffffdU)" ( (binary_expression "(int)*beg & 0xfffffffdU" (cast_expression "(int)*beg" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*beg" * identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0003292c:\n    pcVar28 = beg + 1;\n    if (((iStack_290 == 0) && (tail != (tagstack_item *)0x0)) && (tail->tagname_begin == b)) {\n      tail->contents_begin = pcVar28;\n    }\n    if (bVar1) {\n      taginfo.name = pool.contents;\n      taginfo.end_tag_p = iStack_290;\n      if (iVar13 != 0) {\n        paVar18 = paStack_280 + iVar13;\n        paVar11 = paStack_280;\n        do {\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        } while (paVar12 != paVar18);\n      }\n      taginfo.attrs = paStack_280;\n      taginfo.contents_begin = (char *)0x0;\n      taginfo.contents_end = (char *)0x0;\n      taginfo.nattrs = iVar13;\n      taginfo.start_position = pcVar8;\n      taginfo.end_position = pcVar28;\n      if (iStack_290 != 0) {\n        for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }\n      }\n      (*mapfun)(&taginfo,maparg);\n      text = beg;\n      if (*beg == '<') goto LAB_0003228c;\n    }\n    text = pcVar28;\n    if (pcVar27 <= pcVar28) goto LAB_0003242c;\n  }" { (labeled_statement "LAB_0003292c:\n    pcVar28 = beg + 1;" statement_identifier : (expression_statement "pcVar28 = beg + 1;" (assignment_expression "pcVar28 = beg + 1" identifier = (binary_expression "beg + 1" identifier + number_literal)) ;)) (if_statement "if (((iStack_290 == 0) && (tail != (tagstack_item *)0x0)) && (tail->tagname_begin == b)) {\n      tail->contents_begin = pcVar28;\n    }" if (parenthesized_expression "(((iStack_290 == 0) && (tail != (tagstack_item *)0x0)) && (tail->tagname_begin == b))" ( (binary_expression "((iStack_290 == 0) && (tail != (tagstack_item *)0x0)) && (tail->tagname_begin == b)" (parenthesized_expression "((iStack_290 == 0) && (tail != (tagstack_item *)0x0))" ( (binary_expression "(iStack_290 == 0) && (tail != (tagstack_item *)0x0)" (parenthesized_expression "(iStack_290 == 0)" ( (binary_expression "iStack_290 == 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 "(tail->tagname_begin == b)" ( (binary_expression "tail->tagname_begin == b" (field_expression "tail->tagname_begin" identifier -> field_identifier) == identifier) ))) )) (compound_statement "{\n      tail->contents_begin = pcVar28;\n    }" { (expression_statement "tail->contents_begin = pcVar28;" (assignment_expression "tail->contents_begin = pcVar28" (field_expression "tail->contents_begin" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (bVar1) {\n      taginfo.name = pool.contents;\n      taginfo.end_tag_p = iStack_290;\n      if (iVar13 != 0) {\n        paVar18 = paStack_280 + iVar13;\n        paVar11 = paStack_280;\n        do {\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        } while (paVar12 != paVar18);\n      }\n      taginfo.attrs = paStack_280;\n      taginfo.contents_begin = (char *)0x0;\n      taginfo.contents_end = (char *)0x0;\n      taginfo.nattrs = iVar13;\n      taginfo.start_position = pcVar8;\n      taginfo.end_position = pcVar28;\n      if (iStack_290 != 0) {\n        for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }\n      }\n      (*mapfun)(&taginfo,maparg);\n      text = beg;\n      if (*beg == '<') goto LAB_0003228c;\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      taginfo.name = pool.contents;\n      taginfo.end_tag_p = iStack_290;\n      if (iVar13 != 0) {\n        paVar18 = paStack_280 + iVar13;\n        paVar11 = paStack_280;\n        do {\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        } while (paVar12 != paVar18);\n      }\n      taginfo.attrs = paStack_280;\n      taginfo.contents_begin = (char *)0x0;\n      taginfo.contents_end = (char *)0x0;\n      taginfo.nattrs = iVar13;\n      taginfo.start_position = pcVar8;\n      taginfo.end_position = pcVar28;\n      if (iStack_290 != 0) {\n        for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }\n      }\n      (*mapfun)(&taginfo,maparg);\n      text = beg;\n      if (*beg == '<') goto LAB_0003228c;\n    }" { (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 = iStack_290;" (assignment_expression "taginfo.end_tag_p = iStack_290" (field_expression "taginfo.end_tag_p" identifier . field_identifier) = identifier) ;) (if_statement "if (iVar13 != 0) {\n        paVar18 = paStack_280 + iVar13;\n        paVar11 = paStack_280;\n        do {\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        } while (paVar12 != paVar18);\n      }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        paVar18 = paStack_280 + iVar13;\n        paVar11 = paStack_280;\n        do {\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        } while (paVar12 != paVar18);\n      }" { (expression_statement "paVar18 = paStack_280 + iVar13;" (assignment_expression "paVar18 = paStack_280 + iVar13" identifier = (binary_expression "paStack_280 + iVar13" identifier + identifier)) ;) (expression_statement "paVar11 = paStack_280;" (assignment_expression "paVar11 = paStack_280" identifier = identifier) ;) (do_statement "do {\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        } while (paVar12 != paVar18);" do (compound_statement "{\n          paVar12 = paVar11 + 1;\n          paVar11->name = pool.contents + paVar11->name_pool_index;\n          paVar11->value = pool.contents + paVar11->value_pool_index;\n          paVar11 = paVar12;\n        }" { (expression_statement "paVar12 = paVar11 + 1;" (assignment_expression "paVar12 = paVar11 + 1" identifier = (binary_expression "paVar11 + 1" identifier + number_literal)) ;) (expression_statement "paVar11->name = pool.contents + paVar11->name_pool_index;" (assignment_expression "paVar11->name = pool.contents + paVar11->name_pool_index" (field_expression "paVar11->name" identifier -> field_identifier) = (binary_expression "pool.contents + paVar11->name_pool_index" (field_expression "pool.contents" identifier . field_identifier) + (field_expression "paVar11->name_pool_index" identifier -> field_identifier))) ;) (expression_statement "paVar11->value = pool.contents + paVar11->value_pool_index;" (assignment_expression "paVar11->value = pool.contents + paVar11->value_pool_index" (field_expression "paVar11->value" identifier -> field_identifier) = (binary_expression "pool.contents + paVar11->value_pool_index" (field_expression "pool.contents" identifier . field_identifier) + (field_expression "paVar11->value_pool_index" identifier -> field_identifier))) ;) (expression_statement "paVar11 = paVar12;" (assignment_expression "paVar11 = paVar12" identifier = identifier) ;) }) while (parenthesized_expression "(paVar12 != paVar18)" ( (binary_expression "paVar12 != paVar18" identifier != identifier) )) ;) })) (expression_statement "taginfo.attrs = paStack_280;" (assignment_expression "taginfo.attrs = paStack_280" (field_expression "taginfo.attrs" identifier . field_identifier) = identifier) ;) (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.nattrs = iVar13;" (assignment_expression "taginfo.nattrs = iVar13" (field_expression "taginfo.nattrs" identifier . field_identifier) = identifier) ;) (expression_statement "taginfo.start_position = pcVar8;" (assignment_expression "taginfo.start_position = pcVar8" (field_expression "taginfo.start_position" identifier . field_identifier) = identifier) ;) (expression_statement "taginfo.end_position = pcVar28;" (assignment_expression "taginfo.end_position = pcVar28" (field_expression "taginfo.end_position" identifier . field_identifier) = identifier) ;) (if_statement "if (iStack_290 != 0) {\n        for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }\n      }" if (parenthesized_expression "(iStack_290 != 0)" ( (binary_expression "iStack_290 != 0" identifier != number_literal) )) (compound_statement "{\n        for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }\n      }" { (for_statement "for (ptVar24 = tail; ptVar24 != (tagstack_item *)0x0; ptVar24 = ptVar24->prev) {\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }" for ( (assignment_expression "ptVar24 = tail" identifier = identifier) ; (binary_expression "ptVar24 != (tagstack_item *)0x0" identifier != (cast_expression "(tagstack_item *)0x0" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "ptVar24 = ptVar24->prev" identifier = (field_expression "ptVar24->prev" identifier -> field_identifier)) ) (compound_statement "{\n          if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }\n        }" { (if_statement "if (((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)) {\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }" if (parenthesized_expression "(((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0))" ( (binary_expression "((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin) &&\n             (iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)" (parenthesized_expression "((int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin)" ( (binary_expression "(int)pcVar22 - (int)b == (int)ptVar24->tagname_end - (int)ptVar24->tagname_begin" (binary_expression "(int)pcVar22 - (int)b" (cast_expression "(int)pcVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)b" ( (type_descriptor "int" primitive_type) ) identifier)) == (binary_expression "(int)ptVar24->tagname_end - (int)ptVar24->tagname_begin" (cast_expression "(int)ptVar24->tagname_end" ( (type_descriptor "int" primitive_type) ) (field_expression "ptVar24->tagname_end" identifier -> field_identifier)) - (cast_expression "(int)ptVar24->tagname_begin" ( (type_descriptor "int" primitive_type) ) (field_expression "ptVar24->tagname_begin" identifier -> field_identifier)))) )) && (parenthesized_expression "(iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0)" ( (comma_expression "iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b), iVar13 == 0" (assignment_expression "iVar13 = (*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b)" identifier = (call_expression "(*(code *)PTR_strncasecmp_000afb8c)\n                                 (ptVar24->tagname_begin,b,(int)pcVar22 - (int)b)" (parenthesized_expression "(*(code *)PTR_strncasecmp_000afb8c)" ( (pointer_expression "*(code *)PTR_strncasecmp_000afb8c" * (cast_expression "(code *)PTR_strncasecmp_000afb8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ptVar24->tagname_begin,b,(int)pcVar22 - (int)b)" ( (field_expression "ptVar24->tagname_begin" identifier -> field_identifier) , identifier , (binary_expression "(int)pcVar22 - (int)b" (cast_expression "(int)pcVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)b" ( (type_descriptor "int" primitive_type) ) identifier)) )))) , (binary_expression "iVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }\n            (*pcVar7)(pptVar16,size,ptVar24);\n            break;\n          }" { (if_statement "if (ptVar24->contents_begin != (char *)0x0) {\n              taginfo.contents_begin = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }" if (parenthesized_expression "(ptVar24->contents_begin != (char *)0x0)" ( (binary_expression "ptVar24->contents_begin != (char *)0x0" (field_expression "ptVar24->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 = ptVar24->contents_begin;\n              taginfo.contents_end = pcVar8;\n            }" { (expression_statement "taginfo.contents_begin = ptVar24->contents_begin;" (assignment_expression "taginfo.contents_begin = ptVar24->contents_begin" (field_expression "taginfo.contents_begin" identifier . field_identifier) = (field_expression "ptVar24->contents_begin" identifier -> field_identifier)) ;) (expression_statement "taginfo.contents_end = pcVar8;" (assignment_expression "taginfo.contents_end = pcVar8" (field_expression "taginfo.contents_end" identifier . field_identifier) = identifier) ;) })) (expression_statement "(*pcVar7)(pptVar16,size,ptVar24);" (call_expression "(*pcVar7)(pptVar16,size,ptVar24)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(pptVar16,size,ptVar24)" ( identifier , identifier , identifier ))) ;) (break_statement "break;" break ;) })) })) })) (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 = beg;" (assignment_expression "text = beg" identifier = identifier) ;) (if_statement "if (*beg == '<') goto LAB_0003228c;" if (parenthesized_expression "(*beg == '<')" ( (binary_expression "*beg == '<'" (pointer_expression "*beg" * identifier) == (char_literal "'<'" ' character ')) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) })) (expression_statement "text = pcVar28;" (assignment_expression "text = pcVar28" identifier = identifier) ;) (if_statement "if (pcVar27 <= pcVar28) goto LAB_0003242c;" if (parenthesized_expression "(pcVar27 <= pcVar28)" ( (binary_expression "pcVar27 <= pcVar28" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) (labeled_statement "LAB_0003242c:\n  maparg = paVar18;" statement_identifier : (expression_statement "maparg = paVar18;" (assignment_expression "maparg = paVar18" identifier = identifier) ;)) (expression_statement "mapfun = (_func_void_taginfo_ptr_void_ptr *)head;" (assignment_expression "mapfun = (_func_void_taginfo_ptr_void_ptr *)head" identifier = (cast_expression "(_func_void_taginfo_ptr_void_ptr *)head" ( (type_descriptor "_func_void_taginfo_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar27 = pool.orig_contents;" (assignment_expression "pcVar27 = pool.orig_contents" identifier = (field_expression "pool.orig_contents" identifier . field_identifier)) ;) (expression_statement "iVar13 = pool.orig_size;" (assignment_expression "iVar13 = pool.orig_size" identifier = (field_expression "pool.orig_size" identifier . field_identifier)) ;) (if_statement "if (pool.resized != false) {\n    (*(code *)PTR_free_000afd08)(pool.contents);\n    maparg = paVar18;\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    pcVar27 = pool.orig_contents;\n    iVar13 = pool.orig_size;\n  }" if (parenthesized_expression "(pool.resized != false)" ( (binary_expression "pool.resized != false" (field_expression "pool.resized" identifier . field_identifier) != false) )) (compound_statement "{\n    (*(code *)PTR_free_000afd08)(pool.contents);\n    maparg = paVar18;\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    pcVar27 = pool.orig_contents;\n    iVar13 = pool.orig_size;\n  }" { (expression_statement "(*(code *)PTR_free_000afd08)(pool.contents);" (call_expression "(*(code *)PTR_free_000afd08)(pool.contents)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pool.contents)" ( (field_expression "pool.contents" identifier . field_identifier) ))) ;) (expression_statement "maparg = paVar18;" (assignment_expression "maparg = paVar18" identifier = identifier) ;) (expression_statement "mapfun = (_func_void_taginfo_ptr_void_ptr *)head;" (assignment_expression "mapfun = (_func_void_taginfo_ptr_void_ptr *)head" identifier = (cast_expression "(_func_void_taginfo_ptr_void_ptr *)head" ( (type_descriptor "_func_void_taginfo_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar27 = pool.orig_contents;" (assignment_expression "pcVar27 = pool.orig_contents" identifier = (field_expression "pool.orig_contents" identifier . field_identifier)) ;) (expression_statement "iVar13 = pool.orig_size;" (assignment_expression "iVar13 = pool.orig_size" identifier = (field_expression "pool.orig_size" identifier . field_identifier)) ;) })) (expression_statement "pool.size = iVar13;" (assignment_expression "pool.size = iVar13" (field_expression "pool.size" identifier . field_identifier) = identifier) ;) (expression_statement "pool.contents = pcVar27;" (assignment_expression "pool.contents = pcVar27" (field_expression "pool.contents" identifier . field_identifier) = identifier) ;) (expression_statement "head = (tagstack_item *)mapfun;" (assignment_expression "head = (tagstack_item *)mapfun" identifier = (cast_expression "(tagstack_item *)mapfun" ( (type_descriptor "tagstack_item *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (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)) ;) (expression_statement "pool.orig_size = pool.size;" (assignment_expression "pool.orig_size = pool.size" (field_expression "pool.orig_size" identifier . field_identifier) = (field_expression "pool.size" identifier . field_identifier)) ;) (if_statement "if (paStack_28c == (attr_pair *)0x0) {\n    pool.resized = false;\n    pool.tail = 0;\n    (*pcVar7)(pptVar16,size,mapfun);\n  }\n  else {\n    pool.resized = false;\n    pool.tail = 0;\n    (*(code *)PTR_free_000afd08)(paStack_280);\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    (*pcVar7)(pptVar16,size,head);\n  }" if (parenthesized_expression "(paStack_28c == (attr_pair *)0x0)" ( (binary_expression "paStack_28c == (attr_pair *)0x0" identifier == (cast_expression "(attr_pair *)0x0" ( (type_descriptor "attr_pair *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pool.resized = false;\n    pool.tail = 0;\n    (*pcVar7)(pptVar16,size,mapfun);\n  }" { (expression_statement "pool.resized = false;" (assignment_expression "pool.resized = false" (field_expression "pool.resized" identifier . field_identifier) = false) ;) (expression_statement "pool.tail = 0;" (assignment_expression "pool.tail = 0" (field_expression "pool.tail" identifier . field_identifier) = number_literal) ;) (expression_statement "(*pcVar7)(pptVar16,size,mapfun);" (call_expression "(*pcVar7)(pptVar16,size,mapfun)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(pptVar16,size,mapfun)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n    pool.resized = false;\n    pool.tail = 0;\n    (*(code *)PTR_free_000afd08)(paStack_280);\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    (*pcVar7)(pptVar16,size,head);\n  }" else (compound_statement "{\n    pool.resized = false;\n    pool.tail = 0;\n    (*(code *)PTR_free_000afd08)(paStack_280);\n    mapfun = (_func_void_taginfo_ptr_void_ptr *)head;\n    (*pcVar7)(pptVar16,size,head);\n  }" { (expression_statement "pool.resized = false;" (assignment_expression "pool.resized = false" (field_expression "pool.resized" identifier . field_identifier) = false) ;) (expression_statement "pool.tail = 0;" (assignment_expression "pool.tail = 0" (field_expression "pool.tail" identifier . field_identifier) = number_literal) ;) (expression_statement "(*(code *)PTR_free_000afd08)(paStack_280);" (call_expression "(*(code *)PTR_free_000afd08)(paStack_280)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(paStack_280)" ( identifier ))) ;) (expression_statement "mapfun = (_func_void_taginfo_ptr_void_ptr *)head;" (assignment_expression "mapfun = (_func_void_taginfo_ptr_void_ptr *)head" identifier = (cast_expression "(_func_void_taginfo_ptr_void_ptr *)head" ( (type_descriptor "_func_void_taginfo_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*pcVar7)(pptVar16,size,head);" (call_expression "(*pcVar7)(pptVar16,size,head)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(pptVar16,size,head)" ( identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_0003246c;" goto statement_identifier ;) })))
(translation_unit "int map_html_tags(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)\n\n{\n  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined1 *puVar5;\n  int *piVar6;\n  code *pcVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  uint uVar13;\n  code **ppcVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar19;\n  code **ppcVar20;\n  code **ppcVar21;\n  code **ppcVar22;\n  code **ppcVar23;\n  code **ppcVar24;\n  code **ppcVar25;\n  code **ppcVar26;\n  code **ppcVar27;\n  code *pcVar28;\n  undefined *puVar29;\n  int local_290;\n  int *local_28c;\n  int *local_280;\n  int local_27c;\n  code **local_25c;\n  code **local_254;\n  int *local_250;\n  code *local_22c;\n  code *local_228;\n  undefined1 *local_224;\n  undefined4 local_220;\n  int local_21c;\n  char local_218;\n  undefined1 *local_214;\n  undefined4 local_210;\n  undefined1 *local_20c;\n  int local_208;\n  int local_204;\n  int *local_200;\n  int local_1fc;\n  code **local_1f8;\n  int local_1f4;\n  int local_1f0;\n  int local_1ec [48];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  int iVar18;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar29 = PTR_s_hallenge__000af46c;\n  local_22c = (code *)0x0;\n  local_228 = (code *)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_000afc3c;\n  ppcVar14 = param_1;\n  if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar29 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }\n  return 0;\n  while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }\n  ppcVar27 = ppcVar20;\n  if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);\nLAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  param_1 = ppcVar20;\n  if (ppcVar20 == ppcVar26) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;\n  if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  ppcVar25 = (code **)((int)ppcVar25 + 1);\n  if (ppcVar26 == ppcVar25) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  param_1 = ppcVar27;\n  if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  param_4 = piVar16;\n  param_3 = local_22c;\n  puVar5 = local_214;\n  uVar10 = local_210;\n  if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }\n  local_220 = uVar10;\n  local_224 = puVar5;\n  local_22c = param_3;\n  local_214 = local_224;\n  local_210 = local_220;\n  if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }\n  goto LAB_0003246c;\n}\n\n" (function_definition "int map_html_tags(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)\n\n{\n  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined1 *puVar5;\n  int *piVar6;\n  code *pcVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  uint uVar13;\n  code **ppcVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar19;\n  code **ppcVar20;\n  code **ppcVar21;\n  code **ppcVar22;\n  code **ppcVar23;\n  code **ppcVar24;\n  code **ppcVar25;\n  code **ppcVar26;\n  code **ppcVar27;\n  code *pcVar28;\n  undefined *puVar29;\n  int local_290;\n  int *local_28c;\n  int *local_280;\n  int local_27c;\n  code **local_25c;\n  code **local_254;\n  int *local_250;\n  code *local_22c;\n  code *local_228;\n  undefined1 *local_224;\n  undefined4 local_220;\n  int local_21c;\n  char local_218;\n  undefined1 *local_214;\n  undefined4 local_210;\n  undefined1 *local_20c;\n  int local_208;\n  int local_204;\n  int *local_200;\n  int local_1fc;\n  code **local_1f8;\n  int local_1f4;\n  int local_1f0;\n  int local_1ec [48];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  int iVar18;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar29 = PTR_s_hallenge__000af46c;\n  local_22c = (code *)0x0;\n  local_228 = (code *)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_000afc3c;\n  ppcVar14 = param_1;\n  if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar29 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }\n  return 0;\n  while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }\n  ppcVar27 = ppcVar20;\n  if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);\nLAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  param_1 = ppcVar20;\n  if (ppcVar20 == ppcVar26) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;\n  if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  ppcVar25 = (code **)((int)ppcVar25 + 1);\n  if (ppcVar26 == ppcVar25) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  param_1 = ppcVar27;\n  if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  param_4 = piVar16;\n  param_3 = local_22c;\n  puVar5 = local_214;\n  uVar10 = local_210;\n  if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }\n  local_220 = uVar10;\n  local_224 = puVar5;\n  local_22c = param_3;\n  local_214 = local_224;\n  local_210 = local_220;\n  if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }\n  goto LAB_0003246c;\n}" primitive_type (function_declarator "map_html_tags(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)" identifier (parameter_list "(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)" ( (parameter_declaration "code **param_1" type_identifier (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))) , (parameter_declaration "code **param_2" type_identifier (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))) , (parameter_declaration "code *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined1 *puVar5;\n  int *piVar6;\n  code *pcVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  uint uVar13;\n  code **ppcVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar19;\n  code **ppcVar20;\n  code **ppcVar21;\n  code **ppcVar22;\n  code **ppcVar23;\n  code **ppcVar24;\n  code **ppcVar25;\n  code **ppcVar26;\n  code **ppcVar27;\n  code *pcVar28;\n  undefined *puVar29;\n  int local_290;\n  int *local_28c;\n  int *local_280;\n  int local_27c;\n  code **local_25c;\n  code **local_254;\n  int *local_250;\n  code *local_22c;\n  code *local_228;\n  undefined1 *local_224;\n  undefined4 local_220;\n  int local_21c;\n  char local_218;\n  undefined1 *local_214;\n  undefined4 local_210;\n  undefined1 *local_20c;\n  int local_208;\n  int local_204;\n  int *local_200;\n  int local_1fc;\n  code **local_1f8;\n  int local_1f4;\n  int local_1f0;\n  int local_1ec [48];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  int iVar18;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar29 = PTR_s_hallenge__000af46c;\n  local_22c = (code *)0x0;\n  local_228 = (code *)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_000afc3c;\n  ppcVar14 = param_1;\n  if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar29 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }\n  return 0;\n  while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }\n  ppcVar27 = ppcVar20;\n  if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);\nLAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  param_1 = ppcVar20;\n  if (ppcVar20 == ppcVar26) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;\n  if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  ppcVar25 = (code **)((int)ppcVar25 + 1);\n  if (ppcVar26 == ppcVar25) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  param_1 = ppcVar27;\n  if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  param_4 = piVar16;\n  param_3 = local_22c;\n  puVar5 = local_214;\n  uVar10 = local_210;\n  if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }\n  local_220 = uVar10;\n  local_224 = puVar5;\n  local_22c = param_3;\n  local_214 = local_224;\n  local_210 = local_220;\n  if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }\n  goto LAB_0003246c;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "code **ppcVar14;" type_identifier (pointer_declarator "**ppcVar14" * (pointer_declarator "*ppcVar14" * identifier)) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "code **ppcVar20;" type_identifier (pointer_declarator "**ppcVar20" * (pointer_declarator "*ppcVar20" * identifier)) ;) (declaration "code **ppcVar21;" type_identifier (pointer_declarator "**ppcVar21" * (pointer_declarator "*ppcVar21" * identifier)) ;) (declaration "code **ppcVar22;" type_identifier (pointer_declarator "**ppcVar22" * (pointer_declarator "*ppcVar22" * identifier)) ;) (declaration "code **ppcVar23;" type_identifier (pointer_declarator "**ppcVar23" * (pointer_declarator "*ppcVar23" * identifier)) ;) (declaration "code **ppcVar24;" type_identifier (pointer_declarator "**ppcVar24" * (pointer_declarator "*ppcVar24" * identifier)) ;) (declaration "code **ppcVar25;" type_identifier (pointer_declarator "**ppcVar25" * (pointer_declarator "*ppcVar25" * identifier)) ;) (declaration "code **ppcVar26;" type_identifier (pointer_declarator "**ppcVar26" * (pointer_declarator "*ppcVar26" * identifier)) ;) (declaration "code **ppcVar27;" type_identifier (pointer_declarator "**ppcVar27" * (pointer_declarator "*ppcVar27" * identifier)) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "undefined *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "int local_290;" primitive_type identifier ;) (declaration "int *local_28c;" primitive_type (pointer_declarator "*local_28c" * identifier) ;) (declaration "int *local_280;" primitive_type (pointer_declarator "*local_280" * identifier) ;) (declaration "int local_27c;" primitive_type identifier ;) (declaration "code **local_25c;" type_identifier (pointer_declarator "**local_25c" * (pointer_declarator "*local_25c" * identifier)) ;) (declaration "code **local_254;" type_identifier (pointer_declarator "**local_254" * (pointer_declarator "*local_254" * identifier)) ;) (declaration "int *local_250;" primitive_type (pointer_declarator "*local_250" * identifier) ;) (declaration "code *local_22c;" type_identifier (pointer_declarator "*local_22c" * identifier) ;) (declaration "code *local_228;" type_identifier (pointer_declarator "*local_228" * identifier) ;) (declaration "undefined1 *local_224;" type_identifier (pointer_declarator "*local_224" * identifier) ;) (declaration "undefined4 local_220;" type_identifier identifier ;) (declaration "int local_21c;" primitive_type identifier ;) (declaration "char local_218;" primitive_type identifier ;) (declaration "undefined1 *local_214;" type_identifier (pointer_declarator "*local_214" * identifier) ;) (declaration "undefined4 local_210;" type_identifier identifier ;) (declaration "undefined1 *local_20c;" type_identifier (pointer_declarator "*local_20c" * identifier) ;) (declaration "int local_208;" primitive_type identifier ;) (declaration "int local_204;" primitive_type identifier ;) (declaration "int *local_200;" primitive_type (pointer_declarator "*local_200" * identifier) ;) (declaration "int local_1fc;" primitive_type identifier ;) (declaration "code **local_1f8;" type_identifier (pointer_declarator "**local_1f8" * (pointer_declarator "*local_1f8" * identifier)) ;) (declaration "int local_1f4;" primitive_type identifier ;) (declaration "int local_1f0;" primitive_type identifier ;) (declaration "int local_1ec [48];" primitive_type (array_declarator "local_1ec [48]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_12c [256];" type_identifier (array_declarator "auStack_12c [256]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_000afc3c;" (assignment_expression "puVar4 = PTR___stack_chk_guard_000afc3c" identifier = identifier) ;) (expression_statement "puVar29 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar29 = PTR_s_hallenge__000af46c" identifier = identifier) ;) (expression_statement "local_22c = (code *)0x0;" (assignment_expression "local_22c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_228 = (code *)0x0;" (assignment_expression "local_228 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000afc3c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000afc3c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000afc3c" * (cast_expression "(int *)PTR___stack_chk_guard_000afc3c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppcVar14 = param_1;" (assignment_expression "ppcVar14 = param_1" identifier = identifier) ;) (if_statement "if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }" if (parenthesized_expression "(param_2 != (code **)0x0)" ( (binary_expression "param_2 != (code **)0x0" identifier != (cast_expression "(code **)0x0" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }" { (expression_statement "local_218 = '\0';" (assignment_expression "local_218 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_280 = local_1ec;" (assignment_expression "local_280 = local_1ec" identifier = identifier) ;) (expression_statement "local_220 = 0x100;" (assignment_expression "local_220 = 0x100" identifier = number_literal) ;) (expression_statement "local_210 = 0x100;" (assignment_expression "local_210 = 0x100" identifier = number_literal) ;) (expression_statement "piVar6 = (int *)0x6;" (assignment_expression "piVar6 = (int *)0x6" identifier = (cast_expression "(int *)0x6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar26 = (code **)((int)param_1 + (int)param_2);" (assignment_expression "ppcVar26 = (code **)((int)param_1 + (int)param_2)" identifier = (cast_expression "(code **)((int)param_1 + (int)param_2)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_1 + (int)param_2)" ( (binary_expression "(int)param_1 + (int)param_2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_28c = (int *)0x0;" (assignment_expression "local_28c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }" if (parenthesized_expression "((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) )) (compound_statement "{\n      piVar6 = (int *)0x2;\n    }" { (expression_statement "piVar6 = (int *)0x2;" (assignment_expression "piVar6 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "local_27c = 8;" (assignment_expression "local_27c = 8" identifier = number_literal) ;) (expression_statement "param_2 = &local_228;" (assignment_expression "param_2 = &local_228" identifier = (pointer_expression "&local_228" & identifier)) ;) (expression_statement "ppcVar14 = &local_22c;" (assignment_expression "ppcVar14 = &local_22c" identifier = (pointer_expression "&local_22c" & identifier)) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4)" identifier = (cast_expression "(code *)(PTR_LAB_000af7c0 + 0x20c4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000af7c0 + 0x20c4)" ( (binary_expression "PTR_LAB_000af7c0 + 0x20c4" identifier + number_literal) )))) ;) (expression_statement "piVar16 = param_4;" (assignment_expression "piVar16 = param_4" identifier = identifier) ;) (expression_statement "local_224 = auStack_12c;" (assignment_expression "local_224 = auStack_12c" identifier = identifier) ;) (expression_statement "local_214 = auStack_12c;" (assignment_expression "local_214 = auStack_12c" identifier = identifier) ;) (labeled_statement "LAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);" statement_identifier : (do_statement "do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);" do (compound_statement "{\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    }" { (expression_statement "local_21c = 0;" (assignment_expression "local_21c = 0" identifier = number_literal) ;) (expression_statement "iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);" (assignment_expression "iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1)" identifier = (call_expression "(*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_rpl_memchr_000af694)" ( (pointer_expression "*(code *)PTR_rpl_memchr_000af694" * (cast_expression "(code *)PTR_rpl_memchr_000af694" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,0x3c,(int)ppcVar26 - (int)param_1)" ( identifier , number_literal , (binary_expression "(int)ppcVar26 - (int)param_1" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;" if (parenthesized_expression "((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))" ( (binary_expression "(iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27)" ( (comma_expression "ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27" (assignment_expression "ppcVar27 = (code **)(iVar8 + 1)" identifier = (cast_expression "(code **)(iVar8 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) , (binary_expression "ppcVar26 <= ppcVar27" identifier <= identifier)) ))) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)(iVar8 + 1);" (assignment_expression "uVar13 = (uint)*(char *)(iVar8 + 1)" identifier = (binary_expression "(uint)*(char *)(iVar8 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(iVar8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) ))))) ;) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }" if (parenthesized_expression "(uVar13 == 0x21)" ( (binary_expression "uVar13 == 0x21" identifier == number_literal) )) (compound_statement "{\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }" { (if_statement "if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }" if (parenthesized_expression "(((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-'))" ( (binary_expression "((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')" (parenthesized_expression "((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-'))" ( (binary_expression "(((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')" (parenthesized_expression "(((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26))" ( (binary_expression "((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)" (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 "((code **)(iVar8 + 4) < ppcVar26)" ( (binary_expression "(code **)(iVar8 + 4) < ppcVar26" (cast_expression "(code **)(iVar8 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) ))) < identifier) ))) )) && (parenthesized_expression "(*(char *)(iVar8 + 2) == '-')" ( (binary_expression "*(char *)(iVar8 + 2) == '-'" (pointer_expression "*(char *)(iVar8 + 2)" * (cast_expression "(char *)(iVar8 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 2)" ( (binary_expression "iVar8 + 2" identifier + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) && (parenthesized_expression "(*(char *)(iVar8 + 3) == '-')" ( (binary_expression "*(char *)(iVar8 + 3) == '-'" (pointer_expression "*(char *)(iVar8 + 3)" * (cast_expression "(char *)(iVar8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 3)" ( (binary_expression "iVar8 + 3" identifier + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }" { (expression_statement "ppcVar27 = (code **)(iVar8 + 3);" (assignment_expression "ppcVar27 = (code **)(iVar8 + 3)" identifier = (cast_expression "(code **)(iVar8 + 3)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 3)" ( (binary_expression "iVar8 + 3" identifier + number_literal) )))) ;) (labeled_statement "LAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }" statement_identifier : (while_statement "while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }" while (parenthesized_expression "(ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)" ( (comma_expression "ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26" (assignment_expression "ppcVar20 = ppcVar27" identifier = identifier) , (comma_expression "ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26" (assignment_expression "ppcVar27 = (code **)((int)ppcVar20 + 3)" identifier = (cast_expression "(code **)((int)ppcVar20 + 3)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar20 + 3)" ( (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "ppcVar27 < ppcVar26" identifier < identifier))) )) (compound_statement "{\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }" { (if_statement "if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" if (parenthesized_expression "(*(char *)((int)ppcVar20 + 3) == '-')" ( (binary_expression "*(char *)((int)ppcVar20 + 3) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 3)" * (cast_expression "(char *)((int)ppcVar20 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + 3)" ( (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }" { (do_statement "do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');" do (compound_statement "{\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              }" { (expression_statement "ppcVar20 = ppcVar27;" (assignment_expression "ppcVar20 = ppcVar27" identifier = identifier) ;) (if_statement "if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;" if (parenthesized_expression "(*(char *)((int)ppcVar20 + -1) == '-')" ( (binary_expression "*(char *)((int)ppcVar20 + -1) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + -1)" * (cast_expression "(char *)((int)ppcVar20 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + -1)" ( (binary_expression "(int)ppcVar20 + -1" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) )) (goto_statement "goto LAB_00032dcc;" goto statement_identifier ;)) (expression_statement "ppcVar27 = (code **)((int)ppcVar20 + 2);" (assignment_expression "ppcVar27 = (code **)((int)ppcVar20 + 2)" identifier = (cast_expression "(code **)((int)ppcVar20 + 2)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar20 + 2)" ( (binary_expression "(int)ppcVar20 + 2" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar27) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar26 <= ppcVar27)" ( (binary_expression "ppcVar26 <= ppcVar27" identifier <= identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) }) while (parenthesized_expression "(*(char *)ppcVar27 == '-')" ( (binary_expression "*(char *)ppcVar27 == '-'" (pointer_expression "*(char *)ppcVar27" * (cast_expression "(char *)ppcVar27" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'-'" ' character ')) )) ;) (if_statement "if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }" if (parenthesized_expression "((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-'))" ( (binary_expression "(*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')" (parenthesized_expression "(*(char *)ppcVar27 == '>')" ( (binary_expression "*(char *)ppcVar27 == '>'" (pointer_expression "*(char *)ppcVar27" * (cast_expression "(char *)ppcVar27" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'>'" ' character ')) )) && (parenthesized_expression "(*(char *)((int)ppcVar20 + 1) == '-')" ( (binary_expression "*(char *)((int)ppcVar20 + 1) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 1)" * (cast_expression "(char *)((int)ppcVar20 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + 1)" ( (binary_expression "(int)ppcVar20 + 1" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }" { (expression_statement "ppcVar20 = (code **)((int)ppcVar20 + 3);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar20 + 3)" identifier = (cast_expression "(code **)((int)ppcVar20 + 3)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar20 + 3)" ( (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_00032d0c;" goto statement_identifier ;) })) }) (else_clause "else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" else (if_statement "if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" if (parenthesized_expression "(((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-'))" ( (binary_expression "((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')" (parenthesized_expression "((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     )" ( (binary_expression "(*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')" (parenthesized_expression "(*(char *)((int)ppcVar20 + 3) == '>')" ( (binary_expression "*(char *)((int)ppcVar20 + 3) == '>'" (pointer_expression "*(char *)((int)ppcVar20 + 3)" * (cast_expression "(char *)((int)ppcVar20 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + 3)" ( (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'>'" ' character ')) )) && (parenthesized_expression "(*(char *)((int)ppcVar20 + 2) == '-')" ( (binary_expression "*(char *)((int)ppcVar20 + 2) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 2)" * (cast_expression "(char *)((int)ppcVar20 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + 2)" ( (binary_expression "(int)ppcVar20 + 2" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) && (parenthesized_expression "(*(char *)((int)ppcVar20 + 1) == '-')" ( (binary_expression "*(char *)((int)ppcVar20 + 1) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 1)" * (cast_expression "(char *)((int)ppcVar20 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar20 + 1)" ( (binary_expression "(int)ppcVar20 + 1" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) ))) )) (compound_statement "{\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" { (expression_statement "ppcVar20 = ppcVar20 + 1;" (assignment_expression "ppcVar20 = ppcVar20 + 1" identifier = (binary_expression "ppcVar20 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00032d0c;" goto statement_identifier ;) })))) }))) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) })) (expression_statement "piVar16 = (int *)0x2;" (assignment_expression "piVar16 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "cVar2 = '!';" (assignment_expression "cVar2 = '!'" identifier = (char_literal "'!'" ' character ')) ;) (expression_statement "ppcVar20 = (code **)(iVar8 + 2);" (assignment_expression "ppcVar20 = (code **)(iVar8 + 2)" identifier = (cast_expression "(code **)(iVar8 + 2)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 2)" ( (binary_expression "iVar8 + 2" identifier + number_literal) )))) ;) (for_statement "for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }" for ( (assignment_expression "ppcVar27 = ppcVar20" identifier = identifier) ; (binary_expression "ppcVar26 != ppcVar27" identifier != identifier) ; (assignment_expression "ppcVar27 = (code **)((int)ppcVar27 + 1)" identifier = (cast_expression "(code **)((int)ppcVar27 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar27 + 1)" ( (binary_expression "(int)ppcVar27 + 1" (cast_expression "(int)ppcVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ) (compound_statement "{\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }" { (if_statement "if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }" if (parenthesized_expression "((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa)" ( (binary_expression "(undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa" (cast_expression "(undefined1 *)((int)piVar16 + -3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + -3)" ( (binary_expression "(int)piVar16 + -3" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < (cast_expression "(undefined1 *)0xa" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }" { (expression_statement "iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();" (assignment_expression "iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))()" identifier = (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954))" * (cast_expression "(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954))" ( (binary_expression "&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" * (cast_expression "(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" ( (binary_expression "puVar29 + ((int)piVar16 + -3) * 4 + -0x954" (binary_expression "puVar29 + ((int)piVar16 + -3) * 4" identifier + (binary_expression "((int)piVar16 + -3) * 4" (parenthesized_expression "((int)piVar16 + -3)" ( (binary_expression "(int)piVar16 + -3" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar8;" return identifier ;) })) (if_statement "if (cVar2 != '!') break;" if (parenthesized_expression "(cVar2 != '!')" ( (binary_expression "cVar2 != '!'" identifier != (char_literal "'!'" ' character ')) )) (break_statement "break;" break ;)) (expression_statement "cVar2 = *(char *)ppcVar27;" (assignment_expression "cVar2 = *(char *)ppcVar27" identifier = (pointer_expression "*(char *)ppcVar27" * (cast_expression "(char *)ppcVar27" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar16 = (int *)0x3;" (assignment_expression "piVar16 = (int *)0x3" identifier = (cast_expression "(int *)0x3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (goto_statement "goto joined_r0x00032628;" goto statement_identifier ;) })) (if_statement "if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }" if (parenthesized_expression "(uVar13 == 0x2f)" ( (binary_expression "uVar13 == 0x2f" identifier == number_literal) )) (compound_statement "{\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }" { (expression_statement "ppcVar20 = (code **)(iVar8 + 2);" (assignment_expression "ppcVar20 = (code **)(iVar8 + 2)" identifier = (cast_expression "(code **)(iVar8 + 2)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 2)" ( (binary_expression "iVar8 + 2" identifier + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar20) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar20)" ( (binary_expression "ppcVar26 <= ppcVar20" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)(iVar8 + 2);" (assignment_expression "uVar13 = (uint)*(char *)(iVar8 + 2)" identifier = (binary_expression "(uint)*(char *)(iVar8 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)(iVar8 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 2)" ( (binary_expression "iVar8 + 2" identifier + number_literal) ))))) ;) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" identifier = number_literal) ;) (expression_statement "ppcVar23 = ppcVar20;" (assignment_expression "ppcVar23 = ppcVar20" identifier = identifier) ;) }) (else_clause "else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }" else (compound_statement "{\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }" { (expression_statement "local_290 = 0;" (assignment_expression "local_290 = 0" identifier = number_literal) ;) (expression_statement "ppcVar20 = ppcVar27;" (assignment_expression "ppcVar20 = ppcVar27" identifier = identifier) ;) (expression_statement "ppcVar23 = ppcVar27;" (assignment_expression "ppcVar23 = ppcVar27" identifier = identifier) ;) }))) (while_statement "while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }" while (parenthesized_expression "(param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e)" ( (comma_expression "param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "param_1 = ppcVar23" identifier = identifier) , (comma_expression "ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "ppcVar24 = ppcVar20" identifier = identifier) , (binary_expression "(uVar13 & 0xff) - 0x21 < 0x5e" (binary_expression "(uVar13 & 0xff) - 0x21" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) - number_literal) < number_literal))) )) (compound_statement "{\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }" { (if_statement "if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }" if (parenthesized_expression "(((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f))" ( (binary_expression "((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)" (parenthesized_expression "((uVar13 & 0xff) - 0x3c < 3)" ( (binary_expression "(uVar13 & 0xff) - 0x3c < 3" (binary_expression "(uVar13 & 0xff) - 0x3c" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) - number_literal) < number_literal) )) || (parenthesized_expression "(uVar13 == 0x2f)" ( (binary_expression "uVar13 == 0x2f" identifier == number_literal) ))) )) (compound_statement "{\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }" { (if_statement "if (ppcVar23 != ppcVar20) goto LAB_00032384;" if (parenthesized_expression "(ppcVar23 != ppcVar20)" ( (binary_expression "ppcVar23 != ppcVar20" identifier != identifier) )) (goto_statement "goto LAB_00032384;" goto statement_identifier ;)) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) })) (expression_statement "ppcVar20 = (code **)((int)ppcVar20 + 1);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar20 + 1)" identifier = (cast_expression "(code **)((int)ppcVar20 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar20 + 1)" ( (binary_expression "(int)ppcVar20 + 1" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar20) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar20)" ( (binary_expression "ppcVar26 <= ppcVar20" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)ppcVar20;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar20" identifier = (binary_expression "(uint)*(char *)ppcVar20" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) }) while (parenthesized_expression "(ppcVar23 == ppcVar20)" ( (binary_expression "ppcVar23 == ppcVar20" identifier == identifier) )) ;)) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (while_statement "while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" while (parenthesized_expression "((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)))" ( (parenthesized_expression "(uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))" ( (binary_expression "uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" (binary_expression "uVar13 - 9 < 0x18" (binary_expression "uVar13 - 9" identifier - number_literal) < number_literal) && (parenthesized_expression "((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" ( (binary_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0" (parenthesized_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 - 9 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 - 9 & 0x1f)" ( (binary_expression "uVar13 - 9 & 0x1f" (binary_expression "uVar13 - 9" identifier - number_literal) & number_literal) ))) & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" { (expression_statement "ppcVar24 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar24 + 1)" identifier = (cast_expression "(code **)((int)ppcVar24 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar24 + 1)" ( (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar24)" ( (binary_expression "ppcVar26 <= ppcVar24" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)ppcVar24;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar24" identifier = (binary_expression "(uint)*(char *)ppcVar24" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (labeled_statement "LAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" statement_identifier : (if_statement "if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" if (parenthesized_expression "(local_290 == 0)" ( (binary_expression "local_290 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }" { (expression_statement "pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);" (assignment_expression "pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14)" identifier = (cast_expression "(code *)(*(code *)PTR_xmalloc_000af5c4)(0x14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_000af5c4)(0x14)" (parenthesized_expression "(*(code *)PTR_xmalloc_000af5c4)" ( (pointer_expression "*(code *)PTR_xmalloc_000af5c4" * (cast_expression "(code *)PTR_xmalloc_000af5c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x14)" ( number_literal ))))) ;) (if_statement "if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }" if (parenthesized_expression "(local_22c == (code *)0x0)" ( (binary_expression "local_22c == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }" { (expression_statement "*(int *)(pcVar28 + 0x10) = 0;" (assignment_expression "*(int *)(pcVar28 + 0x10) = 0" (pointer_expression "*(int *)(pcVar28 + 0x10)" * (cast_expression "(int *)(pcVar28 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x10)" ( (binary_expression "pcVar28 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(pcVar28 + 0xc) = 0;" (assignment_expression "*(int *)(pcVar28 + 0xc) = 0" (pointer_expression "*(int *)(pcVar28 + 0xc)" * (cast_expression "(int *)(pcVar28 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0xc)" ( (binary_expression "pcVar28 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_22c = pcVar28;" (assignment_expression "local_22c = pcVar28" identifier = identifier) ;) }) (else_clause "else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }" else (compound_statement "{\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }" { (expression_statement "*(code **)(local_228 + 0x10) = pcVar28;" (assignment_expression "*(code **)(local_228 + 0x10) = pcVar28" (pointer_expression "*(code **)(local_228 + 0x10)" * (cast_expression "(code **)(local_228 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_228 + 0x10)" ( (binary_expression "local_228 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(pcVar28 + 0xc) = local_228;" (assignment_expression "*(code **)(pcVar28 + 0xc) = local_228" (pointer_expression "*(code **)(pcVar28 + 0xc)" * (cast_expression "(code **)(pcVar28 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0xc)" ( (binary_expression "pcVar28 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(pcVar28 + 0x10) = 0;" (assignment_expression "*(int *)(pcVar28 + 0x10) = 0" (pointer_expression "*(int *)(pcVar28 + 0x10)" * (cast_expression "(int *)(pcVar28 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x10)" ( (binary_expression "pcVar28 + 0x10" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "*(code ***)pcVar28 = ppcVar23;" (assignment_expression "*(code ***)pcVar28 = ppcVar23" (pointer_expression "*(code ***)pcVar28" * (cast_expression "(code ***)pcVar28" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = identifier) ;) (expression_statement "*(code ***)(pcVar28 + 4) = ppcVar20;" (assignment_expression "*(code ***)(pcVar28 + 4) = ppcVar20" (pointer_expression "*(code ***)(pcVar28 + 4)" * (cast_expression "(code ***)(pcVar28 + 4)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pcVar28 + 4)" ( (binary_expression "pcVar28 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(pcVar28 + 8) = 0;" (assignment_expression "*(int *)(pcVar28 + 8) = 0" (pointer_expression "*(int *)(pcVar28 + 8)" * (cast_expression "(int *)(pcVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 8)" ( (binary_expression "pcVar28 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_228 = pcVar28;" (assignment_expression "local_228 = pcVar28" identifier = identifier) ;) }) (else_clause "else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" else (compound_statement "{\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" { (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;" if (parenthesized_expression "((uVar13 & 0xfffffffd) != 0x3c)" ( (binary_expression "(uVar13 & 0xfffffffd) != 0x3c" (parenthesized_expression "(uVar13 & 0xfffffffd)" ( (binary_expression "uVar13 & 0xfffffffd" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) })))) (expression_statement "pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8)" identifier = (cast_expression "(code *)(PTR_LAB_000af7c0 + 0x1ff8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000af7c0 + 0x1ff8)" ( (binary_expression "PTR_LAB_000af7c0 + 0x1ff8" identifier + number_literal) )))) ;) (expression_statement "iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);" (assignment_expression "iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20)" identifier = (call_expression "FUN_00031ff8(param_6,ppcVar23,ppcVar20)" identifier (argument_list "(param_6,ppcVar23,ppcVar20)" ( identifier , identifier , identifier )))) ;) (expression_statement "bVar1 = iVar9 != 0;" (assignment_expression "bVar1 = iVar9 != 0" identifier = (binary_expression "iVar9 != 0" identifier != number_literal)) ;) (if_statement "if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }" { (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "FUN_00031590(&local_224,ppcVar23,ppcVar20);" (call_expression "FUN_00031590(&local_224,ppcVar23,ppcVar20)" identifier (argument_list "(&local_224,ppcVar23,ppcVar20)" ( (pointer_expression "&local_224" & identifier) , identifier , identifier ))) ;) })) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }" statement_identifier : (while_statement "while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }" { (expression_statement "ppcVar25 = ppcVar24;" (assignment_expression "ppcVar25 = ppcVar24" identifier = identifier) ;) (expression_statement "uVar13 = (uint)*(char *)ppcVar25;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar25" identifier = (binary_expression "(uint)*(char *)ppcVar25" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;" if (parenthesized_expression "((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "(0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar13 - 9)" ( (binary_expression "0x17 < uVar13 - 9" number_literal < (binary_expression "uVar13 - 9" identifier - number_literal)) )) || (parenthesized_expression "((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 - 9 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 - 9 & 0x1f)" ( (binary_expression "uVar13 - 9 & 0x1f" (binary_expression "uVar13 - 9" identifier - number_literal) & number_literal) ))) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "ppcVar24 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar25 + 1)" identifier = (cast_expression "(code **)((int)ppcVar25 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar25 + 1)" ( (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= (code **)((int)ppcVar25 + 1))" ( (binary_expression "ppcVar26 <= (code **)((int)ppcVar25 + 1)" identifier <= (cast_expression "(code **)((int)ppcVar25 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar25 + 1)" ( (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) }))) (if_statement "if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }" if (parenthesized_expression "(uVar13 == 0x2f)" ( (binary_expression "uVar13 == 0x2f" identifier == number_literal) )) (compound_statement "{\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }" { (expression_statement "ppcVar25 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar25 = (code **)((int)ppcVar25 + 1)" identifier = (cast_expression "(code **)((int)ppcVar25 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar25 + 1)" ( (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar25) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar25)" ( (binary_expression "ppcVar26 <= ppcVar25" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (goto_statement "goto LAB_000328e4;" goto statement_identifier ;) })) (expression_statement "ppcVar22 = ppcVar25;" (assignment_expression "ppcVar22 = ppcVar25" identifier = identifier) ;) (if_statement "if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;" if (parenthesized_expression "((uVar13 & 0xfffffffd) == 0x3c)" ( (binary_expression "(uVar13 & 0xfffffffd) == 0x3c" (parenthesized_expression "(uVar13 & 0xfffffffd)" ( (binary_expression "uVar13 & 0xfffffffd" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0003292c;" goto statement_identifier ;)) (while_statement "while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }" while (parenthesized_expression "(ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e)" ( (comma_expression "ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "ppcVar21 = ppcVar25" identifier = identifier) , (comma_expression "ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "ppcVar24 = ppcVar22" identifier = identifier) , (comma_expression "local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "local_25c = ppcVar25" identifier = identifier) , (comma_expression "local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "local_254 = ppcVar22" identifier = identifier) , (binary_expression "(uVar13 & 0xff) - 0x21 < 0x5e" (binary_expression "(uVar13 & 0xff) - 0x21" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) - number_literal) < number_literal))))) )) (compound_statement "{\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }" { (if_statement "if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }" if (parenthesized_expression "((uVar13 & 0xff) - 0x3c < 3)" ( (binary_expression "(uVar13 & 0xff) - 0x3c < 3" (binary_expression "(uVar13 & 0xff) - 0x3c" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) - number_literal) < number_literal) )) (compound_statement "{\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }" { (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (ppcVar25 != ppcVar22) goto LAB_00032818;" if (parenthesized_expression "(ppcVar25 != ppcVar22)" ( (binary_expression "ppcVar25 != ppcVar22" identifier != identifier) )) (goto_statement "goto LAB_00032818;" goto statement_identifier ;)) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) })) (if_statement "if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }" if (parenthesized_expression "(uVar13 == 0x2f)" ( (binary_expression "uVar13 == 0x2f" identifier == number_literal) )) (compound_statement "{\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }" { (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (ppcVar25 == ppcVar22) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar25 == ppcVar22)" ( (binary_expression "ppcVar25 == ppcVar22" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (expression_statement "local_250 = (int *)&DAT_00000001;" (assignment_expression "local_250 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "param_1 = ppcVar22;" (assignment_expression "param_1 = ppcVar22" identifier = identifier) ;) (goto_statement "goto LAB_00032994;" goto statement_identifier ;) })) (expression_statement "ppcVar22 = (code **)((int)ppcVar22 + 1);" (assignment_expression "ppcVar22 = (code **)((int)ppcVar22 + 1)" identifier = (cast_expression "(code **)((int)ppcVar22 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar22 + 1)" ( (binary_expression "(int)ppcVar22 + 1" (cast_expression "(int)ppcVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar22) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar22)" ( (binary_expression "ppcVar26 <= ppcVar22" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)ppcVar22;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar22" identifier = (binary_expression "(uint)*(char *)ppcVar22" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar22" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (ppcVar25 == ppcVar22) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar25 == ppcVar22)" ( (binary_expression "ppcVar25 == ppcVar22" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (while_statement "while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" while (parenthesized_expression "((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)))" ( (parenthesized_expression "(uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))" ( (binary_expression "uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" (binary_expression "uVar13 - 9 < 0x18" (binary_expression "uVar13 - 9" identifier - number_literal) < number_literal) && (parenthesized_expression "((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" ( (binary_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0" (parenthesized_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 - 9 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 - 9 & 0x1f)" ( (binary_expression "uVar13 - 9 & 0x1f" (binary_expression "uVar13 - 9" identifier - number_literal) & number_literal) ))) & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" { (expression_statement "ppcVar24 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar24 + 1)" identifier = (cast_expression "(code **)((int)ppcVar24 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar24 + 1)" ( (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar24)" ( (binary_expression "ppcVar26 <= ppcVar24" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)*(char *)ppcVar24;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar24" identifier = (binary_expression "(uint)*(char *)ppcVar24" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (if_statement "if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" if (parenthesized_expression "((uVar13 - 0x21 & 0xff) < 0x5e)" ( (binary_expression "(uVar13 - 0x21 & 0xff) < 0x5e" (parenthesized_expression "(uVar13 - 0x21 & 0xff)" ( (binary_expression "uVar13 - 0x21 & 0xff" (binary_expression "uVar13 - 0x21" identifier - number_literal) & number_literal) )) < number_literal) )) (compound_statement "{\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }" { (labeled_statement "LAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;" statement_identifier : (if_statement "if (uVar13 == 0x3d) goto LAB_00032828;" if (parenthesized_expression "(uVar13 == 0x3d)" ( (binary_expression "uVar13 == 0x3d" identifier == number_literal) )) (goto_statement "goto LAB_00032828;" goto statement_identifier ;))) (expression_statement "local_250 = (int *)&DAT_00000001;" (assignment_expression "local_250 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "param_1 = ppcVar22;" (assignment_expression "param_1 = ppcVar22" identifier = identifier) ;) }) (else_clause "else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" else (if_statement "if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" if (parenthesized_expression "((uVar13 & 0xfffffffd) == 0x3c)" ( (binary_expression "(uVar13 & 0xfffffffd) == 0x3c" (parenthesized_expression "(uVar13 & 0xfffffffd)" ( (binary_expression "uVar13 & 0xfffffffd" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }" { (expression_statement "local_250 = (int *)&DAT_00000001;" (assignment_expression "local_250 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (expression_statement "param_1 = ppcVar22;" (assignment_expression "param_1 = ppcVar22" identifier = identifier) ;) }) (else_clause "else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" else (compound_statement "{\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" { (if_statement "if (uVar13 != 0x3d) goto LAB_0003228c;" if (parenthesized_expression "(uVar13 != 0x3d)" ( (binary_expression "uVar13 != 0x3d" identifier != number_literal) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (labeled_statement "LAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);" statement_identifier : (expression_statement "ppcVar21 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar21 = (code **)((int)ppcVar24 + 1)" identifier = (cast_expression "(code **)((int)ppcVar24 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar24 + 1)" ( (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (if_statement "if (ppcVar26 <= ppcVar21) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar21)" ( (binary_expression "ppcVar26 <= ppcVar21" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" identifier = (cast_expression "(int *)&DAT_00000001" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000001" & identifier))) ;) (while_statement "while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }" { (expression_statement "uVar15 = (uint)*(char *)ppcVar21;" (assignment_expression "uVar15 = (uint)*(char *)ppcVar21" identifier = (binary_expression "(uint)*(char *)ppcVar21" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar21" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar13 = uVar15 - 9;" (assignment_expression "uVar13 = uVar15 - 9" identifier = (binary_expression "uVar15 - 9" identifier - number_literal)) ;) (if_statement "if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;" if (parenthesized_expression "((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "(0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar13)" ( (binary_expression "0x17 < uVar13" number_literal < identifier) )) || (parenthesized_expression "((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar13 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "ppcVar21 = (code **)((int)ppcVar21 + 1);" (assignment_expression "ppcVar21 = (code **)((int)ppcVar21 + 1)" identifier = (cast_expression "(code **)((int)ppcVar21 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar21 + 1)" ( (binary_expression "(int)ppcVar21 + 1" (cast_expression "(int)ppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 == ppcVar21) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 == ppcVar21)" ( (binary_expression "ppcVar26 == ppcVar21" identifier == identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) })) (if_statement "if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }" if (parenthesized_expression "((uVar15 == 0x22) || (uVar15 == 0x27))" ( (binary_expression "(uVar15 == 0x22) || (uVar15 == 0x27)" (parenthesized_expression "(uVar15 == 0x22)" ( (binary_expression "uVar15 == 0x22" identifier == number_literal) )) || (parenthesized_expression "(uVar15 == 0x27)" ( (binary_expression "uVar15 == 0x27" identifier == number_literal) ))) )) (compound_statement "{\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }" { (expression_statement "local_25c = (code **)((int)ppcVar21 + 1);" (assignment_expression "local_25c = (code **)((int)ppcVar21 + 1)" identifier = (cast_expression "(code **)((int)ppcVar21 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar21 + 1)" ( (binary_expression "(int)ppcVar21 + 1" (cast_expression "(int)ppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= local_25c) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= local_25c)" ( (binary_expression "ppcVar26 <= local_25c" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "piVar16 = (int *)0x3c;" (assignment_expression "piVar16 = (int *)0x3c" identifier = (cast_expression "(int *)0x3c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1 = local_25c;" (assignment_expression "param_1 = local_25c" identifier = identifier) ;) (while_statement "while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }" while (parenthesized_expression "(uVar13 = (uint)*(char *)param_1, uVar15 != uVar13)" ( (comma_expression "uVar13 = (uint)*(char *)param_1, uVar15 != uVar13" (assignment_expression "uVar13 = (uint)*(char *)param_1" identifier = (binary_expression "(uint)*(char *)param_1" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) , (binary_expression "uVar15 != uVar13" identifier != identifier)) )) (compound_statement "{\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }" { (if_statement "if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }" { (labeled_statement "LAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }" statement_identifier : (if_statement "if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }" if (parenthesized_expression "((uVar13 == 0x3c) || (uVar13 == 0x3e))" ( (binary_expression "(uVar13 == 0x3c) || (uVar13 == 0x3e)" (parenthesized_expression "(uVar13 == 0x3c)" ( (binary_expression "uVar13 == 0x3c" identifier == number_literal) )) || (parenthesized_expression "(uVar13 == 0x3e)" ( (binary_expression "uVar13 == 0x3e" identifier == number_literal) ))) )) (compound_statement "{\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }" { (if_statement "if (uVar15 != uVar13) goto LAB_0003228c;" if (parenthesized_expression "(uVar15 != uVar13)" ( (binary_expression "uVar15 != uVar13" identifier != identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (break_statement "break;" break ;) }))) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) }) (else_clause "else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" else (if_statement "if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" if (parenthesized_expression "(uVar13 == 10)" ( (binary_expression "uVar13 == 10" identifier == number_literal) )) (compound_statement "{\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" { (expression_statement "uVar13 = (uint)*(char *)((int)ppcVar21 + 1);" (assignment_expression "uVar13 = (uint)*(char *)((int)ppcVar21 + 1)" identifier = (binary_expression "(uint)*(char *)((int)ppcVar21 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)((int)ppcVar21 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar21 + 1)" ( (binary_expression "(int)ppcVar21 + 1" (cast_expression "(int)ppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "param_1 = local_25c;" (assignment_expression "param_1 = local_25c" identifier = identifier) ;) (if_statement "if (uVar13 != uVar15) goto LAB_00032c8c;" if (parenthesized_expression "(uVar13 != uVar15)" ( (binary_expression "uVar13 != uVar15" identifier != identifier) )) (goto_statement "goto LAB_00032c8c;" goto statement_identifier ;)) (break_statement "break;" break ;) })))) (expression_statement "param_1 = (code **)((int)param_1 + 1);" (assignment_expression "param_1 = (code **)((int)param_1 + 1)" identifier = (cast_expression "(code **)((int)param_1 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_1 + 1)" ( (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= param_1) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= param_1)" ( (binary_expression "ppcVar26 <= param_1" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) })) (expression_statement "ppcVar24 = (code **)((int)param_1 + 1);" (assignment_expression "ppcVar24 = (code **)((int)param_1 + 1)" identifier = (cast_expression "(code **)((int)param_1 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_1 + 1)" ( (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_254 = ppcVar24;" (assignment_expression "local_254 = ppcVar24" identifier = identifier) ;) (expression_statement "local_250 = piVar6;" (assignment_expression "local_250 = piVar6" identifier = identifier) ;) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar24)" ( (binary_expression "ppcVar26 <= ppcVar24" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) }) (else_clause "else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }" else (compound_statement "{\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }" { (expression_statement "piVar16 = (int *)0x3c;" (assignment_expression "piVar16 = (int *)0x3c" identifier = (cast_expression "(int *)0x3c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppcVar24 = ppcVar21;" (assignment_expression "ppcVar24 = ppcVar21" identifier = identifier) ;) (while_statement "while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }" while (parenthesized_expression "(((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c)))" ( (parenthesized_expression "((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))" ( (binary_expression "(0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c)" (parenthesized_expression "(0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (binary_expression "0x17 < uVar13" number_literal < identifier) || (parenthesized_expression "((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar13 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((uVar15 & 0xfffffffd) != 0x3c)" ( (binary_expression "(uVar15 & 0xfffffffd) != 0x3c" (parenthesized_expression "(uVar15 & 0xfffffffd)" ( (binary_expression "uVar15 & 0xfffffffd" identifier & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }" { (expression_statement "ppcVar24 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar24 + 1)" identifier = (cast_expression "(code **)((int)ppcVar24 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar24 + 1)" ( (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar24)" ( (binary_expression "ppcVar26 <= ppcVar24" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (expression_statement "uVar15 = (uint)*(char *)ppcVar24;" (assignment_expression "uVar15 = (uint)*(char *)ppcVar24" identifier = (binary_expression "(uint)*(char *)ppcVar24" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)ppcVar24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar13 = uVar15 - 9;" (assignment_expression "uVar13 = uVar15 - 9" identifier = (binary_expression "uVar15 - 9" identifier - number_literal)) ;) })) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (ppcVar21 == ppcVar24) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar21 == ppcVar24)" ( (binary_expression "ppcVar21 == ppcVar24" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) (expression_statement "local_250 = (int *)0x2;" (assignment_expression "local_250 = (int *)0x2" identifier = (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1 = ppcVar24;" (assignment_expression "param_1 = ppcVar24" identifier = identifier) ;) (expression_statement "local_25c = ppcVar21;" (assignment_expression "local_25c = ppcVar21" identifier = identifier) ;) (expression_statement "local_254 = ppcVar24;" (assignment_expression "local_254 = ppcVar24" identifier = identifier) ;) }))) }))))) (labeled_statement "LAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }" statement_identifier : (if_statement "if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }" if (parenthesized_expression "((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))" ( (binary_expression "(bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0)" (parenthesized_expression "(bVar1)" ( identifier )) && (parenthesized_expression "(piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0)" ( (comma_expression "piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0" (assignment_expression "piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22)" identifier = (cast_expression "(int *)(*pcVar28)(param_7,ppcVar25,ppcVar22)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar28)(param_7,ppcVar25,ppcVar22)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(param_7,ppcVar25,ppcVar22)" ( identifier , identifier , identifier ))))) , (binary_expression "piVar16 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }" { (expression_statement "iVar19 = iVar9 + 1;" (assignment_expression "iVar19 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "iVar17 = local_27c;" (assignment_expression "iVar17 = local_27c" identifier = identifier) ;) (if_statement "if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }" if (parenthesized_expression "(local_27c < iVar19)" ( (binary_expression "local_27c < iVar19" identifier < identifier) )) (compound_statement "{\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }" { (do_statement "do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);" do (compound_statement "{\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        }" { (expression_statement "iVar18 = iVar17;" (assignment_expression "iVar18 = iVar17" identifier = identifier) ;) (expression_statement "iVar17 = iVar18 * 2;" (assignment_expression "iVar17 = iVar18 * 2" identifier = (binary_expression "iVar18 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "(iVar17 < iVar19)" ( (binary_expression "iVar17 < iVar19" identifier < identifier) )) ;) (if_statement "if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }" if (parenthesized_expression "(local_27c != iVar17)" ( (binary_expression "local_27c != iVar17" identifier != identifier) )) (compound_statement "{\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }" { (if_statement "if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }" if (parenthesized_expression "(local_28c == (int *)0x0)" ( (binary_expression "local_28c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }" { (expression_statement "uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30)" identifier = (call_expression "(*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30)" (parenthesized_expression "(*(code *)PTR_xmalloc_000af5c4)" ( (pointer_expression "*(code *)PTR_xmalloc_000af5c4" * (cast_expression "(code *)PTR_xmalloc_000af5c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18 * 0x30)" ( (binary_expression "iVar18 * 0x30" identifier * number_literal) )))) ;) (expression_statement "local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);" (assignment_expression "local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18)" identifier = (cast_expression "(int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18)" (parenthesized_expression "(*(code *)PTR_memcpy_000afc70)" ( (pointer_expression "*(code *)PTR_memcpy_000afc70" * (cast_expression "(code *)PTR_memcpy_000afc70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,local_280,local_27c * 0x18)" ( identifier , identifier , (binary_expression "local_27c * 0x18" identifier * number_literal) ))))) ;) (expression_statement "local_28c = piVar16;" (assignment_expression "local_28c = piVar16" identifier = identifier) ;) }) (else_clause "else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }" else (compound_statement "{\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }" { (expression_statement "local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);" (assignment_expression "local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280)" identifier = (cast_expression "(int *)(*(code *)PTR_xrealloc_000af818)(local_280)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xrealloc_000af818)(local_280)" (parenthesized_expression "(*(code *)PTR_xrealloc_000af818)" ( (pointer_expression "*(code *)PTR_xrealloc_000af818" * (cast_expression "(code *)PTR_xrealloc_000af818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_280)" ( identifier ))))) ;) }))) })) })) (expression_statement "local_280[iVar9 * 6 + 4] = local_21c;" (assignment_expression "local_280[iVar9 * 6 + 4] = local_21c" (subscript_expression "local_280[iVar9 * 6 + 4]" identifier [ (binary_expression "iVar9 * 6 + 4" (binary_expression "iVar9 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "FUN_00031590(&local_224,ppcVar25,ppcVar22,1);" (call_expression "FUN_00031590(&local_224,ppcVar25,ppcVar22,1)" identifier (argument_list "(&local_224,ppcVar25,ppcVar22,1)" ( (pointer_expression "&local_224" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "local_280[iVar9 * 6 + 5] = local_21c;" (assignment_expression "local_280[iVar9 * 6 + 5] = local_21c" (subscript_expression "local_280[iVar9 * 6 + 5]" identifier [ (binary_expression "iVar9 * 6 + 5" (binary_expression "iVar9 * 6" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "FUN_00031590(&local_224,local_25c,param_1);" (call_expression "FUN_00031590(&local_224,local_25c,param_1)" identifier (argument_list "(&local_224,local_25c,param_1)" ( (pointer_expression "&local_224" & identifier) , identifier , identifier ))) ;) (expression_statement "local_280[iVar9 * 6 + 2] = (int)ppcVar21;" (assignment_expression "local_280[iVar9 * 6 + 2] = (int)ppcVar21" (subscript_expression "local_280[iVar9 * 6 + 2]" identifier [ (binary_expression "iVar9 * 6 + 2" (binary_expression "iVar9 * 6" identifier * number_literal) + number_literal) ]) = (cast_expression "(int)ppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;" (assignment_expression "local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21" (subscript_expression "local_280[iVar9 * 6 + 3]" identifier [ (binary_expression "iVar9 * 6 + 3" (binary_expression "iVar9 * 6" identifier * number_literal) + number_literal) ]) = (binary_expression "(int)local_254 - (int)ppcVar21" (cast_expression "(int)local_254" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar21" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_27c = iVar17;" (assignment_expression "local_27c = iVar17" identifier = identifier) ;) (expression_statement "iVar9 = iVar19;" (assignment_expression "iVar9 = iVar19" identifier = identifier) ;) (expression_statement "piVar16 = local_250;" (assignment_expression "piVar16 = local_250" identifier = identifier) ;) }))) (goto_statement "goto LAB_000323f8;" goto statement_identifier ;) })) (labeled_statement "LAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar4)" ( (binary_expression "local_2c == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)puVar4;\n  }" { (return_statement "return *(int *)puVar4;" return (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "puVar29 = PTR___stack_chk_fail_000afbd4;" (assignment_expression "puVar29 = PTR___stack_chk_fail_000afbd4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000afbd4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000afbd4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000afbd4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000afbd4" * (cast_expression "(code *)PTR___stack_chk_fail_000afbd4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }" if (parenthesized_expression "(0 < (int)ppcVar14)" ( (binary_expression "0 < (int)ppcVar14" number_literal < (cast_expression "(int)ppcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }" { (expression_statement "ppcVar26 = (code **)0x0;" (assignment_expression "ppcVar26 = (code **)0x0" identifier = (cast_expression "(code **)0x0" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pcVar7 = *param_2;" (assignment_expression "pcVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (do_statement "do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);" do (compound_statement "{\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    }" { (expression_statement "iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);" (assignment_expression "iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3)" identifier = (call_expression "(**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3)" (parenthesized_expression "(**(code **)(puVar29 + 0x7c6f4))" ( (pointer_expression "**(code **)(puVar29 + 0x7c6f4)" * (pointer_expression "*(code **)(puVar29 + 0x7c6f4)" * (cast_expression "(code **)(puVar29 + 0x7c6f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x7c6f4)" ( (binary_expression "puVar29 + 0x7c6f4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)pcVar7,param_3)" ( (pointer_expression "*(undefined4 *)pcVar7" * (cast_expression "(undefined4 *)pcVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }" { (if_statement "if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *param_4 = (int)ppcVar26;\n        }" { (expression_statement "*param_4 = (int)ppcVar26;" (assignment_expression "*param_4 = (int)ppcVar26" (pointer_expression "*param_4" * identifier) = (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (return_statement "return *(int *)(pcVar7 + 4);" return (pointer_expression "*(int *)(pcVar7 + 4)" * (cast_expression "(int *)(pcVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 4)" ( (binary_expression "pcVar7 + 4" identifier + number_literal) )))) ;) })) (expression_statement "ppcVar26 = (code **)((int)ppcVar26 + 1);" (assignment_expression "ppcVar26 = (code **)((int)ppcVar26 + 1)" identifier = (cast_expression "(code **)((int)ppcVar26 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar26 + 1)" ( (binary_expression "(int)ppcVar26 + 1" (cast_expression "(int)ppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar7 = pcVar7 + 0x18;" (assignment_expression "pcVar7 = pcVar7 + 0x18" identifier = (binary_expression "pcVar7 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppcVar26 != ppcVar14)" ( (binary_expression "ppcVar26 != ppcVar14" identifier != identifier) )) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) (while_statement "while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }" while (parenthesized_expression "(*(char *)ppcVar20 == '-')" ( (binary_expression "*(char *)ppcVar20 == '-'" (pointer_expression "*(char *)ppcVar20" * (cast_expression "(char *)ppcVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'-'" ' character ')) )) (compound_statement "{\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }" { (labeled_statement "LAB_00032dcc:\n    ppcVar23 = ppcVar20;" statement_identifier : (expression_statement "ppcVar23 = ppcVar20;" (assignment_expression "ppcVar23 = ppcVar20" identifier = identifier) ;)) (expression_statement "ppcVar20 = (code **)((int)ppcVar23 + 1);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar23 + 1)" identifier = (cast_expression "(code **)((int)ppcVar23 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar23 + 1)" ( (binary_expression "(int)ppcVar23 + 1" (cast_expression "(int)ppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 == ppcVar20) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar26 == ppcVar20)" ( (binary_expression "ppcVar26 == ppcVar20" identifier == identifier) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) })) (expression_statement "ppcVar27 = ppcVar20;" (assignment_expression "ppcVar27 = ppcVar20" identifier = identifier) ;) (if_statement "if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;" if (parenthesized_expression "(*(char *)ppcVar20 == '>')" ( (binary_expression "*(char *)ppcVar20 == '>'" (pointer_expression "*(char *)ppcVar20" * (cast_expression "(char *)ppcVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'>'" ' character ')) )) (goto_statement "goto code_r0x00032dec;" goto statement_identifier ;)) (goto_statement "goto LAB_0003267c;" goto statement_identifier ;) (labeled_statement "code_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);" statement_identifier : (expression_statement "ppcVar20 = (code **)((int)ppcVar23 + 2);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar23 + 2)" identifier = (cast_expression "(code **)((int)ppcVar23 + 2)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar23 + 2)" ( (binary_expression "(int)ppcVar23 + 2" (cast_expression "(int)ppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (labeled_statement "LAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;" statement_identifier : (if_statement "if (ppcVar20 == (code **)0x0) goto LAB_0003228c;" if (parenthesized_expression "(ppcVar20 == (code **)0x0)" ( (binary_expression "ppcVar20 == (code **)0x0" identifier == (cast_expression "(code **)0x0" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;))) (labeled_statement "joined_r0x00032628:\n  param_1 = ppcVar20;" statement_identifier : (expression_statement "param_1 = ppcVar20;" (assignment_expression "param_1 = ppcVar20" identifier = identifier) ;)) (if_statement "if (ppcVar20 == ppcVar26) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar20 == ppcVar26)" ( (binary_expression "ppcVar20 == ppcVar26" identifier == identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) (labeled_statement "LAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;" statement_identifier : (expression_statement "uVar13 = (int)*(char *)ppcVar25 - 9;" (assignment_expression "uVar13 = (int)*(char *)ppcVar25 - 9" identifier = (binary_expression "(int)*(char *)ppcVar25 - 9" (cast_expression "(int)*(char *)ppcVar25" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)ppcVar25" * (cast_expression "(char *)ppcVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) - number_literal)) ;)) (if_statement "if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;" if (parenthesized_expression "((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0))" ( (binary_expression "(0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar13)" ( (binary_expression "0x17 < uVar13" number_literal < identifier) )) || (parenthesized_expression "((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" ( (binary_expression "(1 << (uVar13 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 & 0x1f) & 0x80001fU)" ( (binary_expression "1 << (uVar13 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00032918;" goto statement_identifier ;)) (expression_statement "ppcVar25 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar25 = (code **)((int)ppcVar25 + 1)" identifier = (cast_expression "(code **)((int)ppcVar25 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar25 + 1)" ( (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppcVar26 == ppcVar25) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 == ppcVar25)" ( (binary_expression "ppcVar26 == ppcVar25" identifier == identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) (goto_statement "goto LAB_000328e4;" goto statement_identifier ;) (labeled_statement "LAB_00032918:\n  param_1 = ppcVar27;" statement_identifier : (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;)) (if_statement "if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }" if (parenthesized_expression "(((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c)" ( (binary_expression "((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c" (parenthesized_expression "((int)*(char *)ppcVar25 & 0xfffffffdU)" ( (binary_expression "(int)*(char *)ppcVar25 & 0xfffffffdU" (cast_expression "(int)*(char *)ppcVar25" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)ppcVar25" * (cast_expression "(char *)ppcVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }" { (labeled_statement "LAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);" statement_identifier : (expression_statement "ppcVar27 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar27 = (code **)((int)ppcVar25 + 1)" identifier = (cast_expression "(code **)((int)ppcVar25 + 1)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar25 + 1)" ( (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (if_statement "if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }" if (parenthesized_expression "(((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23))" ( (binary_expression "((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)" (parenthesized_expression "((local_290 == 0) && (local_228 != (code *)0x0))" ( (binary_expression "(local_290 == 0) && (local_228 != (code *)0x0)" (parenthesized_expression "(local_290 == 0)" ( (binary_expression "local_290 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_228 != (code *)0x0)" ( (binary_expression "local_228 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(*(code ***)local_228 == ppcVar23)" ( (binary_expression "*(code ***)local_228 == ppcVar23" (pointer_expression "*(code ***)local_228" * (cast_expression "(code ***)local_228" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) == identifier) ))) )) (compound_statement "{\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }" { (expression_statement "*(code ***)(local_228 + 8) = ppcVar27;" (assignment_expression "*(code ***)(local_228 + 8) = ppcVar27" (pointer_expression "*(code ***)(local_228 + 8)" * (cast_expression "(code ***)(local_228 + 8)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(local_228 + 8)" ( (binary_expression "local_228 + 8" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }" { (expression_statement "local_20c = local_224;" (assignment_expression "local_20c = local_224" identifier = identifier) ;) (expression_statement "local_208 = local_290;" (assignment_expression "local_208 = local_290" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }" { (expression_statement "piVar16 = local_280 + iVar9 * 6;" (assignment_expression "piVar16 = local_280 + iVar9 * 6" identifier = (binary_expression "local_280 + iVar9 * 6" identifier + (binary_expression "iVar9 * 6" identifier * number_literal))) ;) (expression_statement "piVar11 = local_280;" (assignment_expression "piVar11 = local_280" identifier = identifier) ;) (do_statement "do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);" do (compound_statement "{\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        }" { (expression_statement "piVar12 = piVar11 + 6;" (assignment_expression "piVar12 = piVar11 + 6" identifier = (binary_expression "piVar11 + 6" identifier + number_literal)) ;) (expression_statement "*piVar11 = (int)(local_224 + piVar11[4]);" (assignment_expression "*piVar11 = (int)(local_224 + piVar11[4])" (pointer_expression "*piVar11" * identifier) = (cast_expression "(int)(local_224 + piVar11[4])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_224 + piVar11[4])" ( (binary_expression "local_224 + piVar11[4]" identifier + (subscript_expression "piVar11[4]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar11[1] = (int)(local_224 + piVar11[5]);" (assignment_expression "piVar11[1] = (int)(local_224 + piVar11[5])" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = (cast_expression "(int)(local_224 + piVar11[5])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_224 + piVar11[5])" ( (binary_expression "local_224 + piVar11[5]" identifier + (subscript_expression "piVar11[5]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar11 = piVar12;" (assignment_expression "piVar11 = piVar12" identifier = identifier) ;) }) while (parenthesized_expression "(piVar12 != piVar16)" ( (binary_expression "piVar12 != piVar16" identifier != identifier) )) ;) })) (expression_statement "local_200 = local_280;" (assignment_expression "local_200 = local_280" identifier = identifier) ;) (expression_statement "local_1f4 = 0;" (assignment_expression "local_1f4 = 0" identifier = number_literal) ;) (expression_statement "local_1f0 = 0;" (assignment_expression "local_1f0 = 0" identifier = number_literal) ;) (expression_statement "local_204 = iVar9;" (assignment_expression "local_204 = iVar9" identifier = identifier) ;) (expression_statement "local_1fc = iVar8;" (assignment_expression "local_1fc = iVar8" identifier = identifier) ;) (expression_statement "local_1f8 = ppcVar27;" (assignment_expression "local_1f8 = ppcVar27" identifier = identifier) ;) (if_statement "if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }" if (parenthesized_expression "(local_290 != 0)" ( (binary_expression "local_290 != 0" identifier != number_literal) )) (compound_statement "{\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }" { (for_statement "for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }" for ( (assignment_expression "pcVar28 = local_228" identifier = identifier) ; (binary_expression "pcVar28 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pcVar28 = *(code **)(pcVar28 + 0xc)" identifier = (pointer_expression "*(code **)(pcVar28 + 0xc)" * (cast_expression "(code **)(pcVar28 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0xc)" ( (binary_expression "pcVar28 + 0xc" identifier + number_literal) ))))) ) (compound_statement "{\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }" { (if_statement "if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }" if (parenthesized_expression "(((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             ))" ( (binary_expression "((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )" (parenthesized_expression "((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28)" ( (binary_expression "(int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28" (binary_expression "(int)ppcVar20 - (int)ppcVar23" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) == (binary_expression "*(int *)(pcVar28 + 4) - *(int *)pcVar28" (pointer_expression "*(int *)(pcVar28 + 4)" * (cast_expression "(int *)(pcVar28 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 4)" ( (binary_expression "pcVar28 + 4" identifier + number_literal) )))) - (pointer_expression "*(int *)pcVar28" * (cast_expression "(int *)pcVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) )) && (parenthesized_expression "(iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )" ( (comma_expression "iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0" (assignment_expression "iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23)" identifier = (call_expression "(*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23)" (parenthesized_expression "(*(code *)PTR_strncasecmp_000afb8c)" ( (pointer_expression "*(code *)PTR_strncasecmp_000afb8c" * (cast_expression "(code *)PTR_strncasecmp_000afb8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23)" ( (pointer_expression "*(int *)pcVar28" * (cast_expression "(int *)pcVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , (binary_expression "(int)ppcVar20 - (int)ppcVar23" (cast_expression "(int)ppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }" { (if_statement "if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }" if (parenthesized_expression "(*(int *)(pcVar28 + 8) != 0)" ( (binary_expression "*(int *)(pcVar28 + 8) != 0" (pointer_expression "*(int *)(pcVar28 + 8)" * (cast_expression "(int *)(pcVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 8)" ( (binary_expression "pcVar28 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }" { (expression_statement "local_1f4 = *(int *)(pcVar28 + 8);" (assignment_expression "local_1f4 = *(int *)(pcVar28 + 8)" identifier = (pointer_expression "*(int *)(pcVar28 + 8)" * (cast_expression "(int *)(pcVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 8)" ( (binary_expression "pcVar28 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_1f0 = iVar8;" (assignment_expression "local_1f0 = iVar8" identifier = identifier) ;) })) (expression_statement "(*pcVar7)(ppcVar14,param_2,pcVar28);" (call_expression "(*pcVar7)(ppcVar14,param_2,pcVar28)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(ppcVar14,param_2,pcVar28)" ( identifier , identifier , identifier ))) ;) (break_statement "break;" break ;) })) })) })) (expression_statement "(*param_3)(&local_20c,param_4);" (call_expression "(*param_3)(&local_20c,param_4)" (parenthesized_expression "(*param_3)" ( (pointer_expression "*param_3" * identifier) )) (argument_list "(&local_20c,param_4)" ( (pointer_expression "&local_20c" & identifier) , identifier ))) ;) (expression_statement "param_1 = ppcVar25;" (assignment_expression "param_1 = ppcVar25" identifier = identifier) ;) (if_statement "if (*(char *)ppcVar25 == '<') goto LAB_0003228c;" if (parenthesized_expression "(*(char *)ppcVar25 == '<')" ( (binary_expression "*(char *)ppcVar25 == '<'" (pointer_expression "*(char *)ppcVar25" * (cast_expression "(char *)ppcVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'<'" ' character ')) )) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;)) })) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" identifier = identifier) ;) (if_statement "if (ppcVar26 <= ppcVar27) goto LAB_0003242c;" if (parenthesized_expression "(ppcVar26 <= ppcVar27)" ( (binary_expression "ppcVar26 <= ppcVar27" identifier <= identifier) )) (goto_statement "goto LAB_0003242c;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0003228c;" goto statement_identifier ;) (labeled_statement "LAB_0003242c:\n  param_4 = piVar16;" statement_identifier : (expression_statement "param_4 = piVar16;" (assignment_expression "param_4 = piVar16" identifier = identifier) ;)) (expression_statement "param_3 = local_22c;" (assignment_expression "param_3 = local_22c" identifier = identifier) ;) (expression_statement "puVar5 = local_214;" (assignment_expression "puVar5 = local_214" identifier = identifier) ;) (expression_statement "uVar10 = local_210;" (assignment_expression "uVar10 = local_210" identifier = identifier) ;) (if_statement "if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }" if (parenthesized_expression "(local_218 != '\0')" ( (binary_expression "local_218 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }" { (expression_statement "(*(code *)PTR_free_000afd08)(local_224);" (call_expression "(*(code *)PTR_free_000afd08)(local_224)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_224)" ( identifier ))) ;) (expression_statement "param_4 = piVar16;" (assignment_expression "param_4 = piVar16" identifier = identifier) ;) (expression_statement "param_3 = local_22c;" (assignment_expression "param_3 = local_22c" identifier = identifier) ;) (expression_statement "puVar5 = local_214;" (assignment_expression "puVar5 = local_214" identifier = identifier) ;) (expression_statement "uVar10 = local_210;" (assignment_expression "uVar10 = local_210" identifier = identifier) ;) })) (expression_statement "local_220 = uVar10;" (assignment_expression "local_220 = uVar10" identifier = identifier) ;) (expression_statement "local_224 = puVar5;" (assignment_expression "local_224 = puVar5" identifier = identifier) ;) (expression_statement "local_22c = param_3;" (assignment_expression "local_22c = param_3" identifier = identifier) ;) (expression_statement "local_214 = local_224;" (assignment_expression "local_214 = local_224" identifier = identifier) ;) (expression_statement "local_210 = local_220;" (assignment_expression "local_210 = local_220" identifier = identifier) ;) (if_statement "if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }" if (parenthesized_expression "(local_28c == (int *)0x0)" ( (binary_expression "local_28c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }" { (expression_statement "local_218 = 0;" (assignment_expression "local_218 = 0" identifier = number_literal) ;) (expression_statement "local_21c = 0;" (assignment_expression "local_21c = 0" identifier = number_literal) ;) (expression_statement "(*pcVar7)(ppcVar14,param_2,param_3);" (call_expression "(*pcVar7)(ppcVar14,param_2,param_3)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(ppcVar14,param_2,param_3)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }" else (compound_statement "{\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }" { (expression_statement "local_218 = 0;" (assignment_expression "local_218 = 0" identifier = number_literal) ;) (expression_statement "local_21c = 0;" (assignment_expression "local_21c = 0" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_free_000afd08)(local_280);" (call_expression "(*(code *)PTR_free_000afd08)(local_280)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_280)" ( identifier ))) ;) (expression_statement "param_3 = local_22c;" (assignment_expression "param_3 = local_22c" identifier = identifier) ;) (expression_statement "(*pcVar7)(ppcVar14,param_2,local_22c);" (call_expression "(*pcVar7)(ppcVar14,param_2,local_22c)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(ppcVar14,param_2,local_22c)" ( identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_0003246c;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT <= IDENT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) < IDENT) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (binary_expression IDENT < IDENT))) )) (compound_statement { (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 TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (do_statement do (compound_statement { (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 TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (char_literal ' character ')) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) ))) )) (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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) * LIT)) + LIT) ))))) )))) )) (argument_list ( )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (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 ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT) < LIT))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT) < LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) }) while (parenthesized_expression ( (binary_expression IDENT == IDENT) )) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - LIT) < LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) ))) & LIT) )) != LIT) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) ))) & LIT) )) == LIT) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & 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 ;)) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT) < LIT))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT) < LIT) )) (compound_statement { (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 ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - LIT) < LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) ))) & LIT) )) != LIT) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) , (binary_expression IDENT != IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT < IDENT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }))))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression 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 IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) }))) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (char_literal ' character ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) - LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (break_statement break ;) })) })) })) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (char_literal ' character ')) )) (goto_statement goto 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 = 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 IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) }))) (goto_statement goto statement_identifier ;) })))
(function_definition "int map_html_tags(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)\n\n{\n  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined1 *puVar5;\n  int *piVar6;\n  code *pcVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  uint uVar13;\n  code **ppcVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar19;\n  code **ppcVar20;\n  code **ppcVar21;\n  code **ppcVar22;\n  code **ppcVar23;\n  code **ppcVar24;\n  code **ppcVar25;\n  code **ppcVar26;\n  code **ppcVar27;\n  code *pcVar28;\n  undefined *puVar29;\n  int local_290;\n  int *local_28c;\n  int *local_280;\n  int local_27c;\n  code **local_25c;\n  code **local_254;\n  int *local_250;\n  code *local_22c;\n  code *local_228;\n  undefined1 *local_224;\n  undefined4 local_220;\n  int local_21c;\n  char local_218;\n  undefined1 *local_214;\n  undefined4 local_210;\n  undefined1 *local_20c;\n  int local_208;\n  int local_204;\n  int *local_200;\n  int local_1fc;\n  code **local_1f8;\n  int local_1f4;\n  int local_1f0;\n  int local_1ec [48];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  int iVar18;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar29 = PTR_s_hallenge__000af46c;\n  local_22c = (code *)0x0;\n  local_228 = (code *)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_000afc3c;\n  ppcVar14 = param_1;\n  if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar29 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }\n  return 0;\n  while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }\n  ppcVar27 = ppcVar20;\n  if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);\nLAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  param_1 = ppcVar20;\n  if (ppcVar20 == ppcVar26) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;\n  if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  ppcVar25 = (code **)((int)ppcVar25 + 1);\n  if (ppcVar26 == ppcVar25) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  param_1 = ppcVar27;\n  if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  param_4 = piVar16;\n  param_3 = local_22c;\n  puVar5 = local_214;\n  uVar10 = local_210;\n  if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }\n  local_220 = uVar10;\n  local_224 = puVar5;\n  local_22c = param_3;\n  local_214 = local_224;\n  local_210 = local_220;\n  if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }\n  goto LAB_0003246c;\n}" (primitive_type "int") (function_declarator "map_html_tags(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)" (identifier "map_html_tags") (parameter_list "(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,\n                 undefined4 param_6,undefined4 param_7)" (( "(") (parameter_declaration "code **param_1" (type_identifier "code") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1")))) (, ",") (parameter_declaration "code **param_2" (type_identifier "code") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2")))) (, ",") (parameter_declaration "code *param_3" (type_identifier "code") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) () ")"))) (compound_statement "{\n  bool bVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  undefined1 *puVar5;\n  int *piVar6;\n  code *pcVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int *piVar12;\n  uint uVar13;\n  code **ppcVar14;\n  uint uVar15;\n  int *piVar16;\n  int iVar17;\n  int iVar19;\n  code **ppcVar20;\n  code **ppcVar21;\n  code **ppcVar22;\n  code **ppcVar23;\n  code **ppcVar24;\n  code **ppcVar25;\n  code **ppcVar26;\n  code **ppcVar27;\n  code *pcVar28;\n  undefined *puVar29;\n  int local_290;\n  int *local_28c;\n  int *local_280;\n  int local_27c;\n  code **local_25c;\n  code **local_254;\n  int *local_250;\n  code *local_22c;\n  code *local_228;\n  undefined1 *local_224;\n  undefined4 local_220;\n  int local_21c;\n  char local_218;\n  undefined1 *local_214;\n  undefined4 local_210;\n  undefined1 *local_20c;\n  int local_208;\n  int local_204;\n  int *local_200;\n  int local_1fc;\n  code **local_1f8;\n  int local_1f4;\n  int local_1f0;\n  int local_1ec [48];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  int iVar18;\n  \n  puVar4 = PTR___stack_chk_guard_000afc3c;\n  puVar29 = PTR_s_hallenge__000af46c;\n  local_22c = (code *)0x0;\n  local_228 = (code *)0x0;\n  local_2c = *(int *)PTR___stack_chk_guard_000afc3c;\n  ppcVar14 = param_1;\n  if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }\nLAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar29 = PTR___stack_chk_fail_000afbd4;\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }\n  return 0;\n  while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }\n  ppcVar27 = ppcVar20;\n  if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;\n  goto LAB_0003267c;\ncode_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);\nLAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;\njoined_r0x00032628:\n  param_1 = ppcVar20;\n  if (ppcVar20 == ppcVar26) goto LAB_0003242c;\n  goto LAB_0003228c;\nLAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;\n  if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;\n  ppcVar25 = (code **)((int)ppcVar25 + 1);\n  if (ppcVar26 == ppcVar25) goto LAB_0003242c;\n  goto LAB_000328e4;\nLAB_00032918:\n  param_1 = ppcVar27;\n  if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }\n  goto LAB_0003228c;\nLAB_0003242c:\n  param_4 = piVar16;\n  param_3 = local_22c;\n  puVar5 = local_214;\n  uVar10 = local_210;\n  if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }\n  local_220 = uVar10;\n  local_224 = puVar5;\n  local_22c = param_3;\n  local_214 = local_224;\n  local_210 = local_220;\n  if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }\n  goto LAB_0003246c;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "code *pcVar7;" (type_identifier "code") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "code **ppcVar14;" (type_identifier "code") (pointer_declarator "**ppcVar14" (* "*") (pointer_declarator "*ppcVar14" (* "*") (identifier "ppcVar14"))) (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "code **ppcVar20;" (type_identifier "code") (pointer_declarator "**ppcVar20" (* "*") (pointer_declarator "*ppcVar20" (* "*") (identifier "ppcVar20"))) (; ";")) (declaration "code **ppcVar21;" (type_identifier "code") (pointer_declarator "**ppcVar21" (* "*") (pointer_declarator "*ppcVar21" (* "*") (identifier "ppcVar21"))) (; ";")) (declaration "code **ppcVar22;" (type_identifier "code") (pointer_declarator "**ppcVar22" (* "*") (pointer_declarator "*ppcVar22" (* "*") (identifier "ppcVar22"))) (; ";")) (declaration "code **ppcVar23;" (type_identifier "code") (pointer_declarator "**ppcVar23" (* "*") (pointer_declarator "*ppcVar23" (* "*") (identifier "ppcVar23"))) (; ";")) (declaration "code **ppcVar24;" (type_identifier "code") (pointer_declarator "**ppcVar24" (* "*") (pointer_declarator "*ppcVar24" (* "*") (identifier "ppcVar24"))) (; ";")) (declaration "code **ppcVar25;" (type_identifier "code") (pointer_declarator "**ppcVar25" (* "*") (pointer_declarator "*ppcVar25" (* "*") (identifier "ppcVar25"))) (; ";")) (declaration "code **ppcVar26;" (type_identifier "code") (pointer_declarator "**ppcVar26" (* "*") (pointer_declarator "*ppcVar26" (* "*") (identifier "ppcVar26"))) (; ";")) (declaration "code **ppcVar27;" (type_identifier "code") (pointer_declarator "**ppcVar27" (* "*") (pointer_declarator "*ppcVar27" (* "*") (identifier "ppcVar27"))) (; ";")) (declaration "code *pcVar28;" (type_identifier "code") (pointer_declarator "*pcVar28" (* "*") (identifier "pcVar28")) (; ";")) (declaration "undefined *puVar29;" (type_identifier "undefined") (pointer_declarator "*puVar29" (* "*") (identifier "puVar29")) (; ";")) (declaration "int local_290;" (primitive_type "int") (identifier "local_290") (; ";")) (declaration "int *local_28c;" (primitive_type "int") (pointer_declarator "*local_28c" (* "*") (identifier "local_28c")) (; ";")) (declaration "int *local_280;" (primitive_type "int") (pointer_declarator "*local_280" (* "*") (identifier "local_280")) (; ";")) (declaration "int local_27c;" (primitive_type "int") (identifier "local_27c") (; ";")) (declaration "code **local_25c;" (type_identifier "code") (pointer_declarator "**local_25c" (* "*") (pointer_declarator "*local_25c" (* "*") (identifier "local_25c"))) (; ";")) (declaration "code **local_254;" (type_identifier "code") (pointer_declarator "**local_254" (* "*") (pointer_declarator "*local_254" (* "*") (identifier "local_254"))) (; ";")) (declaration "int *local_250;" (primitive_type "int") (pointer_declarator "*local_250" (* "*") (identifier "local_250")) (; ";")) (declaration "code *local_22c;" (type_identifier "code") (pointer_declarator "*local_22c" (* "*") (identifier "local_22c")) (; ";")) (declaration "code *local_228;" (type_identifier "code") (pointer_declarator "*local_228" (* "*") (identifier "local_228")) (; ";")) (declaration "undefined1 *local_224;" (type_identifier "undefined1") (pointer_declarator "*local_224" (* "*") (identifier "local_224")) (; ";")) (declaration "undefined4 local_220;" (type_identifier "undefined4") (identifier "local_220") (; ";")) (declaration "int local_21c;" (primitive_type "int") (identifier "local_21c") (; ";")) (declaration "char local_218;" (primitive_type "char") (identifier "local_218") (; ";")) (declaration "undefined1 *local_214;" (type_identifier "undefined1") (pointer_declarator "*local_214" (* "*") (identifier "local_214")) (; ";")) (declaration "undefined4 local_210;" (type_identifier "undefined4") (identifier "local_210") (; ";")) (declaration "undefined1 *local_20c;" (type_identifier "undefined1") (pointer_declarator "*local_20c" (* "*") (identifier "local_20c")) (; ";")) (declaration "int local_208;" (primitive_type "int") (identifier "local_208") (; ";")) (declaration "int local_204;" (primitive_type "int") (identifier "local_204") (; ";")) (declaration "int *local_200;" (primitive_type "int") (pointer_declarator "*local_200" (* "*") (identifier "local_200")) (; ";")) (declaration "int local_1fc;" (primitive_type "int") (identifier "local_1fc") (; ";")) (declaration "code **local_1f8;" (type_identifier "code") (pointer_declarator "**local_1f8" (* "*") (pointer_declarator "*local_1f8" (* "*") (identifier "local_1f8"))) (; ";")) (declaration "int local_1f4;" (primitive_type "int") (identifier "local_1f4") (; ";")) (declaration "int local_1f0;" (primitive_type "int") (identifier "local_1f0") (; ";")) (declaration "int local_1ec [48];" (primitive_type "int") (array_declarator "local_1ec [48]" (identifier "local_1ec") ([ "[") (number_literal "48") (] "]")) (; ";")) (declaration "undefined1 auStack_12c [256];" (type_identifier "undefined1") (array_declarator "auStack_12c [256]" (identifier "auStack_12c") ([ "[") (number_literal "256") (] "]")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (expression_statement "puVar4 = PTR___stack_chk_guard_000afc3c;" (assignment_expression "puVar4 = PTR___stack_chk_guard_000afc3c" (identifier "puVar4") (= "=") (identifier "PTR___stack_chk_guard_000afc3c")) (; ";")) (expression_statement "puVar29 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar29 = PTR_s_hallenge__000af46c" (identifier "puVar29") (= "=") (identifier "PTR_s_hallenge__000af46c")) (; ";")) (expression_statement "local_22c = (code *)0x0;" (assignment_expression "local_22c = (code *)0x0" (identifier "local_22c") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_228 = (code *)0x0;" (assignment_expression "local_228 = (code *)0x0" (identifier "local_228") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000afc3c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000afc3c" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000afc3c" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000afc3c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000afc3c")))) (; ";")) (expression_statement "ppcVar14 = param_1;" (assignment_expression "ppcVar14 = param_1" (identifier "ppcVar14") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (param_2 != (code **)0x0) {\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }" (if "if") (parenthesized_expression "(param_2 != (code **)0x0)" (( "(") (binary_expression "param_2 != (code **)0x0" (identifier "param_2") (!= "!=") (cast_expression "(code **)0x0" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_218 = '\0';\n    local_280 = local_1ec;\n    local_220 = 0x100;\n    local_210 = 0x100;\n    piVar6 = (int *)0x6;\n    ppcVar26 = (code **)((int)param_1 + (int)param_2);\n    local_28c = (int *)0x0;\n    if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }\n    local_27c = 8;\n    param_2 = &local_228;\n    ppcVar14 = &local_22c;\n    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);\n    piVar16 = param_4;\n    local_224 = auStack_12c;\n    local_214 = auStack_12c;\nLAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\nLAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }\n    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);\n    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);\n    bVar1 = iVar9 != 0;\n    if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }\n    iVar9 = 0;\nLAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }\n    if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }\n    ppcVar22 = ppcVar25;\n    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;\n    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n    piVar16 = (int *)&DAT_00000001;\n    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }\n    if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }\nLAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }\n    goto LAB_000323f8;\n  }" ({ "{") (expression_statement "local_218 = '\0';" (assignment_expression "local_218 = '\0'" (identifier "local_218") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_280 = local_1ec;" (assignment_expression "local_280 = local_1ec" (identifier "local_280") (= "=") (identifier "local_1ec")) (; ";")) (expression_statement "local_220 = 0x100;" (assignment_expression "local_220 = 0x100" (identifier "local_220") (= "=") (number_literal "0x100")) (; ";")) (expression_statement "local_210 = 0x100;" (assignment_expression "local_210 = 0x100" (identifier "local_210") (= "=") (number_literal "0x100")) (; ";")) (expression_statement "piVar6 = (int *)0x6;" (assignment_expression "piVar6 = (int *)0x6" (identifier "piVar6") (= "=") (cast_expression "(int *)0x6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x6"))) (; ";")) (expression_statement "ppcVar26 = (code **)((int)param_1 + (int)param_2);" (assignment_expression "ppcVar26 = (code **)((int)param_1 + (int)param_2)" (identifier "ppcVar26") (= "=") (cast_expression "(code **)((int)param_1 + (int)param_2)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)param_1 + (int)param_2)" (( "(") (binary_expression "(int)param_1 + (int)param_2" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")))) (; ";")) (expression_statement "local_28c = (int *)0x0;" (assignment_expression "local_28c = (int *)0x0" (identifier "local_28c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((param_5 & 2) == 0) {\n      piVar6 = (int *)0x2;\n    }" (if "if") (parenthesized_expression "((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")) () ")")) (compound_statement "{\n      piVar6 = (int *)0x2;\n    }" ({ "{") (expression_statement "piVar6 = (int *)0x2;" (assignment_expression "piVar6 = (int *)0x2" (identifier "piVar6") (= "=") (cast_expression "(int *)0x2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (} "}"))) (expression_statement "local_27c = 8;" (assignment_expression "local_27c = 8" (identifier "local_27c") (= "=") (number_literal "8")) (; ";")) (expression_statement "param_2 = &local_228;" (assignment_expression "param_2 = &local_228" (identifier "param_2") (= "=") (pointer_expression "&local_228" (& "&") (identifier "local_228"))) (; ";")) (expression_statement "ppcVar14 = &local_22c;" (assignment_expression "ppcVar14 = &local_22c" (identifier "ppcVar14") (= "=") (pointer_expression "&local_22c" (& "&") (identifier "local_22c"))) (; ";")) (expression_statement "pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4)" (identifier "pcVar7") (= "=") (cast_expression "(code *)(PTR_LAB_000af7c0 + 0x20c4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_000af7c0 + 0x20c4)" (( "(") (binary_expression "PTR_LAB_000af7c0 + 0x20c4" (identifier "PTR_LAB_000af7c0") (+ "+") (number_literal "0x20c4")) () ")")))) (; ";")) (expression_statement "piVar16 = param_4;" (assignment_expression "piVar16 = param_4" (identifier "piVar16") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_224 = auStack_12c;" (assignment_expression "local_224 = auStack_12c" (identifier "local_224") (= "=") (identifier "auStack_12c")) (; ";")) (expression_statement "local_214 = auStack_12c;" (assignment_expression "local_214 = auStack_12c" (identifier "local_214") (= "=") (identifier "auStack_12c")) (; ";")) (labeled_statement "LAB_0003228c:\n    do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);" (statement_identifier "LAB_0003228c") (: ":") (do_statement "do {\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    } while (ppcVar23 == ppcVar20);" (do "do") (compound_statement "{\n      local_21c = 0;\n      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);\n      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;\n      uVar13 = (uint)*(char *)(iVar8 + 1);\n      param_1 = ppcVar27;\n      if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }\n      if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }\n      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }\n    }" ({ "{") (expression_statement "local_21c = 0;" (assignment_expression "local_21c = 0" (identifier "local_21c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);" (assignment_expression "iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_rpl_memchr_000af694)" (( "(") (pointer_expression "*(code *)PTR_rpl_memchr_000af694" (* "*") (cast_expression "(code *)PTR_rpl_memchr_000af694" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rpl_memchr_000af694"))) () ")")) (argument_list "(param_1,0x3c,(int)ppcVar26 - (int)param_1)" (( "(") (identifier "param_1") (, ",") (number_literal "0x3c") (, ",") (binary_expression "(int)ppcVar26 - (int)param_1" (cast_expression "(int)ppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar26")) (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")")))) (; ";")) (if_statement "if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))\n      goto LAB_0003242c;" (if "if") (parenthesized_expression "((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))" (( "(") (binary_expression "(iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27)" (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27)" (( "(") (comma_expression "ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27" (assignment_expression "ppcVar27 = (code **)(iVar8 + 1)" (identifier "ppcVar27") (= "=") (cast_expression "(code **)(iVar8 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")")))) (, ",") (binary_expression "ppcVar26 <= ppcVar27" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar27"))) () ")"))) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (expression_statement "uVar13 = (uint)*(char *)(iVar8 + 1);" (assignment_expression "uVar13 = (uint)*(char *)(iVar8 + 1)" (identifier "uVar13") (= "=") (binary_expression "(uint)*(char *)(iVar8 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)(iVar8 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" (identifier "param_1") (= "=") (identifier "ppcVar27")) (; ";")) (if_statement "if (uVar13 == 0x21) {\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }" (if "if") (parenthesized_expression "(uVar13 == 0x21)" (( "(") (binary_expression "uVar13 == 0x21" (identifier "uVar13") (== "==") (number_literal "0x21")) () ")")) (compound_statement "{\n        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }\n        piVar16 = (int *)0x2;\n        cVar2 = '!';\n        ppcVar20 = (code **)(iVar8 + 2);\n        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }\n        goto joined_r0x00032628;\n      }" ({ "{") (if_statement "if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }" (if "if") (parenthesized_expression "(((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-'))" (( "(") (binary_expression "((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')" (parenthesized_expression "((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-'))" (( "(") (binary_expression "(((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&\n            (*(char *)(iVar8 + 2) == '-')" (parenthesized_expression "(((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26))" (( "(") (binary_expression "((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)" (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 "((code **)(iVar8 + 4) < ppcVar26)" (( "(") (binary_expression "(code **)(iVar8 + 4) < ppcVar26" (cast_expression "(code **)(iVar8 + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 4)" (( "(") (binary_expression "iVar8 + 4" (identifier "iVar8") (+ "+") (number_literal "4")) () ")"))) (< "<") (identifier "ppcVar26")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar8 + 2) == '-')" (( "(") (binary_expression "*(char *)(iVar8 + 2) == '-'" (pointer_expression "*(char *)(iVar8 + 2)" (* "*") (cast_expression "(char *)(iVar8 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 2)" (( "(") (binary_expression "iVar8 + 2" (identifier "iVar8") (+ "+") (number_literal "2")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar8 + 3) == '-')" (( "(") (binary_expression "*(char *)(iVar8 + 3) == '-'" (pointer_expression "*(char *)(iVar8 + 3)" (* "*") (cast_expression "(char *)(iVar8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 3)" (( "(") (binary_expression "iVar8 + 3" (identifier "iVar8") (+ "+") (number_literal "3")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          ppcVar27 = (code **)(iVar8 + 3);\nLAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }\n          goto LAB_0003228c;\n        }" ({ "{") (expression_statement "ppcVar27 = (code **)(iVar8 + 3);" (assignment_expression "ppcVar27 = (code **)(iVar8 + 3)" (identifier "ppcVar27") (= "=") (cast_expression "(code **)(iVar8 + 3)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 3)" (( "(") (binary_expression "iVar8 + 3" (identifier "iVar8") (+ "+") (number_literal "3")) () ")")))) (; ";")) (labeled_statement "LAB_0003267c:\n          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }" (statement_identifier "LAB_0003267c") (: ":") (while_statement "while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)\n          {\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }" (while "while") (parenthesized_expression "(ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)" (( "(") (comma_expression "ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26" (assignment_expression "ppcVar20 = ppcVar27" (identifier "ppcVar20") (= "=") (identifier "ppcVar27")) (, ",") (comma_expression "ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26" (assignment_expression "ppcVar27 = (code **)((int)ppcVar20 + 3)" (identifier "ppcVar27") (= "=") (cast_expression "(code **)((int)ppcVar20 + 3)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar20 + 3)" (( "(") (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (+ "+") (number_literal "3")) () ")")))) (, ",") (binary_expression "ppcVar27 < ppcVar26" (identifier "ppcVar27") (< "<") (identifier "ppcVar26")))) () ")")) (compound_statement "{\n            if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }\n          }" ({ "{") (if_statement "if (*(char *)((int)ppcVar20 + 3) == '-') {\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }\n            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" (if "if") (parenthesized_expression "(*(char *)((int)ppcVar20 + 3) == '-')" (( "(") (binary_expression "*(char *)((int)ppcVar20 + 3) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 3)" (* "*") (cast_expression "(char *)((int)ppcVar20 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar20 + 3)" (( "(") (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (+ "+") (number_literal "3")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n              do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');\n              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }\n            }" ({ "{") (do_statement "do {\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              } while (*(char *)ppcVar27 == '-');" (do "do") (compound_statement "{\n                ppcVar20 = ppcVar27;\n                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;\n                ppcVar27 = (code **)((int)ppcVar20 + 2);\n                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;\n              }" ({ "{") (expression_statement "ppcVar20 = ppcVar27;" (assignment_expression "ppcVar20 = ppcVar27" (identifier "ppcVar20") (= "=") (identifier "ppcVar27")) (; ";")) (if_statement "if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;" (if "if") (parenthesized_expression "(*(char *)((int)ppcVar20 + -1) == '-')" (( "(") (binary_expression "*(char *)((int)ppcVar20 + -1) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + -1)" (* "*") (cast_expression "(char *)((int)ppcVar20 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar20 + -1)" (( "(") (binary_expression "(int)ppcVar20 + -1" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (+ "+") (number_literal "-1")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (goto_statement "goto LAB_00032dcc;" (goto "goto") (statement_identifier "LAB_00032dcc") (; ";"))) (expression_statement "ppcVar27 = (code **)((int)ppcVar20 + 2);" (assignment_expression "ppcVar27 = (code **)((int)ppcVar20 + 2)" (identifier "ppcVar27") (= "=") (cast_expression "(code **)((int)ppcVar20 + 2)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar20 + 2)" (( "(") (binary_expression "(int)ppcVar20 + 2" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= ppcVar27) goto LAB_0003228c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar27)" (( "(") (binary_expression "ppcVar26 <= ppcVar27" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar27")) () ")")) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(*(char *)ppcVar27 == '-')" (( "(") (binary_expression "*(char *)ppcVar27 == '-'" (pointer_expression "*(char *)ppcVar27" (* "*") (cast_expression "(char *)ppcVar27" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar27"))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (; ";")) (if_statement "if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }" (if "if") (parenthesized_expression "((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-'))" (( "(") (binary_expression "(*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')" (parenthesized_expression "(*(char *)ppcVar27 == '>')" (( "(") (binary_expression "*(char *)ppcVar27 == '>'" (pointer_expression "*(char *)ppcVar27" (* "*") (cast_expression "(char *)ppcVar27" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar27"))) (== "==") (char_literal "'>'" (' "'") (character ">") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)ppcVar20 + 1) == '-')" (( "(") (binary_expression "*(char *)((int)ppcVar20 + 1) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 1)" (* "*") (cast_expression "(char *)((int)ppcVar20 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar20 + 1)" (( "(") (binary_expression "(int)ppcVar20 + 1" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                ppcVar20 = (code **)((int)ppcVar20 + 3);\n                goto LAB_00032d0c;\n              }" ({ "{") (expression_statement "ppcVar20 = (code **)((int)ppcVar20 + 3);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar20 + 3)" (identifier "ppcVar20") (= "=") (cast_expression "(code **)((int)ppcVar20 + 3)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar20 + 3)" (( "(") (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (goto_statement "goto LAB_00032d0c;" (goto "goto") (statement_identifier "LAB_00032d0c") (; ";")) (} "}"))) (} "}")) (else_clause "else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" (else "else") (if_statement "if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" (if "if") (parenthesized_expression "(((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-'))" (( "(") (binary_expression "((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     ) && (*(char *)((int)ppcVar20 + 1) == '-')" (parenthesized_expression "((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')\n                     )" (( "(") (binary_expression "(*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')" (parenthesized_expression "(*(char *)((int)ppcVar20 + 3) == '>')" (( "(") (binary_expression "*(char *)((int)ppcVar20 + 3) == '>'" (pointer_expression "*(char *)((int)ppcVar20 + 3)" (* "*") (cast_expression "(char *)((int)ppcVar20 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar20 + 3)" (( "(") (binary_expression "(int)ppcVar20 + 3" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (+ "+") (number_literal "3")) () ")")))) (== "==") (char_literal "'>'" (' "'") (character ">") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)ppcVar20 + 2) == '-')" (( "(") (binary_expression "*(char *)((int)ppcVar20 + 2) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 2)" (* "*") (cast_expression "(char *)((int)ppcVar20 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar20 + 2)" (( "(") (binary_expression "(int)ppcVar20 + 2" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (+ "+") (number_literal "2")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)ppcVar20 + 1) == '-')" (( "(") (binary_expression "*(char *)((int)ppcVar20 + 1) == '-'" (pointer_expression "*(char *)((int)ppcVar20 + 1)" (* "*") (cast_expression "(char *)((int)ppcVar20 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar20 + 1)" (( "(") (binary_expression "(int)ppcVar20 + 1" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")"))) () ")")) (compound_statement "{\n              ppcVar20 = ppcVar20 + 1;\n              goto LAB_00032d0c;\n            }" ({ "{") (expression_statement "ppcVar20 = ppcVar20 + 1;" (assignment_expression "ppcVar20 = ppcVar20 + 1" (identifier "ppcVar20") (= "=") (binary_expression "ppcVar20 + 1" (identifier "ppcVar20") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00032d0c;" (goto "goto") (statement_identifier "LAB_00032d0c") (; ";")) (} "}"))))) (} "}")))) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";")) (} "}"))) (expression_statement "piVar16 = (int *)0x2;" (assignment_expression "piVar16 = (int *)0x2" (identifier "piVar16") (= "=") (cast_expression "(int *)0x2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "cVar2 = '!';" (assignment_expression "cVar2 = '!'" (identifier "cVar2") (= "=") (char_literal "'!'" (' "'") (character "!") (' "'"))) (; ";")) (expression_statement "ppcVar20 = (code **)(iVar8 + 2);" (assignment_expression "ppcVar20 = (code **)(iVar8 + 2)" (identifier "ppcVar20") (= "=") (cast_expression "(code **)(iVar8 + 2)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 2)" (( "(") (binary_expression "iVar8 + 2" (identifier "iVar8") (+ "+") (number_literal "2")) () ")")))) (; ";")) (for_statement "for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }" (for "for") (( "(") (assignment_expression "ppcVar27 = ppcVar20" (identifier "ppcVar27") (= "=") (identifier "ppcVar20")) (; ";") (binary_expression "ppcVar26 != ppcVar27" (identifier "ppcVar26") (!= "!=") (identifier "ppcVar27")) (; ";") (assignment_expression "ppcVar27 = (code **)((int)ppcVar27 + 1)" (identifier "ppcVar27") (= "=") (cast_expression "(code **)((int)ppcVar27 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar27 + 1)" (( "(") (binary_expression "(int)ppcVar27 + 1" (cast_expression "(int)ppcVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar27")) (+ "+") (number_literal "1")) () ")")))) () ")") (compound_statement "{\n          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }\n          if (cVar2 != '!') break;\n          cVar2 = *(char *)ppcVar27;\n          piVar16 = (int *)0x3;\n        }" ({ "{") (if_statement "if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }" (if "if") (parenthesized_expression "((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa)" (( "(") (binary_expression "(undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa" (cast_expression "(undefined1 *)((int)piVar16 + -3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar16 + -3)" (( "(") (binary_expression "(int)piVar16 + -3" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (number_literal "-3")) () ")"))) (< "<") (cast_expression "(undefined1 *)0xa" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa"))) () ")")) (compound_statement "{\n                    \n                    \n            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();\n            return iVar8;\n          }" ({ "{") (expression_statement "iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();" (assignment_expression "iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))()" (identifier "iVar8") (= "=") (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))" (( "(") (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954))" (* "*") (cast_expression "(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954))" (( "(") (binary_expression "&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (+ "+") (pointer_expression "*(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" (* "*") (cast_expression "(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)" (( "(") (binary_expression "puVar29 + ((int)piVar16 + -3) * 4 + -0x954" (binary_expression "puVar29 + ((int)piVar16 + -3) * 4" (identifier "puVar29") (+ "+") (binary_expression "((int)piVar16 + -3) * 4" (parenthesized_expression "((int)piVar16 + -3)" (( "(") (binary_expression "(int)piVar16 + -3" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (number_literal "-3")) () ")")) (* "*") (number_literal "4"))) (+ "+") (number_literal "-0x954")) () ")"))))) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return iVar8;" (return "return") (identifier "iVar8") (; ";")) (} "}"))) (if_statement "if (cVar2 != '!') break;" (if "if") (parenthesized_expression "(cVar2 != '!')" (( "(") (binary_expression "cVar2 != '!'" (identifier "cVar2") (!= "!=") (char_literal "'!'" (' "'") (character "!") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "cVar2 = *(char *)ppcVar27;" (assignment_expression "cVar2 = *(char *)ppcVar27" (identifier "cVar2") (= "=") (pointer_expression "*(char *)ppcVar27" (* "*") (cast_expression "(char *)ppcVar27" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar27")))) (; ";")) (expression_statement "piVar16 = (int *)0x3;" (assignment_expression "piVar16 = (int *)0x3" (identifier "piVar16") (= "=") (cast_expression "(int *)0x3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (} "}"))) (goto_statement "goto joined_r0x00032628;" (goto "goto") (statement_identifier "joined_r0x00032628") (; ";")) (} "}"))) (if_statement "if (uVar13 == 0x2f) {\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }\n      else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }" (if "if") (parenthesized_expression "(uVar13 == 0x2f)" (( "(") (binary_expression "uVar13 == 0x2f" (identifier "uVar13") (== "==") (number_literal "0x2f")) () ")")) (compound_statement "{\n        ppcVar20 = (code **)(iVar8 + 2);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)(iVar8 + 2);\n        local_290 = 1;\n        ppcVar23 = ppcVar20;\n      }" ({ "{") (expression_statement "ppcVar20 = (code **)(iVar8 + 2);" (assignment_expression "ppcVar20 = (code **)(iVar8 + 2)" (identifier "ppcVar20") (= "=") (cast_expression "(code **)(iVar8 + 2)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 2)" (( "(") (binary_expression "iVar8 + 2" (identifier "iVar8") (+ "+") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= ppcVar20) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar20)" (( "(") (binary_expression "ppcVar26 <= ppcVar20" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar20")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (expression_statement "uVar13 = (uint)*(char *)(iVar8 + 2);" (assignment_expression "uVar13 = (uint)*(char *)(iVar8 + 2)" (identifier "uVar13") (= "=") (binary_expression "(uint)*(char *)(iVar8 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)(iVar8 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 2)" (( "(") (binary_expression "iVar8 + 2" (identifier "iVar8") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" (identifier "local_290") (= "=") (number_literal "1")) (; ";")) (expression_statement "ppcVar23 = ppcVar20;" (assignment_expression "ppcVar23 = ppcVar20" (identifier "ppcVar23") (= "=") (identifier "ppcVar20")) (; ";")) (} "}")) (else_clause "else {\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }" (else "else") (compound_statement "{\n        local_290 = 0;\n        ppcVar20 = ppcVar27;\n        ppcVar23 = ppcVar27;\n      }" ({ "{") (expression_statement "local_290 = 0;" (assignment_expression "local_290 = 0" (identifier "local_290") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppcVar20 = ppcVar27;" (assignment_expression "ppcVar20 = ppcVar27" (identifier "ppcVar20") (= "=") (identifier "ppcVar27")) (; ";")) (expression_statement "ppcVar23 = ppcVar27;" (assignment_expression "ppcVar23 = ppcVar27" (identifier "ppcVar23") (= "=") (identifier "ppcVar27")) (; ";")) (} "}")))) (while_statement "while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }" (while "while") (parenthesized_expression "(param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e)" (( "(") (comma_expression "param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "param_1 = ppcVar23" (identifier "param_1") (= "=") (identifier "ppcVar23")) (, ",") (comma_expression "ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "ppcVar24 = ppcVar20" (identifier "ppcVar24") (= "=") (identifier "ppcVar20")) (, ",") (binary_expression "(uVar13 & 0xff) - 0x21 < 0x5e" (binary_expression "(uVar13 & 0xff) - 0x21" (parenthesized_expression "(uVar13 & 0xff)" (( "(") (binary_expression "uVar13 & 0xff" (identifier "uVar13") (& "&") (number_literal "0xff")) () ")")) (- "-") (number_literal "0x21")) (< "<") (number_literal "0x5e")))) () ")")) (compound_statement "{\n        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }\n        ppcVar20 = (code **)((int)ppcVar20 + 1);\n        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;\n        uVar13 = (uint)*(char *)ppcVar20;\n      }" ({ "{") (if_statement "if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }" (if "if") (parenthesized_expression "(((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f))" (( "(") (binary_expression "((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)" (parenthesized_expression "((uVar13 & 0xff) - 0x3c < 3)" (( "(") (binary_expression "(uVar13 & 0xff) - 0x3c < 3" (binary_expression "(uVar13 & 0xff) - 0x3c" (parenthesized_expression "(uVar13 & 0xff)" (( "(") (binary_expression "uVar13 & 0xff" (identifier "uVar13") (& "&") (number_literal "0xff")) () ")")) (- "-") (number_literal "0x3c")) (< "<") (number_literal "3")) () ")")) (|| "||") (parenthesized_expression "(uVar13 == 0x2f)" (( "(") (binary_expression "uVar13 == 0x2f" (identifier "uVar13") (== "==") (number_literal "0x2f")) () ")"))) () ")")) (compound_statement "{\n          if (ppcVar23 != ppcVar20) goto LAB_00032384;\n          goto LAB_0003228c;\n        }" ({ "{") (if_statement "if (ppcVar23 != ppcVar20) goto LAB_00032384;" (if "if") (parenthesized_expression "(ppcVar23 != ppcVar20)" (( "(") (binary_expression "ppcVar23 != ppcVar20" (identifier "ppcVar23") (!= "!=") (identifier "ppcVar20")) () ")")) (goto_statement "goto LAB_00032384;" (goto "goto") (statement_identifier "LAB_00032384") (; ";"))) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";")) (} "}"))) (expression_statement "ppcVar20 = (code **)((int)ppcVar20 + 1);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar20 + 1)" (identifier "ppcVar20") (= "=") (cast_expression "(code **)((int)ppcVar20 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar20 + 1)" (( "(") (binary_expression "(int)ppcVar20 + 1" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= ppcVar20) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar20)" (( "(") (binary_expression "ppcVar26 <= ppcVar20" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar20")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (expression_statement "uVar13 = (uint)*(char *)ppcVar20;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar20" (identifier "uVar13") (= "=") (binary_expression "(uint)*(char *)ppcVar20" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)ppcVar20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar20")))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(ppcVar23 == ppcVar20)" (( "(") (binary_expression "ppcVar23 == ppcVar20" (identifier "ppcVar23") (== "==") (identifier "ppcVar20")) () ")")) (; ";"))) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" (identifier "piVar16") (= "=") (cast_expression "(int *)&DAT_00000001" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001")))) (; ";")) (while_statement "while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" (while "while") (parenthesized_expression "((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)))" (( "(") (parenthesized_expression "(uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))" (( "(") (binary_expression "uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" (binary_expression "uVar13 - 9 < 0x18" (binary_expression "uVar13 - 9" (identifier "uVar13") (- "-") (number_literal "9")) (< "<") (number_literal "0x18")) (&& "&&") (parenthesized_expression "((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" (( "(") (binary_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0" (parenthesized_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU)" (( "(") (binary_expression "1 << (uVar13 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 - 9 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar13 - 9 & 0x1f)" (( "(") (binary_expression "uVar13 - 9 & 0x1f" (binary_expression "uVar13 - 9" (identifier "uVar13") (- "-") (number_literal "9")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0x80001fU")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")")) (compound_statement "{\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" ({ "{") (expression_statement "ppcVar24 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar24 + 1)" (identifier "ppcVar24") (= "=") (cast_expression "(code **)((int)ppcVar24 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar24 + 1)" (( "(") (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar24")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar24)" (( "(") (binary_expression "ppcVar26 <= ppcVar24" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar24")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (expression_statement "uVar13 = (uint)*(char *)ppcVar24;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar24" (identifier "uVar13") (= "=") (binary_expression "(uint)*(char *)ppcVar24" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)ppcVar24" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar24")))) (; ";")) (} "}"))) (labeled_statement "LAB_00032384:\n    if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" (statement_identifier "LAB_00032384") (: ":") (if_statement "if (local_290 == 0) {\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }\n    else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" (if "if") (parenthesized_expression "(local_290 == 0)" (( "(") (binary_expression "local_290 == 0" (identifier "local_290") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);\n      if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }\n      *(code ***)pcVar28 = ppcVar23;\n      *(code ***)(pcVar28 + 4) = ppcVar20;\n      *(int *)(pcVar28 + 8) = 0;\n      local_228 = pcVar28;\n    }" ({ "{") (expression_statement "pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);" (assignment_expression "pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14)" (identifier "pcVar28") (= "=") (cast_expression "(code *)(*(code *)PTR_xmalloc_000af5c4)(0x14)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_xmalloc_000af5c4)(0x14)" (parenthesized_expression "(*(code *)PTR_xmalloc_000af5c4)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_000af5c4" (* "*") (cast_expression "(code *)PTR_xmalloc_000af5c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_000af5c4"))) () ")")) (argument_list "(0x14)" (( "(") (number_literal "0x14") () ")"))))) (; ";")) (if_statement "if (local_22c == (code *)0x0) {\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }\n      else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }" (if "if") (parenthesized_expression "(local_22c == (code *)0x0)" (( "(") (binary_expression "local_22c == (code *)0x0" (identifier "local_22c") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *(int *)(pcVar28 + 0x10) = 0;\n        *(int *)(pcVar28 + 0xc) = 0;\n        local_22c = pcVar28;\n      }" ({ "{") (expression_statement "*(int *)(pcVar28 + 0x10) = 0;" (assignment_expression "*(int *)(pcVar28 + 0x10) = 0" (pointer_expression "*(int *)(pcVar28 + 0x10)" (* "*") (cast_expression "(int *)(pcVar28 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x10)" (( "(") (binary_expression "pcVar28 + 0x10" (identifier "pcVar28") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(pcVar28 + 0xc) = 0;" (assignment_expression "*(int *)(pcVar28 + 0xc) = 0" (pointer_expression "*(int *)(pcVar28 + 0xc)" (* "*") (cast_expression "(int *)(pcVar28 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0xc)" (( "(") (binary_expression "pcVar28 + 0xc" (identifier "pcVar28") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_22c = pcVar28;" (assignment_expression "local_22c = pcVar28" (identifier "local_22c") (= "=") (identifier "pcVar28")) (; ";")) (} "}")) (else_clause "else {\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }" (else "else") (compound_statement "{\n        *(code **)(local_228 + 0x10) = pcVar28;\n        *(code **)(pcVar28 + 0xc) = local_228;\n        *(int *)(pcVar28 + 0x10) = 0;\n      }" ({ "{") (expression_statement "*(code **)(local_228 + 0x10) = pcVar28;" (assignment_expression "*(code **)(local_228 + 0x10) = pcVar28" (pointer_expression "*(code **)(local_228 + 0x10)" (* "*") (cast_expression "(code **)(local_228 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_228 + 0x10)" (( "(") (binary_expression "local_228 + 0x10" (identifier "local_228") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "pcVar28")) (; ";")) (expression_statement "*(code **)(pcVar28 + 0xc) = local_228;" (assignment_expression "*(code **)(pcVar28 + 0xc) = local_228" (pointer_expression "*(code **)(pcVar28 + 0xc)" (* "*") (cast_expression "(code **)(pcVar28 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0xc)" (( "(") (binary_expression "pcVar28 + 0xc" (identifier "pcVar28") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "local_228")) (; ";")) (expression_statement "*(int *)(pcVar28 + 0x10) = 0;" (assignment_expression "*(int *)(pcVar28 + 0x10) = 0" (pointer_expression "*(int *)(pcVar28 + 0x10)" (* "*") (cast_expression "(int *)(pcVar28 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x10)" (( "(") (binary_expression "pcVar28 + 0x10" (identifier "pcVar28") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "*(code ***)pcVar28 = ppcVar23;" (assignment_expression "*(code ***)pcVar28 = ppcVar23" (pointer_expression "*(code ***)pcVar28" (* "*") (cast_expression "(code ***)pcVar28" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pcVar28"))) (= "=") (identifier "ppcVar23")) (; ";")) (expression_statement "*(code ***)(pcVar28 + 4) = ppcVar20;" (assignment_expression "*(code ***)(pcVar28 + 4) = ppcVar20" (pointer_expression "*(code ***)(pcVar28 + 4)" (* "*") (cast_expression "(code ***)(pcVar28 + 4)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(pcVar28 + 4)" (( "(") (binary_expression "pcVar28 + 4" (identifier "pcVar28") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "ppcVar20")) (; ";")) (expression_statement "*(int *)(pcVar28 + 8) = 0;" (assignment_expression "*(int *)(pcVar28 + 8) = 0" (pointer_expression "*(int *)(pcVar28 + 8)" (* "*") (cast_expression "(int *)(pcVar28 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 8)" (( "(") (binary_expression "pcVar28 + 8" (identifier "pcVar28") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_228 = pcVar28;" (assignment_expression "local_228 = pcVar28" (identifier "local_228") (= "=") (identifier "pcVar28")) (; ";")) (} "}")) (else_clause "else {\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" (else "else") (compound_statement "{\n      param_1 = ppcVar27;\n      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;\n    }" ({ "{") (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" (identifier "param_1") (= "=") (identifier "ppcVar27")) (; ";")) (if_statement "if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;" (if "if") (parenthesized_expression "((uVar13 & 0xfffffffd) != 0x3c)" (( "(") (binary_expression "(uVar13 & 0xfffffffd) != 0x3c" (parenthesized_expression "(uVar13 & 0xfffffffd)" (( "(") (binary_expression "uVar13 & 0xfffffffd" (identifier "uVar13") (& "&") (number_literal "0xfffffffd")) () ")")) (!= "!=") (number_literal "0x3c")) () ")")) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";"))) (} "}"))))) (expression_statement "pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8)" (identifier "pcVar28") (= "=") (cast_expression "(code *)(PTR_LAB_000af7c0 + 0x1ff8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_000af7c0 + 0x1ff8)" (( "(") (binary_expression "PTR_LAB_000af7c0 + 0x1ff8" (identifier "PTR_LAB_000af7c0") (+ "+") (number_literal "0x1ff8")) () ")")))) (; ";")) (expression_statement "iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);" (assignment_expression "iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20)" (identifier "iVar9") (= "=") (call_expression "FUN_00031ff8(param_6,ppcVar23,ppcVar20)" (identifier "FUN_00031ff8") (argument_list "(param_6,ppcVar23,ppcVar20)" (( "(") (identifier "param_6") (, ",") (identifier "ppcVar23") (, ",") (identifier "ppcVar20") () ")")))) (; ";")) (expression_statement "bVar1 = iVar9 != 0;" (assignment_expression "bVar1 = iVar9 != 0" (identifier "bVar1") (= "=") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) (; ";")) (if_statement "if (bVar1) {\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n      piVar16 = (int *)&DAT_00000001;\n      FUN_00031590(&local_224,ppcVar23,ppcVar20);\n    }" ({ "{") (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" (identifier "piVar16") (= "=") (cast_expression "(int *)&DAT_00000001" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001")))) (; ";")) (expression_statement "FUN_00031590(&local_224,ppcVar23,ppcVar20);" (call_expression "FUN_00031590(&local_224,ppcVar23,ppcVar20)" (identifier "FUN_00031590") (argument_list "(&local_224,ppcVar23,ppcVar20)" (( "(") (pointer_expression "&local_224" (& "&") (identifier "local_224")) (, ",") (identifier "ppcVar23") (, ",") (identifier "ppcVar20") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000323f8:\n    while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }" (statement_identifier "LAB_000323f8") (: ":") (while_statement "while( true ) {\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      ppcVar25 = ppcVar24;\n      uVar13 = (uint)*(char *)ppcVar25;\n      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;\n      ppcVar24 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;\n    }" ({ "{") (expression_statement "ppcVar25 = ppcVar24;" (assignment_expression "ppcVar25 = ppcVar24" (identifier "ppcVar25") (= "=") (identifier "ppcVar24")) (; ";")) (expression_statement "uVar13 = (uint)*(char *)ppcVar25;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar25" (identifier "uVar13") (= "=") (binary_expression "(uint)*(char *)ppcVar25" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)ppcVar25" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar25")))) (; ";")) (if_statement "if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;" (if "if") (parenthesized_expression "((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0))" (( "(") (binary_expression "(0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar13 - 9)" (( "(") (binary_expression "0x17 < uVar13 - 9" (number_literal "0x17") (< "<") (binary_expression "uVar13 - 9" (identifier "uVar13") (- "-") (number_literal "9"))) () ")")) (|| "||") (parenthesized_expression "((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)" (( "(") (binary_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU)" (( "(") (binary_expression "1 << (uVar13 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 - 9 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar13 - 9 & 0x1f)" (( "(") (binary_expression "uVar13 - 9 & 0x1f" (binary_expression "uVar13 - 9" (identifier "uVar13") (- "-") (number_literal "9")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0x80001fU")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "ppcVar24 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar25 + 1)" (identifier "ppcVar24") (= "=") (cast_expression "(code **)((int)ppcVar25 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar25 + 1)" (( "(") (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar25")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= (code **)((int)ppcVar25 + 1))" (( "(") (binary_expression "ppcVar26 <= (code **)((int)ppcVar25 + 1)" (identifier "ppcVar26") (<= "<=") (cast_expression "(code **)((int)ppcVar25 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar25 + 1)" (( "(") (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar25")) (+ "+") (number_literal "1")) () ")")))) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (} "}")))) (if_statement "if (uVar13 == 0x2f) {\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }" (if "if") (parenthesized_expression "(uVar13 == 0x2f)" (( "(") (binary_expression "uVar13 == 0x2f" (identifier "uVar13") (== "==") (number_literal "0x2f")) () ")")) (compound_statement "{\n      ppcVar25 = (code **)((int)ppcVar25 + 1);\n      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      goto LAB_000328e4;\n    }" ({ "{") (expression_statement "ppcVar25 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar25 = (code **)((int)ppcVar25 + 1)" (identifier "ppcVar25") (= "=") (cast_expression "(code **)((int)ppcVar25 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar25 + 1)" (( "(") (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar25")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= ppcVar25) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar25)" (( "(") (binary_expression "ppcVar26 <= ppcVar25" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar25")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" (identifier "piVar16") (= "=") (cast_expression "(int *)&DAT_00000001" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001")))) (; ";")) (goto_statement "goto LAB_000328e4;" (goto "goto") (statement_identifier "LAB_000328e4") (; ";")) (} "}"))) (expression_statement "ppcVar22 = ppcVar25;" (assignment_expression "ppcVar22 = ppcVar25" (identifier "ppcVar22") (= "=") (identifier "ppcVar25")) (; ";")) (if_statement "if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;" (if "if") (parenthesized_expression "((uVar13 & 0xfffffffd) == 0x3c)" (( "(") (binary_expression "(uVar13 & 0xfffffffd) == 0x3c" (parenthesized_expression "(uVar13 & 0xfffffffd)" (( "(") (binary_expression "uVar13 & 0xfffffffd" (identifier "uVar13") (& "&") (number_literal "0xfffffffd")) () ")")) (== "==") (number_literal "0x3c")) () ")")) (goto_statement "goto LAB_0003292c;" (goto "goto") (statement_identifier "LAB_0003292c") (; ";"))) (while_statement "while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e) {\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }" (while "while") (parenthesized_expression "(ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e)" (( "(") (comma_expression "ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "ppcVar21 = ppcVar25" (identifier "ppcVar21") (= "=") (identifier "ppcVar25")) (, ",") (comma_expression "ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "ppcVar24 = ppcVar22" (identifier "ppcVar24") (= "=") (identifier "ppcVar22")) (, ",") (comma_expression "local_25c = ppcVar25, local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "local_25c = ppcVar25" (identifier "local_25c") (= "=") (identifier "ppcVar25")) (, ",") (comma_expression "local_254 = ppcVar22,\n          (uVar13 & 0xff) - 0x21 < 0x5e" (assignment_expression "local_254 = ppcVar22" (identifier "local_254") (= "=") (identifier "ppcVar22")) (, ",") (binary_expression "(uVar13 & 0xff) - 0x21 < 0x5e" (binary_expression "(uVar13 & 0xff) - 0x21" (parenthesized_expression "(uVar13 & 0xff)" (( "(") (binary_expression "uVar13 & 0xff" (identifier "uVar13") (& "&") (number_literal "0xff")) () ")")) (- "-") (number_literal "0x21")) (< "<") (number_literal "0x5e")))))) () ")")) (compound_statement "{\n      if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }\n      if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }\n      ppcVar22 = (code **)((int)ppcVar22 + 1);\n      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar22;\n    }" ({ "{") (if_statement "if ((uVar13 & 0xff) - 0x3c < 3) {\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }" (if "if") (parenthesized_expression "((uVar13 & 0xff) - 0x3c < 3)" (( "(") (binary_expression "(uVar13 & 0xff) - 0x3c < 3" (binary_expression "(uVar13 & 0xff) - 0x3c" (parenthesized_expression "(uVar13 & 0xff)" (( "(") (binary_expression "uVar13 & 0xff" (identifier "uVar13") (& "&") (number_literal "0xff")) () ")")) (- "-") (number_literal "0x3c")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n        param_1 = ppcVar27;\n        if (ppcVar25 != ppcVar22) goto LAB_00032818;\n        goto LAB_0003228c;\n      }" ({ "{") (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" (identifier "param_1") (= "=") (identifier "ppcVar27")) (; ";")) (if_statement "if (ppcVar25 != ppcVar22) goto LAB_00032818;" (if "if") (parenthesized_expression "(ppcVar25 != ppcVar22)" (( "(") (binary_expression "ppcVar25 != ppcVar22" (identifier "ppcVar25") (!= "!=") (identifier "ppcVar22")) () ")")) (goto_statement "goto LAB_00032818;" (goto "goto") (statement_identifier "LAB_00032818") (; ";"))) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";")) (} "}"))) (if_statement "if (uVar13 == 0x2f) {\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }" (if "if") (parenthesized_expression "(uVar13 == 0x2f)" (( "(") (binary_expression "uVar13 == 0x2f" (identifier "uVar13") (== "==") (number_literal "0x2f")) () ")")) (compound_statement "{\n        param_1 = ppcVar27;\n        if (ppcVar25 == ppcVar22) goto LAB_0003228c;\n        local_250 = (int *)&DAT_00000001;\n        param_1 = ppcVar22;\n        goto LAB_00032994;\n      }" ({ "{") (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" (identifier "param_1") (= "=") (identifier "ppcVar27")) (; ";")) (if_statement "if (ppcVar25 == ppcVar22) goto LAB_0003228c;" (if "if") (parenthesized_expression "(ppcVar25 == ppcVar22)" (( "(") (binary_expression "ppcVar25 == ppcVar22" (identifier "ppcVar25") (== "==") (identifier "ppcVar22")) () ")")) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";"))) (expression_statement "local_250 = (int *)&DAT_00000001;" (assignment_expression "local_250 = (int *)&DAT_00000001" (identifier "local_250") (= "=") (cast_expression "(int *)&DAT_00000001" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001")))) (; ";")) (expression_statement "param_1 = ppcVar22;" (assignment_expression "param_1 = ppcVar22" (identifier "param_1") (= "=") (identifier "ppcVar22")) (; ";")) (goto_statement "goto LAB_00032994;" (goto "goto") (statement_identifier "LAB_00032994") (; ";")) (} "}"))) (expression_statement "ppcVar22 = (code **)((int)ppcVar22 + 1);" (assignment_expression "ppcVar22 = (code **)((int)ppcVar22 + 1)" (identifier "ppcVar22") (= "=") (cast_expression "(code **)((int)ppcVar22 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar22 + 1)" (( "(") (binary_expression "(int)ppcVar22 + 1" (cast_expression "(int)ppcVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar22")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= ppcVar22) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar22)" (( "(") (binary_expression "ppcVar26 <= ppcVar22" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar22")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (expression_statement "uVar13 = (uint)*(char *)ppcVar22;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar22" (identifier "uVar13") (= "=") (binary_expression "(uint)*(char *)ppcVar22" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)ppcVar22" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar22")))) (; ";")) (} "}"))) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" (identifier "param_1") (= "=") (identifier "ppcVar27")) (; ";")) (if_statement "if (ppcVar25 == ppcVar22) goto LAB_0003228c;" (if "if") (parenthesized_expression "(ppcVar25 == ppcVar22)" (( "(") (binary_expression "ppcVar25 == ppcVar22" (identifier "ppcVar25") (== "==") (identifier "ppcVar22")) () ")")) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";"))) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" (identifier "piVar16") (= "=") (cast_expression "(int *)&DAT_00000001" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001")))) (; ";")) (while_statement "while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" (while "while") (parenthesized_expression "((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)))" (( "(") (parenthesized_expression "(uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))" (( "(") (binary_expression "uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" (binary_expression "uVar13 - 9 < 0x18" (binary_expression "uVar13 - 9" (identifier "uVar13") (- "-") (number_literal "9")) (< "<") (number_literal "0x18")) (&& "&&") (parenthesized_expression "((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0)" (( "(") (binary_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0" (parenthesized_expression "(1 << (uVar13 - 9 & 0x1f) & 0x80001fU)" (( "(") (binary_expression "1 << (uVar13 - 9 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 - 9 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar13 - 9 & 0x1f)" (( "(") (binary_expression "uVar13 - 9 & 0x1f" (binary_expression "uVar13 - 9" (identifier "uVar13") (- "-") (number_literal "9")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0x80001fU")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")")) (compound_statement "{\n      ppcVar24 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      uVar13 = (uint)*(char *)ppcVar24;\n    }" ({ "{") (expression_statement "ppcVar24 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar24 + 1)" (identifier "ppcVar24") (= "=") (cast_expression "(code **)((int)ppcVar24 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar24 + 1)" (( "(") (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar24")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar24)" (( "(") (binary_expression "ppcVar26 <= ppcVar24" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar24")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (expression_statement "uVar13 = (uint)*(char *)ppcVar24;" (assignment_expression "uVar13 = (uint)*(char *)ppcVar24" (identifier "uVar13") (= "=") (binary_expression "(uint)*(char *)ppcVar24" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)ppcVar24" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar24")))) (; ";")) (} "}"))) (if_statement "if ((uVar13 - 0x21 & 0xff) < 0x5e) {\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" (if "if") (parenthesized_expression "((uVar13 - 0x21 & 0xff) < 0x5e)" (( "(") (binary_expression "(uVar13 - 0x21 & 0xff) < 0x5e" (parenthesized_expression "(uVar13 - 0x21 & 0xff)" (( "(") (binary_expression "uVar13 - 0x21 & 0xff" (binary_expression "uVar13 - 0x21" (identifier "uVar13") (- "-") (number_literal "0x21")) (& "&") (number_literal "0xff")) () ")")) (< "<") (number_literal "0x5e")) () ")")) (compound_statement "{\nLAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }" ({ "{") (labeled_statement "LAB_00032818:\n      if (uVar13 == 0x3d) goto LAB_00032828;" (statement_identifier "LAB_00032818") (: ":") (if_statement "if (uVar13 == 0x3d) goto LAB_00032828;" (if "if") (parenthesized_expression "(uVar13 == 0x3d)" (( "(") (binary_expression "uVar13 == 0x3d" (identifier "uVar13") (== "==") (number_literal "0x3d")) () ")")) (goto_statement "goto LAB_00032828;" (goto "goto") (statement_identifier "LAB_00032828") (; ";")))) (expression_statement "local_250 = (int *)&DAT_00000001;" (assignment_expression "local_250 = (int *)&DAT_00000001" (identifier "local_250") (= "=") (cast_expression "(int *)&DAT_00000001" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001")))) (; ";")) (expression_statement "param_1 = ppcVar22;" (assignment_expression "param_1 = ppcVar22" (identifier "param_1") (= "=") (identifier "ppcVar22")) (; ";")) (} "}")) (else_clause "else if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" (else "else") (if_statement "if ((uVar13 & 0xfffffffd) == 0x3c) {\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }\n    else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" (if "if") (parenthesized_expression "((uVar13 & 0xfffffffd) == 0x3c)" (( "(") (binary_expression "(uVar13 & 0xfffffffd) == 0x3c" (parenthesized_expression "(uVar13 & 0xfffffffd)" (( "(") (binary_expression "uVar13 & 0xfffffffd" (identifier "uVar13") (& "&") (number_literal "0xfffffffd")) () ")")) (== "==") (number_literal "0x3c")) () ")")) (compound_statement "{\n      local_250 = (int *)&DAT_00000001;\n      param_1 = ppcVar22;\n    }" ({ "{") (expression_statement "local_250 = (int *)&DAT_00000001;" (assignment_expression "local_250 = (int *)&DAT_00000001" (identifier "local_250") (= "=") (cast_expression "(int *)&DAT_00000001" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001")))) (; ";")) (expression_statement "param_1 = ppcVar22;" (assignment_expression "param_1 = ppcVar22" (identifier "param_1") (= "=") (identifier "ppcVar22")) (; ";")) (} "}")) (else_clause "else {\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" (else "else") (compound_statement "{\n      if (uVar13 != 0x3d) goto LAB_0003228c;\nLAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);\n      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;\n      piVar16 = (int *)&DAT_00000001;\n      while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }\n      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }\n    }" ({ "{") (if_statement "if (uVar13 != 0x3d) goto LAB_0003228c;" (if "if") (parenthesized_expression "(uVar13 != 0x3d)" (( "(") (binary_expression "uVar13 != 0x3d" (identifier "uVar13") (!= "!=") (number_literal "0x3d")) () ")")) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";"))) (labeled_statement "LAB_00032828:\n      ppcVar21 = (code **)((int)ppcVar24 + 1);" (statement_identifier "LAB_00032828") (: ":") (expression_statement "ppcVar21 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar21 = (code **)((int)ppcVar24 + 1)" (identifier "ppcVar21") (= "=") (cast_expression "(code **)((int)ppcVar24 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar24 + 1)" (( "(") (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar24")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (if_statement "if (ppcVar26 <= ppcVar21) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar21)" (( "(") (binary_expression "ppcVar26 <= ppcVar21" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar21")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (expression_statement "piVar16 = (int *)&DAT_00000001;" (assignment_expression "piVar16 = (int *)&DAT_00000001" (identifier "piVar16") (= "=") (cast_expression "(int *)&DAT_00000001" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000001" (& "&") (identifier "DAT_00000001")))) (; ";")) (while_statement "while( true ) {\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        uVar15 = (uint)*(char *)ppcVar21;\n        uVar13 = uVar15 - 9;\n        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;\n        ppcVar21 = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 == ppcVar21) goto LAB_0003242c;\n      }" ({ "{") (expression_statement "uVar15 = (uint)*(char *)ppcVar21;" (assignment_expression "uVar15 = (uint)*(char *)ppcVar21" (identifier "uVar15") (= "=") (binary_expression "(uint)*(char *)ppcVar21" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)ppcVar21" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar21")))) (; ";")) (expression_statement "uVar13 = uVar15 - 9;" (assignment_expression "uVar13 = uVar15 - 9" (identifier "uVar13") (= "=") (binary_expression "uVar15 - 9" (identifier "uVar15") (- "-") (number_literal "9"))) (; ";")) (if_statement "if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;" (if "if") (parenthesized_expression "((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0))" (( "(") (binary_expression "(0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar13)" (( "(") (binary_expression "0x17 < uVar13" (number_literal "0x17") (< "<") (identifier "uVar13")) () ")")) (|| "||") (parenthesized_expression "((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (( "(") (binary_expression "(1 << (uVar13 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 & 0x1f) & 0x80001fU)" (( "(") (binary_expression "1 << (uVar13 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar13 & 0x1f)" (( "(") (binary_expression "uVar13 & 0x1f" (identifier "uVar13") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0x80001fU")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "ppcVar21 = (code **)((int)ppcVar21 + 1);" (assignment_expression "ppcVar21 = (code **)((int)ppcVar21 + 1)" (identifier "ppcVar21") (= "=") (cast_expression "(code **)((int)ppcVar21 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar21 + 1)" (( "(") (binary_expression "(int)ppcVar21 + 1" (cast_expression "(int)ppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar21")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 == ppcVar21) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 == ppcVar21)" (( "(") (binary_expression "ppcVar26 == ppcVar21" (identifier "ppcVar26") (== "==") (identifier "ppcVar21")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (} "}"))) (if_statement "if ((uVar15 == 0x22) || (uVar15 == 0x27)) {\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }\n      else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }" (if "if") (parenthesized_expression "((uVar15 == 0x22) || (uVar15 == 0x27))" (( "(") (binary_expression "(uVar15 == 0x22) || (uVar15 == 0x27)" (parenthesized_expression "(uVar15 == 0x22)" (( "(") (binary_expression "uVar15 == 0x22" (identifier "uVar15") (== "==") (number_literal "0x22")) () ")")) (|| "||") (parenthesized_expression "(uVar15 == 0x27)" (( "(") (binary_expression "uVar15 == 0x27" (identifier "uVar15") (== "==") (number_literal "0x27")) () ")"))) () ")")) (compound_statement "{\n        local_25c = (code **)((int)ppcVar21 + 1);\n        if (ppcVar26 <= local_25c) goto LAB_0003242c;\n        bVar3 = false;\n        piVar16 = (int *)0x3c;\n        param_1 = local_25c;\n        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }\n        ppcVar24 = (code **)((int)param_1 + 1);\n        local_254 = ppcVar24;\n        local_250 = piVar6;\n        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n      }" ({ "{") (expression_statement "local_25c = (code **)((int)ppcVar21 + 1);" (assignment_expression "local_25c = (code **)((int)ppcVar21 + 1)" (identifier "local_25c") (= "=") (cast_expression "(code **)((int)ppcVar21 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar21 + 1)" (( "(") (binary_expression "(int)ppcVar21 + 1" (cast_expression "(int)ppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar21")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= local_25c) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= local_25c)" (( "(") (binary_expression "ppcVar26 <= local_25c" (identifier "ppcVar26") (<= "<=") (identifier "local_25c")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (expression_statement "piVar16 = (int *)0x3c;" (assignment_expression "piVar16 = (int *)0x3c" (identifier "piVar16") (= "=") (cast_expression "(int *)0x3c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3c"))) (; ";")) (expression_statement "param_1 = local_25c;" (assignment_expression "param_1 = local_25c" (identifier "param_1") (= "=") (identifier "local_25c")) (; ";")) (while_statement "while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }" (while "while") (parenthesized_expression "(uVar13 = (uint)*(char *)param_1, uVar15 != uVar13)" (( "(") (comma_expression "uVar13 = (uint)*(char *)param_1, uVar15 != uVar13" (assignment_expression "uVar13 = (uint)*(char *)param_1" (identifier "uVar13") (= "=") (binary_expression "(uint)*(char *)param_1" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")))) (, ",") (binary_expression "uVar15 != uVar13" (identifier "uVar15") (!= "!=") (identifier "uVar13"))) () ")")) (compound_statement "{\n          if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }\n          param_1 = (code **)((int)param_1 + 1);\n          if (ppcVar26 <= param_1) goto LAB_0003242c;\n        }" ({ "{") (if_statement "if (bVar3) {\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }\n          else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" (if "if") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\nLAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }\n            bVar3 = true;\n          }" ({ "{") (labeled_statement "LAB_00032c8c:\n            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }" (statement_identifier "LAB_00032c8c") (: ":") (if_statement "if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }" (if "if") (parenthesized_expression "((uVar13 == 0x3c) || (uVar13 == 0x3e))" (( "(") (binary_expression "(uVar13 == 0x3c) || (uVar13 == 0x3e)" (parenthesized_expression "(uVar13 == 0x3c)" (( "(") (binary_expression "uVar13 == 0x3c" (identifier "uVar13") (== "==") (number_literal "0x3c")) () ")")) (|| "||") (parenthesized_expression "(uVar13 == 0x3e)" (( "(") (binary_expression "uVar13 == 0x3e" (identifier "uVar13") (== "==") (number_literal "0x3e")) () ")"))) () ")")) (compound_statement "{\n              if (uVar15 != uVar13) goto LAB_0003228c;\n              break;\n            }" ({ "{") (if_statement "if (uVar15 != uVar13) goto LAB_0003228c;" (if "if") (parenthesized_expression "(uVar15 != uVar13)" (( "(") (binary_expression "uVar15 != uVar13" (identifier "uVar15") (!= "!=") (identifier "uVar13")) () ")")) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}")))) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" (else "else") (if_statement "if (uVar13 == 10) {\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" (if "if") (parenthesized_expression "(uVar13 == 10)" (( "(") (binary_expression "uVar13 == 10" (identifier "uVar13") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);\n            param_1 = local_25c;\n            if (uVar13 != uVar15) goto LAB_00032c8c;\n            break;\n          }" ({ "{") (expression_statement "uVar13 = (uint)*(char *)((int)ppcVar21 + 1);" (assignment_expression "uVar13 = (uint)*(char *)((int)ppcVar21 + 1)" (identifier "uVar13") (= "=") (binary_expression "(uint)*(char *)((int)ppcVar21 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)((int)ppcVar21 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar21 + 1)" (( "(") (binary_expression "(int)ppcVar21 + 1" (cast_expression "(int)ppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar21")) (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "param_1 = local_25c;" (assignment_expression "param_1 = local_25c" (identifier "param_1") (= "=") (identifier "local_25c")) (; ";")) (if_statement "if (uVar13 != uVar15) goto LAB_00032c8c;" (if "if") (parenthesized_expression "(uVar13 != uVar15)" (( "(") (binary_expression "uVar13 != uVar15" (identifier "uVar13") (!= "!=") (identifier "uVar15")) () ")")) (goto_statement "goto LAB_00032c8c;" (goto "goto") (statement_identifier "LAB_00032c8c") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))))) (expression_statement "param_1 = (code **)((int)param_1 + 1);" (assignment_expression "param_1 = (code **)((int)param_1 + 1)" (identifier "param_1") (= "=") (cast_expression "(code **)((int)param_1 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)param_1 + 1)" (( "(") (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= param_1) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= param_1)" (( "(") (binary_expression "ppcVar26 <= param_1" (identifier "ppcVar26") (<= "<=") (identifier "param_1")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (} "}"))) (expression_statement "ppcVar24 = (code **)((int)param_1 + 1);" (assignment_expression "ppcVar24 = (code **)((int)param_1 + 1)" (identifier "ppcVar24") (= "=") (cast_expression "(code **)((int)param_1 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)param_1 + 1)" (( "(") (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_254 = ppcVar24;" (assignment_expression "local_254 = ppcVar24" (identifier "local_254") (= "=") (identifier "ppcVar24")) (; ";")) (expression_statement "local_250 = piVar6;" (assignment_expression "local_250 = piVar6" (identifier "local_250") (= "=") (identifier "piVar6")) (; ";")) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar24)" (( "(") (binary_expression "ppcVar26 <= ppcVar24" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar24")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (} "}")) (else_clause "else {\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }" (else "else") (compound_statement "{\n        piVar16 = (int *)0x3c;\n        ppcVar24 = ppcVar21;\n        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }\n        param_1 = ppcVar27;\n        if (ppcVar21 == ppcVar24) goto LAB_0003228c;\n        local_250 = (int *)0x2;\n        param_1 = ppcVar24;\n        local_25c = ppcVar21;\n        local_254 = ppcVar24;\n      }" ({ "{") (expression_statement "piVar16 = (int *)0x3c;" (assignment_expression "piVar16 = (int *)0x3c" (identifier "piVar16") (= "=") (cast_expression "(int *)0x3c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3c"))) (; ";")) (expression_statement "ppcVar24 = ppcVar21;" (assignment_expression "ppcVar24 = ppcVar21" (identifier "ppcVar24") (= "=") (identifier "ppcVar21")) (; ";")) (while_statement "while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))) {\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }" (while "while") (parenthesized_expression "(((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c)))" (( "(") (parenthesized_expression "((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c))" (( "(") (binary_expression "(0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&\n               ((uVar15 & 0xfffffffd) != 0x3c)" (parenthesized_expression "(0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0))" (( "(") (binary_expression "0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (binary_expression "0x17 < uVar13" (number_literal "0x17") (< "<") (identifier "uVar13")) (|| "||") (parenthesized_expression "((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (( "(") (binary_expression "(1 << (uVar13 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 & 0x1f) & 0x80001fU)" (( "(") (binary_expression "1 << (uVar13 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar13 & 0x1f)" (( "(") (binary_expression "uVar13 & 0x1f" (identifier "uVar13") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0x80001fU")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar15 & 0xfffffffd) != 0x3c)" (( "(") (binary_expression "(uVar15 & 0xfffffffd) != 0x3c" (parenthesized_expression "(uVar15 & 0xfffffffd)" (( "(") (binary_expression "uVar15 & 0xfffffffd" (identifier "uVar15") (& "&") (number_literal "0xfffffffd")) () ")")) (!= "!=") (number_literal "0x3c")) () ")"))) () ")")) () ")")) (compound_statement "{\n          ppcVar24 = (code **)((int)ppcVar24 + 1);\n          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;\n          uVar15 = (uint)*(char *)ppcVar24;\n          uVar13 = uVar15 - 9;\n        }" ({ "{") (expression_statement "ppcVar24 = (code **)((int)ppcVar24 + 1);" (assignment_expression "ppcVar24 = (code **)((int)ppcVar24 + 1)" (identifier "ppcVar24") (= "=") (cast_expression "(code **)((int)ppcVar24 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar24 + 1)" (( "(") (binary_expression "(int)ppcVar24 + 1" (cast_expression "(int)ppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar24")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 <= ppcVar24) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar24)" (( "(") (binary_expression "ppcVar26 <= ppcVar24" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar24")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (expression_statement "uVar15 = (uint)*(char *)ppcVar24;" (assignment_expression "uVar15 = (uint)*(char *)ppcVar24" (identifier "uVar15") (= "=") (binary_expression "(uint)*(char *)ppcVar24" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(char *)ppcVar24" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar24")))) (; ";")) (expression_statement "uVar13 = uVar15 - 9;" (assignment_expression "uVar13 = uVar15 - 9" (identifier "uVar13") (= "=") (binary_expression "uVar15 - 9" (identifier "uVar15") (- "-") (number_literal "9"))) (; ";")) (} "}"))) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" (identifier "param_1") (= "=") (identifier "ppcVar27")) (; ";")) (if_statement "if (ppcVar21 == ppcVar24) goto LAB_0003228c;" (if "if") (parenthesized_expression "(ppcVar21 == ppcVar24)" (( "(") (binary_expression "ppcVar21 == ppcVar24" (identifier "ppcVar21") (== "==") (identifier "ppcVar24")) () ")")) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";"))) (expression_statement "local_250 = (int *)0x2;" (assignment_expression "local_250 = (int *)0x2" (identifier "local_250") (= "=") (cast_expression "(int *)0x2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "param_1 = ppcVar24;" (assignment_expression "param_1 = ppcVar24" (identifier "param_1") (= "=") (identifier "ppcVar24")) (; ";")) (expression_statement "local_25c = ppcVar21;" (assignment_expression "local_25c = ppcVar21" (identifier "local_25c") (= "=") (identifier "ppcVar21")) (; ";")) (expression_statement "local_254 = ppcVar24;" (assignment_expression "local_254 = ppcVar24" (identifier "local_254") (= "=") (identifier "ppcVar24")) (; ";")) (} "}")))) (} "}")))))) (labeled_statement "LAB_00032994:\n    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }" (statement_identifier "LAB_00032994") (: ":") (if_statement "if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))\n    {\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }" (if "if") (parenthesized_expression "((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))" (( "(") (binary_expression "(bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0)" (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (&& "&&") (parenthesized_expression "(piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0)" (( "(") (comma_expression "piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0" (assignment_expression "piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22)" (identifier "piVar16") (= "=") (cast_expression "(int *)(*pcVar28)(param_7,ppcVar25,ppcVar22)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar28)(param_7,ppcVar25,ppcVar22)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(param_7,ppcVar25,ppcVar22)" (( "(") (identifier "param_7") (, ",") (identifier "ppcVar25") (, ",") (identifier "ppcVar22") () ")"))))) (, ",") (binary_expression "piVar16 != (int *)0x0" (identifier "piVar16") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      iVar19 = iVar9 + 1;\n      iVar17 = local_27c;\n      if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }\n      local_280[iVar9 * 6 + 4] = local_21c;\n      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);\n      local_280[iVar9 * 6 + 5] = local_21c;\n      FUN_00031590(&local_224,local_25c,param_1);\n      local_280[iVar9 * 6 + 2] = (int)ppcVar21;\n      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;\n      local_27c = iVar17;\n      iVar9 = iVar19;\n      piVar16 = local_250;\n    }" ({ "{") (expression_statement "iVar19 = iVar9 + 1;" (assignment_expression "iVar19 = iVar9 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar17 = local_27c;" (assignment_expression "iVar17 = local_27c" (identifier "iVar17") (= "=") (identifier "local_27c")) (; ";")) (if_statement "if (local_27c < iVar19) {\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }" (if "if") (parenthesized_expression "(local_27c < iVar19)" (( "(") (binary_expression "local_27c < iVar19" (identifier "local_27c") (< "<") (identifier "iVar19")) () ")")) (compound_statement "{\n        do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);\n        if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }\n      }" ({ "{") (do_statement "do {\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        } while (iVar17 < iVar19);" (do "do") (compound_statement "{\n          iVar18 = iVar17;\n          iVar17 = iVar18 * 2;\n        }" ({ "{") (expression_statement "iVar18 = iVar17;" (assignment_expression "iVar18 = iVar17" (identifier "iVar18") (= "=") (identifier "iVar17")) (; ";")) (expression_statement "iVar17 = iVar18 * 2;" (assignment_expression "iVar17 = iVar18 * 2" (identifier "iVar17") (= "=") (binary_expression "iVar18 * 2" (identifier "iVar18") (* "*") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar17 < iVar19)" (( "(") (binary_expression "iVar17 < iVar19" (identifier "iVar17") (< "<") (identifier "iVar19")) () ")")) (; ";")) (if_statement "if (local_27c != iVar17) {\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }" (if "if") (parenthesized_expression "(local_27c != iVar17)" (( "(") (binary_expression "local_27c != iVar17" (identifier "local_27c") (!= "!=") (identifier "iVar17")) () ")")) (compound_statement "{\n          if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }\n        }" ({ "{") (if_statement "if (local_28c == (int *)0x0) {\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }\n          else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }" (if "if") (parenthesized_expression "(local_28c == (int *)0x0)" (( "(") (binary_expression "local_28c == (int *)0x0" (identifier "local_28c") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);\n            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);\n            local_28c = piVar16;\n          }" ({ "{") (expression_statement "uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30)" (parenthesized_expression "(*(code *)PTR_xmalloc_000af5c4)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_000af5c4" (* "*") (cast_expression "(code *)PTR_xmalloc_000af5c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_000af5c4"))) () ")")) (argument_list "(iVar18 * 0x30)" (( "(") (binary_expression "iVar18 * 0x30" (identifier "iVar18") (* "*") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);" (assignment_expression "local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18)" (identifier "local_280") (= "=") (cast_expression "(int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18)" (parenthesized_expression "(*(code *)PTR_memcpy_000afc70)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000afc70" (* "*") (cast_expression "(code *)PTR_memcpy_000afc70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000afc70"))) () ")")) (argument_list "(uVar10,local_280,local_27c * 0x18)" (( "(") (identifier "uVar10") (, ",") (identifier "local_280") (, ",") (binary_expression "local_27c * 0x18" (identifier "local_27c") (* "*") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_28c = piVar16;" (assignment_expression "local_28c = piVar16" (identifier "local_28c") (= "=") (identifier "piVar16")) (; ";")) (} "}")) (else_clause "else {\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }" (else "else") (compound_statement "{\n            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);\n          }" ({ "{") (expression_statement "local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);" (assignment_expression "local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280)" (identifier "local_280") (= "=") (cast_expression "(int *)(*(code *)PTR_xrealloc_000af818)(local_280)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_xrealloc_000af818)(local_280)" (parenthesized_expression "(*(code *)PTR_xrealloc_000af818)" (( "(") (pointer_expression "*(code *)PTR_xrealloc_000af818" (* "*") (cast_expression "(code *)PTR_xrealloc_000af818" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xrealloc_000af818"))) () ")")) (argument_list "(local_280)" (( "(") (identifier "local_280") () ")"))))) (; ";")) (} "}")))) (} "}"))) (} "}"))) (expression_statement "local_280[iVar9 * 6 + 4] = local_21c;" (assignment_expression "local_280[iVar9 * 6 + 4] = local_21c" (subscript_expression "local_280[iVar9 * 6 + 4]" (identifier "local_280") ([ "[") (binary_expression "iVar9 * 6 + 4" (binary_expression "iVar9 * 6" (identifier "iVar9") (* "*") (number_literal "6")) (+ "+") (number_literal "4")) (] "]")) (= "=") (identifier "local_21c")) (; ";")) (expression_statement "FUN_00031590(&local_224,ppcVar25,ppcVar22,1);" (call_expression "FUN_00031590(&local_224,ppcVar25,ppcVar22,1)" (identifier "FUN_00031590") (argument_list "(&local_224,ppcVar25,ppcVar22,1)" (( "(") (pointer_expression "&local_224" (& "&") (identifier "local_224")) (, ",") (identifier "ppcVar25") (, ",") (identifier "ppcVar22") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "local_280[iVar9 * 6 + 5] = local_21c;" (assignment_expression "local_280[iVar9 * 6 + 5] = local_21c" (subscript_expression "local_280[iVar9 * 6 + 5]" (identifier "local_280") ([ "[") (binary_expression "iVar9 * 6 + 5" (binary_expression "iVar9 * 6" (identifier "iVar9") (* "*") (number_literal "6")) (+ "+") (number_literal "5")) (] "]")) (= "=") (identifier "local_21c")) (; ";")) (expression_statement "FUN_00031590(&local_224,local_25c,param_1);" (call_expression "FUN_00031590(&local_224,local_25c,param_1)" (identifier "FUN_00031590") (argument_list "(&local_224,local_25c,param_1)" (( "(") (pointer_expression "&local_224" (& "&") (identifier "local_224")) (, ",") (identifier "local_25c") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "local_280[iVar9 * 6 + 2] = (int)ppcVar21;" (assignment_expression "local_280[iVar9 * 6 + 2] = (int)ppcVar21" (subscript_expression "local_280[iVar9 * 6 + 2]" (identifier "local_280") ([ "[") (binary_expression "iVar9 * 6 + 2" (binary_expression "iVar9 * 6" (identifier "iVar9") (* "*") (number_literal "6")) (+ "+") (number_literal "2")) (] "]")) (= "=") (cast_expression "(int)ppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar21"))) (; ";")) (expression_statement "local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;" (assignment_expression "local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21" (subscript_expression "local_280[iVar9 * 6 + 3]" (identifier "local_280") ([ "[") (binary_expression "iVar9 * 6 + 3" (binary_expression "iVar9 * 6" (identifier "iVar9") (* "*") (number_literal "6")) (+ "+") (number_literal "3")) (] "]")) (= "=") (binary_expression "(int)local_254 - (int)ppcVar21" (cast_expression "(int)local_254" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_254")) (- "-") (cast_expression "(int)ppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar21")))) (; ";")) (expression_statement "local_27c = iVar17;" (assignment_expression "local_27c = iVar17" (identifier "local_27c") (= "=") (identifier "iVar17")) (; ";")) (expression_statement "iVar9 = iVar19;" (assignment_expression "iVar9 = iVar19" (identifier "iVar9") (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar16 = local_250;" (assignment_expression "piVar16 = local_250" (identifier "piVar16") (= "=") (identifier "local_250")) (; ";")) (} "}")))) (goto_statement "goto LAB_000323f8;" (goto "goto") (statement_identifier "LAB_000323f8") (; ";")) (} "}"))) (labeled_statement "LAB_0003246c:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" (statement_identifier "LAB_0003246c") (: ":") (if_statement "if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar4)" (( "(") (binary_expression "local_2c == *(int *)puVar4" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) () ")")) (compound_statement "{\n    return *(int *)puVar4;\n  }" ({ "{") (return_statement "return *(int *)puVar4;" (return "return") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (; ";")) (} "}")))) (expression_statement "puVar29 = PTR___stack_chk_fail_000afbd4;" (assignment_expression "puVar29 = PTR___stack_chk_fail_000afbd4" (identifier "puVar29") (= "=") (identifier "PTR___stack_chk_fail_000afbd4")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000afbd4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000afbd4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000afbd4)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000afbd4" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000afbd4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000afbd4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (0 < (int)ppcVar14) {\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }" (if "if") (parenthesized_expression "(0 < (int)ppcVar14)" (( "(") (binary_expression "0 < (int)ppcVar14" (number_literal "0") (< "<") (cast_expression "(int)ppcVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar14"))) () ")")) (compound_statement "{\n    ppcVar26 = (code **)0x0;\n    pcVar7 = *param_2;\n    do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);\n    return 0;\n  }" ({ "{") (expression_statement "ppcVar26 = (code **)0x0;" (assignment_expression "ppcVar26 = (code **)0x0" (identifier "ppcVar26") (= "=") (cast_expression "(code **)0x0" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar7 = *param_2;" (assignment_expression "pcVar7 = *param_2" (identifier "pcVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (do_statement "do {\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    } while (ppcVar26 != ppcVar14);" (do "do") (compound_statement "{\n      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);\n      if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }\n      ppcVar26 = (code **)((int)ppcVar26 + 1);\n      pcVar7 = pcVar7 + 0x18;\n    }" ({ "{") (expression_statement "iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);" (assignment_expression "iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3)" (parenthesized_expression "(**(code **)(puVar29 + 0x7c6f4))" (( "(") (pointer_expression "**(code **)(puVar29 + 0x7c6f4)" (* "*") (pointer_expression "*(code **)(puVar29 + 0x7c6f4)" (* "*") (cast_expression "(code **)(puVar29 + 0x7c6f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar29 + 0x7c6f4)" (( "(") (binary_expression "puVar29 + 0x7c6f4" (identifier "puVar29") (+ "+") (number_literal "0x7c6f4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)pcVar7,param_3)" (( "(") (pointer_expression "*(undefined4 *)pcVar7" (* "*") (cast_expression "(undefined4 *)pcVar7" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar7"))) (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }\n        return *(int *)(pcVar7 + 4);\n      }" ({ "{") (if_statement "if (param_4 != (int *)0x0) {\n          *param_4 = (int)ppcVar26;\n        }" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *param_4 = (int)ppcVar26;\n        }" ({ "{") (expression_statement "*param_4 = (int)ppcVar26;" (assignment_expression "*param_4 = (int)ppcVar26" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (cast_expression "(int)ppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar26"))) (; ";")) (} "}"))) (return_statement "return *(int *)(pcVar7 + 4);" (return "return") (pointer_expression "*(int *)(pcVar7 + 4)" (* "*") (cast_expression "(int *)(pcVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 4)" (( "(") (binary_expression "pcVar7 + 4" (identifier "pcVar7") (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}"))) (expression_statement "ppcVar26 = (code **)((int)ppcVar26 + 1);" (assignment_expression "ppcVar26 = (code **)((int)ppcVar26 + 1)" (identifier "ppcVar26") (= "=") (cast_expression "(code **)((int)ppcVar26 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar26 + 1)" (( "(") (binary_expression "(int)ppcVar26 + 1" (cast_expression "(int)ppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar26")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar7 = pcVar7 + 0x18;" (assignment_expression "pcVar7 = pcVar7 + 0x18" (identifier "pcVar7") (= "=") (binary_expression "pcVar7 + 0x18" (identifier "pcVar7") (+ "+") (number_literal "0x18"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppcVar26 != ppcVar14)" (( "(") (binary_expression "ppcVar26 != ppcVar14" (identifier "ppcVar26") (!= "!=") (identifier "ppcVar14")) () ")")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (while_statement "while (*(char *)ppcVar20 == '-') {\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }" (while "while") (parenthesized_expression "(*(char *)ppcVar20 == '-')" (( "(") (binary_expression "*(char *)ppcVar20 == '-'" (pointer_expression "*(char *)ppcVar20" (* "*") (cast_expression "(char *)ppcVar20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar20"))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\nLAB_00032dcc:\n    ppcVar23 = ppcVar20;\n    ppcVar20 = (code **)((int)ppcVar23 + 1);\n    if (ppcVar26 == ppcVar20) goto LAB_0003228c;\n  }" ({ "{") (labeled_statement "LAB_00032dcc:\n    ppcVar23 = ppcVar20;" (statement_identifier "LAB_00032dcc") (: ":") (expression_statement "ppcVar23 = ppcVar20;" (assignment_expression "ppcVar23 = ppcVar20" (identifier "ppcVar23") (= "=") (identifier "ppcVar20")) (; ";"))) (expression_statement "ppcVar20 = (code **)((int)ppcVar23 + 1);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar23 + 1)" (identifier "ppcVar20") (= "=") (cast_expression "(code **)((int)ppcVar23 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar23 + 1)" (( "(") (binary_expression "(int)ppcVar23 + 1" (cast_expression "(int)ppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar23")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 == ppcVar20) goto LAB_0003228c;" (if "if") (parenthesized_expression "(ppcVar26 == ppcVar20)" (( "(") (binary_expression "ppcVar26 == ppcVar20" (identifier "ppcVar26") (== "==") (identifier "ppcVar20")) () ")")) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";"))) (} "}"))) (expression_statement "ppcVar27 = ppcVar20;" (assignment_expression "ppcVar27 = ppcVar20" (identifier "ppcVar27") (= "=") (identifier "ppcVar20")) (; ";")) (if_statement "if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;" (if "if") (parenthesized_expression "(*(char *)ppcVar20 == '>')" (( "(") (binary_expression "*(char *)ppcVar20 == '>'" (pointer_expression "*(char *)ppcVar20" (* "*") (cast_expression "(char *)ppcVar20" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar20"))) (== "==") (char_literal "'>'" (' "'") (character ">") (' "'"))) () ")")) (goto_statement "goto code_r0x00032dec;" (goto "goto") (statement_identifier "code_r0x00032dec") (; ";"))) (goto_statement "goto LAB_0003267c;" (goto "goto") (statement_identifier "LAB_0003267c") (; ";")) (labeled_statement "code_r0x00032dec:\n  ppcVar20 = (code **)((int)ppcVar23 + 2);" (statement_identifier "code_r0x00032dec") (: ":") (expression_statement "ppcVar20 = (code **)((int)ppcVar23 + 2);" (assignment_expression "ppcVar20 = (code **)((int)ppcVar23 + 2)" (identifier "ppcVar20") (= "=") (cast_expression "(code **)((int)ppcVar23 + 2)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar23 + 2)" (( "(") (binary_expression "(int)ppcVar23 + 2" (cast_expression "(int)ppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar23")) (+ "+") (number_literal "2")) () ")")))) (; ";"))) (labeled_statement "LAB_00032d0c:\n  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;" (statement_identifier "LAB_00032d0c") (: ":") (if_statement "if (ppcVar20 == (code **)0x0) goto LAB_0003228c;" (if "if") (parenthesized_expression "(ppcVar20 == (code **)0x0)" (( "(") (binary_expression "ppcVar20 == (code **)0x0" (identifier "ppcVar20") (== "==") (cast_expression "(code **)0x0" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";")))) (labeled_statement "joined_r0x00032628:\n  param_1 = ppcVar20;" (statement_identifier "joined_r0x00032628") (: ":") (expression_statement "param_1 = ppcVar20;" (assignment_expression "param_1 = ppcVar20" (identifier "param_1") (= "=") (identifier "ppcVar20")) (; ";"))) (if_statement "if (ppcVar20 == ppcVar26) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar20 == ppcVar26)" (( "(") (binary_expression "ppcVar20 == ppcVar26" (identifier "ppcVar20") (== "==") (identifier "ppcVar26")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";")) (labeled_statement "LAB_000328e4:\n  uVar13 = (int)*(char *)ppcVar25 - 9;" (statement_identifier "LAB_000328e4") (: ":") (expression_statement "uVar13 = (int)*(char *)ppcVar25 - 9;" (assignment_expression "uVar13 = (int)*(char *)ppcVar25 - 9" (identifier "uVar13") (= "=") (binary_expression "(int)*(char *)ppcVar25 - 9" (cast_expression "(int)*(char *)ppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)ppcVar25" (* "*") (cast_expression "(char *)ppcVar25" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar25")))) (- "-") (number_literal "9"))) (; ";"))) (if_statement "if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;" (if "if") (parenthesized_expression "((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0))" (( "(") (binary_expression "(0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (parenthesized_expression "(0x17 < uVar13)" (( "(") (binary_expression "0x17 < uVar13" (number_literal "0x17") (< "<") (identifier "uVar13")) () ")")) (|| "||") (parenthesized_expression "((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)" (( "(") (binary_expression "(1 << (uVar13 & 0x1f) & 0x80001fU) == 0" (parenthesized_expression "(1 << (uVar13 & 0x1f) & 0x80001fU)" (( "(") (binary_expression "1 << (uVar13 & 0x1f) & 0x80001fU" (binary_expression "1 << (uVar13 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar13 & 0x1f)" (( "(") (binary_expression "uVar13 & 0x1f" (identifier "uVar13") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0x80001fU")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_00032918;" (goto "goto") (statement_identifier "LAB_00032918") (; ";"))) (expression_statement "ppcVar25 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar25 = (code **)((int)ppcVar25 + 1)" (identifier "ppcVar25") (= "=") (cast_expression "(code **)((int)ppcVar25 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar25 + 1)" (( "(") (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar25")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppcVar26 == ppcVar25) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 == ppcVar25)" (( "(") (binary_expression "ppcVar26 == ppcVar25" (identifier "ppcVar26") (== "==") (identifier "ppcVar25")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (goto_statement "goto LAB_000328e4;" (goto "goto") (statement_identifier "LAB_000328e4") (; ";")) (labeled_statement "LAB_00032918:\n  param_1 = ppcVar27;" (statement_identifier "LAB_00032918") (: ":") (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" (identifier "param_1") (= "=") (identifier "ppcVar27")) (; ";"))) (if_statement "if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }" (if "if") (parenthesized_expression "(((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c)" (( "(") (binary_expression "((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c" (parenthesized_expression "((int)*(char *)ppcVar25 & 0xfffffffdU)" (( "(") (binary_expression "(int)*(char *)ppcVar25 & 0xfffffffdU" (cast_expression "(int)*(char *)ppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)ppcVar25" (* "*") (cast_expression "(char *)ppcVar25" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar25")))) (& "&") (number_literal "0xfffffffdU")) () ")")) (== "==") (number_literal "0x3c")) () ")")) (compound_statement "{\nLAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);\n    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }\n    if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }\n    param_1 = ppcVar27;\n    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;\n  }" ({ "{") (labeled_statement "LAB_0003292c:\n    ppcVar27 = (code **)((int)ppcVar25 + 1);" (statement_identifier "LAB_0003292c") (: ":") (expression_statement "ppcVar27 = (code **)((int)ppcVar25 + 1);" (assignment_expression "ppcVar27 = (code **)((int)ppcVar25 + 1)" (identifier "ppcVar27") (= "=") (cast_expression "(code **)((int)ppcVar25 + 1)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar25 + 1)" (( "(") (binary_expression "(int)ppcVar25 + 1" (cast_expression "(int)ppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar25")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (if_statement "if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }" (if "if") (parenthesized_expression "(((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23))" (( "(") (binary_expression "((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)" (parenthesized_expression "((local_290 == 0) && (local_228 != (code *)0x0))" (( "(") (binary_expression "(local_290 == 0) && (local_228 != (code *)0x0)" (parenthesized_expression "(local_290 == 0)" (( "(") (binary_expression "local_290 == 0" (identifier "local_290") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_228 != (code *)0x0)" (( "(") (binary_expression "local_228 != (code *)0x0" (identifier "local_228") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(code ***)local_228 == ppcVar23)" (( "(") (binary_expression "*(code ***)local_228 == ppcVar23" (pointer_expression "*(code ***)local_228" (* "*") (cast_expression "(code ***)local_228" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "local_228"))) (== "==") (identifier "ppcVar23")) () ")"))) () ")")) (compound_statement "{\n      *(code ***)(local_228 + 8) = ppcVar27;\n    }" ({ "{") (expression_statement "*(code ***)(local_228 + 8) = ppcVar27;" (assignment_expression "*(code ***)(local_228 + 8) = ppcVar27" (pointer_expression "*(code ***)(local_228 + 8)" (* "*") (cast_expression "(code ***)(local_228 + 8)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(local_228 + 8)" (( "(") (binary_expression "local_228 + 8" (identifier "local_228") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "ppcVar27")) (; ";")) (} "}"))) (if_statement "if (bVar1) {\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n      local_20c = local_224;\n      local_208 = local_290;\n      if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }\n      local_200 = local_280;\n      local_1f4 = 0;\n      local_1f0 = 0;\n      local_204 = iVar9;\n      local_1fc = iVar8;\n      local_1f8 = ppcVar27;\n      if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }\n      (*param_3)(&local_20c,param_4);\n      param_1 = ppcVar25;\n      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;\n    }" ({ "{") (expression_statement "local_20c = local_224;" (assignment_expression "local_20c = local_224" (identifier "local_20c") (= "=") (identifier "local_224")) (; ";")) (expression_statement "local_208 = local_290;" (assignment_expression "local_208 = local_290" (identifier "local_208") (= "=") (identifier "local_290")) (; ";")) (if_statement "if (iVar9 != 0) {\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar16 = local_280 + iVar9 * 6;\n        piVar11 = local_280;\n        do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);\n      }" ({ "{") (expression_statement "piVar16 = local_280 + iVar9 * 6;" (assignment_expression "piVar16 = local_280 + iVar9 * 6" (identifier "piVar16") (= "=") (binary_expression "local_280 + iVar9 * 6" (identifier "local_280") (+ "+") (binary_expression "iVar9 * 6" (identifier "iVar9") (* "*") (number_literal "6")))) (; ";")) (expression_statement "piVar11 = local_280;" (assignment_expression "piVar11 = local_280" (identifier "piVar11") (= "=") (identifier "local_280")) (; ";")) (do_statement "do {\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        } while (piVar12 != piVar16);" (do "do") (compound_statement "{\n          piVar12 = piVar11 + 6;\n          *piVar11 = (int)(local_224 + piVar11[4]);\n          piVar11[1] = (int)(local_224 + piVar11[5]);\n          piVar11 = piVar12;\n        }" ({ "{") (expression_statement "piVar12 = piVar11 + 6;" (assignment_expression "piVar12 = piVar11 + 6" (identifier "piVar12") (= "=") (binary_expression "piVar11 + 6" (identifier "piVar11") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "*piVar11 = (int)(local_224 + piVar11[4]);" (assignment_expression "*piVar11 = (int)(local_224 + piVar11[4])" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (cast_expression "(int)(local_224 + piVar11[4])" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_224 + piVar11[4])" (( "(") (binary_expression "local_224 + piVar11[4]" (identifier "local_224") (+ "+") (subscript_expression "piVar11[4]" (identifier "piVar11") ([ "[") (number_literal "4") (] "]"))) () ")")))) (; ";")) (expression_statement "piVar11[1] = (int)(local_224 + piVar11[5]);" (assignment_expression "piVar11[1] = (int)(local_224 + piVar11[5])" (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)(local_224 + piVar11[5])" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_224 + piVar11[5])" (( "(") (binary_expression "local_224 + piVar11[5]" (identifier "local_224") (+ "+") (subscript_expression "piVar11[5]" (identifier "piVar11") ([ "[") (number_literal "5") (] "]"))) () ")")))) (; ";")) (expression_statement "piVar11 = piVar12;" (assignment_expression "piVar11 = piVar12" (identifier "piVar11") (= "=") (identifier "piVar12")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar12 != piVar16)" (( "(") (binary_expression "piVar12 != piVar16" (identifier "piVar12") (!= "!=") (identifier "piVar16")) () ")")) (; ";")) (} "}"))) (expression_statement "local_200 = local_280;" (assignment_expression "local_200 = local_280" (identifier "local_200") (= "=") (identifier "local_280")) (; ";")) (expression_statement "local_1f4 = 0;" (assignment_expression "local_1f4 = 0" (identifier "local_1f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1f0 = 0;" (assignment_expression "local_1f0 = 0" (identifier "local_1f0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_204 = iVar9;" (assignment_expression "local_204 = iVar9" (identifier "local_204") (= "=") (identifier "iVar9")) (; ";")) (expression_statement "local_1fc = iVar8;" (assignment_expression "local_1fc = iVar8" (identifier "local_1fc") (= "=") (identifier "iVar8")) (; ";")) (expression_statement "local_1f8 = ppcVar27;" (assignment_expression "local_1f8 = ppcVar27" (identifier "local_1f8") (= "=") (identifier "ppcVar27")) (; ";")) (if_statement "if (local_290 != 0) {\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(local_290 != 0)" (( "(") (binary_expression "local_290 != 0" (identifier "local_290") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }\n      }" ({ "{") (for_statement "for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }" (for "for") (( "(") (assignment_expression "pcVar28 = local_228" (identifier "pcVar28") (= "=") (identifier "local_228")) (; ";") (binary_expression "pcVar28 != (code *)0x0" (identifier "pcVar28") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "pcVar28 = *(code **)(pcVar28 + 0xc)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcVar28 + 0xc)" (* "*") (cast_expression "(code **)(pcVar28 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0xc)" (( "(") (binary_expression "pcVar28 + 0xc" (identifier "pcVar28") (+ "+") (number_literal "0xc")) () ")"))))) () ")") (compound_statement "{\n          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }\n        }" ({ "{") (if_statement "if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )) {\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }" (if "if") (parenthesized_expression "(((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             ))" (( "(") (binary_expression "((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&\n             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )" (parenthesized_expression "((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28)" (( "(") (binary_expression "(int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28" (binary_expression "(int)ppcVar20 - (int)ppcVar23" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (- "-") (cast_expression "(int)ppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar23"))) (== "==") (binary_expression "*(int *)(pcVar28 + 4) - *(int *)pcVar28" (pointer_expression "*(int *)(pcVar28 + 4)" (* "*") (cast_expression "(int *)(pcVar28 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 4)" (( "(") (binary_expression "pcVar28 + 4" (identifier "pcVar28") (+ "+") (number_literal "4")) () ")")))) (- "-") (pointer_expression "*(int *)pcVar28" (* "*") (cast_expression "(int *)pcVar28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar28"))))) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0\n             )" (( "(") (comma_expression "iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0" (assignment_expression "iVar9 = (*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR_strncasecmp_000afb8c)\n                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23)" (parenthesized_expression "(*(code *)PTR_strncasecmp_000afb8c)" (( "(") (pointer_expression "*(code *)PTR_strncasecmp_000afb8c" (* "*") (cast_expression "(code *)PTR_strncasecmp_000afb8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncasecmp_000afb8c"))) () ")")) (argument_list "(*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23)" (( "(") (pointer_expression "*(int *)pcVar28" (* "*") (cast_expression "(int *)pcVar28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar28"))) (, ",") (identifier "ppcVar23") (, ",") (binary_expression "(int)ppcVar20 - (int)ppcVar23" (cast_expression "(int)ppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar20")) (- "-") (cast_expression "(int)ppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar23"))) () ")")))) (, ",") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }\n            (*pcVar7)(ppcVar14,param_2,pcVar28);\n            break;\n          }" ({ "{") (if_statement "if (*(int *)(pcVar28 + 8) != 0) {\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }" (if "if") (parenthesized_expression "(*(int *)(pcVar28 + 8) != 0)" (( "(") (binary_expression "*(int *)(pcVar28 + 8) != 0" (pointer_expression "*(int *)(pcVar28 + 8)" (* "*") (cast_expression "(int *)(pcVar28 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 8)" (( "(") (binary_expression "pcVar28 + 8" (identifier "pcVar28") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_1f4 = *(int *)(pcVar28 + 8);\n              local_1f0 = iVar8;\n            }" ({ "{") (expression_statement "local_1f4 = *(int *)(pcVar28 + 8);" (assignment_expression "local_1f4 = *(int *)(pcVar28 + 8)" (identifier "local_1f4") (= "=") (pointer_expression "*(int *)(pcVar28 + 8)" (* "*") (cast_expression "(int *)(pcVar28 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 8)" (( "(") (binary_expression "pcVar28 + 8" (identifier "pcVar28") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_1f0 = iVar8;" (assignment_expression "local_1f0 = iVar8" (identifier "local_1f0") (= "=") (identifier "iVar8")) (; ";")) (} "}"))) (expression_statement "(*pcVar7)(ppcVar14,param_2,pcVar28);" (call_expression "(*pcVar7)(ppcVar14,param_2,pcVar28)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(ppcVar14,param_2,pcVar28)" (( "(") (identifier "ppcVar14") (, ",") (identifier "param_2") (, ",") (identifier "pcVar28") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "(*param_3)(&local_20c,param_4);" (call_expression "(*param_3)(&local_20c,param_4)" (parenthesized_expression "(*param_3)" (( "(") (pointer_expression "*param_3" (* "*") (identifier "param_3")) () ")")) (argument_list "(&local_20c,param_4)" (( "(") (pointer_expression "&local_20c" (& "&") (identifier "local_20c")) (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "param_1 = ppcVar25;" (assignment_expression "param_1 = ppcVar25" (identifier "param_1") (= "=") (identifier "ppcVar25")) (; ";")) (if_statement "if (*(char *)ppcVar25 == '<') goto LAB_0003228c;" (if "if") (parenthesized_expression "(*(char *)ppcVar25 == '<')" (( "(") (binary_expression "*(char *)ppcVar25 == '<'" (pointer_expression "*(char *)ppcVar25" (* "*") (cast_expression "(char *)ppcVar25" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar25"))) (== "==") (char_literal "'<'" (' "'") (character "<") (' "'"))) () ")")) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";"))) (} "}"))) (expression_statement "param_1 = ppcVar27;" (assignment_expression "param_1 = ppcVar27" (identifier "param_1") (= "=") (identifier "ppcVar27")) (; ";")) (if_statement "if (ppcVar26 <= ppcVar27) goto LAB_0003242c;" (if "if") (parenthesized_expression "(ppcVar26 <= ppcVar27)" (( "(") (binary_expression "ppcVar26 <= ppcVar27" (identifier "ppcVar26") (<= "<=") (identifier "ppcVar27")) () ")")) (goto_statement "goto LAB_0003242c;" (goto "goto") (statement_identifier "LAB_0003242c") (; ";"))) (} "}"))) (goto_statement "goto LAB_0003228c;" (goto "goto") (statement_identifier "LAB_0003228c") (; ";")) (labeled_statement "LAB_0003242c:\n  param_4 = piVar16;" (statement_identifier "LAB_0003242c") (: ":") (expression_statement "param_4 = piVar16;" (assignment_expression "param_4 = piVar16" (identifier "param_4") (= "=") (identifier "piVar16")) (; ";"))) (expression_statement "param_3 = local_22c;" (assignment_expression "param_3 = local_22c" (identifier "param_3") (= "=") (identifier "local_22c")) (; ";")) (expression_statement "puVar5 = local_214;" (assignment_expression "puVar5 = local_214" (identifier "puVar5") (= "=") (identifier "local_214")) (; ";")) (expression_statement "uVar10 = local_210;" (assignment_expression "uVar10 = local_210" (identifier "uVar10") (= "=") (identifier "local_210")) (; ";")) (if_statement "if (local_218 != '\0') {\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }" (if "if") (parenthesized_expression "(local_218 != '\0')" (( "(") (binary_expression "local_218 != '\0'" (identifier "local_218") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    (*(code *)PTR_free_000afd08)(local_224);\n    param_4 = piVar16;\n    param_3 = local_22c;\n    puVar5 = local_214;\n    uVar10 = local_210;\n  }" ({ "{") (expression_statement "(*(code *)PTR_free_000afd08)(local_224);" (call_expression "(*(code *)PTR_free_000afd08)(local_224)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" (( "(") (pointer_expression "*(code *)PTR_free_000afd08" (* "*") (cast_expression "(code *)PTR_free_000afd08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_000afd08"))) () ")")) (argument_list "(local_224)" (( "(") (identifier "local_224") () ")"))) (; ";")) (expression_statement "param_4 = piVar16;" (assignment_expression "param_4 = piVar16" (identifier "param_4") (= "=") (identifier "piVar16")) (; ";")) (expression_statement "param_3 = local_22c;" (assignment_expression "param_3 = local_22c" (identifier "param_3") (= "=") (identifier "local_22c")) (; ";")) (expression_statement "puVar5 = local_214;" (assignment_expression "puVar5 = local_214" (identifier "puVar5") (= "=") (identifier "local_214")) (; ";")) (expression_statement "uVar10 = local_210;" (assignment_expression "uVar10 = local_210" (identifier "uVar10") (= "=") (identifier "local_210")) (; ";")) (} "}"))) (expression_statement "local_220 = uVar10;" (assignment_expression "local_220 = uVar10" (identifier "local_220") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "local_224 = puVar5;" (assignment_expression "local_224 = puVar5" (identifier "local_224") (= "=") (identifier "puVar5")) (; ";")) (expression_statement "local_22c = param_3;" (assignment_expression "local_22c = param_3" (identifier "local_22c") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_214 = local_224;" (assignment_expression "local_214 = local_224" (identifier "local_214") (= "=") (identifier "local_224")) (; ";")) (expression_statement "local_210 = local_220;" (assignment_expression "local_210 = local_220" (identifier "local_210") (= "=") (identifier "local_220")) (; ";")) (if_statement "if (local_28c == (int *)0x0) {\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }\n  else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }" (if "if") (parenthesized_expression "(local_28c == (int *)0x0)" (( "(") (binary_expression "local_28c == (int *)0x0" (identifier "local_28c") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_218 = 0;\n    local_21c = 0;\n    (*pcVar7)(ppcVar14,param_2,param_3);\n  }" ({ "{") (expression_statement "local_218 = 0;" (assignment_expression "local_218 = 0" (identifier "local_218") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_21c = 0;" (assignment_expression "local_21c = 0" (identifier "local_21c") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*pcVar7)(ppcVar14,param_2,param_3);" (call_expression "(*pcVar7)(ppcVar14,param_2,param_3)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(ppcVar14,param_2,param_3)" (( "(") (identifier "ppcVar14") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }" (else "else") (compound_statement "{\n    local_218 = 0;\n    local_21c = 0;\n    (*(code *)PTR_free_000afd08)(local_280);\n    param_3 = local_22c;\n    (*pcVar7)(ppcVar14,param_2,local_22c);\n  }" ({ "{") (expression_statement "local_218 = 0;" (assignment_expression "local_218 = 0" (identifier "local_218") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_21c = 0;" (assignment_expression "local_21c = 0" (identifier "local_21c") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)PTR_free_000afd08)(local_280);" (call_expression "(*(code *)PTR_free_000afd08)(local_280)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" (( "(") (pointer_expression "*(code *)PTR_free_000afd08" (* "*") (cast_expression "(code *)PTR_free_000afd08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_000afd08"))) () ")")) (argument_list "(local_280)" (( "(") (identifier "local_280") () ")"))) (; ";")) (expression_statement "param_3 = local_22c;" (assignment_expression "param_3 = local_22c" (identifier "param_3") (= "=") (identifier "local_22c")) (; ";")) (expression_statement "(*pcVar7)(ppcVar14,param_2,local_22c);" (call_expression "(*pcVar7)(ppcVar14,param_2,local_22c)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(ppcVar14,param_2,local_22c)" (( "(") (identifier "ppcVar14") (, ",") (identifier "param_2") (, ",") (identifier "local_22c") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0003246c;" (goto "goto") (statement_identifier "LAB_0003246c") (; ";")) (} "}")))

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

{
  bool bVar1;
  char var_11;
  bool bVar3;
  type_3 *puVar4;
  type_4 extraout_var;
  int var_32;
  type_5 *paVar6;
  type_6 *pcVar7;
  char *var_5;
  type_7 _Var14;
  type_8 *var_9;
  type_9 uVar10;
  type_5 *var_37;
  type_5 *var_38;
  int var_26;
  type_10 var_8;
  type_11 **var_34;
  type_10 var_23;
  type_5 *var_25;
  int var_30;
  int var_28;
  char *var_12;
  char *var_22;
  type_11 *var_39;
  char *var_21;
  type_11 **var_33;
  char *var_13;
  char *var_14;
  char *var_20;
  char *var_6;
  char *var_7;
  type_6 *pcVar29;
  type_3 *var_10;
  int var_15;
  type_5 *var_31;
  type_5 *var_36;
  int var_27;
  char *var_24;
  char *pcStack_254;
  type_5 *paStack_250;
  type_11 *var_16;
  type_11 *var_35;
  type_12 type_12;
  type_13 type_13;
  type_5 attr_pair_initial_storage [8];
  char pool_initial_storage [256];
  int var_29;
  
  puVar4 = PTR___stack_chk_guard_000afc3c;
  var_10 = PTR_s_hallenge__000af46c;
  var_16 = (type_11 *)0x0;
  var_35 = (type_11 *)0x0;
  var_32 = *(int *)PTR___stack_chk_guard_000afc3c;
  var_34 = (type_11 **)var_2;
  if (var_1 != 0) {
    type_12.resized = false;
    var_36 = attr_pair_initial_storage;
    type_12.var_1 = 0x100;
    type_12.orig_size = 0x100;
    paVar6 = (type_5 *)0x6;
    var_6 = var_2 + var_1;
    var_31 = (type_5 *)0x0;
    if ((var_3 & 2U) == 0) {
      paVar6 = (type_5 *)0x2;
    }
    var_27 = 8;
    var_1 = (int)&var_35;
    var_34 = &var_16;
    pcVar7 = (type_6 *)(var_4 + 0x20c4);
    var_25 = (type_5 *)maparg;
    type_12.contents = pool_initial_storage;
    type_12.orig_contents = pool_initial_storage;
LAB_0003228c:
    do {
      type_12.var_35 = 0;
      var_5 = (char *)(*(type_6 *)PTR_rpl_memchr_000af694)(var_2,0x3c,(int)var_6 - (int)var_2);
      if ((var_5 == (char *)0x0) || (var_7 = var_5 + 1, var_6 <= var_7)) goto LAB_0003242c;
      var_8 = (type_10)var_5[1];
      var_2 = var_7;
      if (var_8 == 0x21) {
        if (((((var_3 & 1U) == 0) && (var_5 + 4 < var_6)) && (var_5[2] == '-')) &&
           (var_5[3] == '-')) {
          var_7 = var_5 + 3;
LAB_0003267c:
          while (var_5 = var_7, var_7 = var_5 + 3, var_7 < var_6) {
            if (var_5[3] == '-') {
              do {
                var_5 = var_7;
                if (var_5[-1] == '-') goto LAB_00032dcc;
                var_7 = var_5 + 2;
                if (var_6 <= var_7) goto LAB_0003228c;
              } while (*var_7 == '-');
              if ((*var_7 == '>') && (var_5[1] == '-')) {
                var_5 = var_5 + 3;
                goto LAB_00032d0c;
              }
            }
            else if (((var_5[3] == '>') && (var_5[2] == '-')) && (var_5[1] == '-')) {
              var_5 = var_5 + 4;
              goto LAB_00032d0c;
            }
          }
          goto LAB_0003228c;
        }
        var_25 = (type_5 *)0x2;
        var_11 = '!';
        var_5 = var_5 + 2;
        for (var_7 = var_5; var_6 != var_7; var_7 = var_7 + 1) {
          var_9 = (type_8 *)((int)&var_25[-1].value_pool_index + 1);
          if (var_9 < (type_8 *)0xa) {
                    /* WARNING: Could not emulate address calculation at 0x0003250c */
                    /* WARNING: Treating indirect jump as call */
            (*(type_6 *)(&_gp + *(int *)(var_10 + (int)var_9 * 4 + -0x954)))();
            return;
          }
          if (var_11 != '!') break;
          var_11 = *var_7;
          var_25 = (type_5 *)0x3;
        }
        goto joined_r0x00032628;
      }
      if (var_8 == 0x2f) {
        var_12 = var_5 + 2;
        if (var_6 <= var_12) goto LAB_0003242c;
        var_8 = (type_10)var_5[2];
        var_15 = 1;
        var_13 = var_12;
      }
      else {
        var_15 = 0;
        var_12 = var_7;
        var_13 = var_7;
      }
      while (var_2 = var_13, var_14 = var_12, (var_8 & 0xff) - 0x21 < 0x5e) {
        if (((var_8 & 0xff) - 0x3c < 3) || (var_8 == 0x2f)) {
          if (var_13 != var_12) goto LAB_00032384;
          goto LAB_0003228c;
        }
        var_12 = var_12 + 1;
        if (var_6 <= var_12) goto LAB_0003242c;
        var_8 = (type_10)*var_12;
      }
    } while (var_13 == var_12);
    var_25 = (type_5 *)0x1;
    while ((var_8 - 9 < 0x18 && ((1 << (var_8 - 9 & 0x1f) & 0x80001fU) != 0))) {
      var_14 = var_14 + 1;
      if (var_6 <= var_14) goto LAB_0003242c;
      var_8 = (type_10)*var_14;
    }
LAB_00032384:
    if (var_15 == 0) {
      var_39 = (type_11 *)(*(type_6 *)PTR_xmalloc_000af5c4)(0x14);
      if (var_16 == (type_11 *)0x0) {
        var_39->next = (type_11 *)0x0;
        var_39->prev = (type_11 *)0x0;
        var_16 = var_39;
      }
      else {
        var_35->next = var_39;
        var_39->prev = var_35;
        var_39->next = (type_11 *)0x0;
      }
      var_39->tagname_begin = var_13;
      var_39->tagname_end = var_12;
      var_39->contents_begin = (char *)0x0;
      var_35 = var_39;
    }
    else {
      var_2 = var_7;
      if ((var_8 & 0xfffffffd) != 0x3c) goto LAB_0003228c;
    }
    pcVar29 = (type_6 *)(var_4 + 0x1ff8);
    _Var14 = var_17(allowed_tags,var_13,var_12);
    bVar1 = var_18(extraout_var,_Var14) != 0;
    if (bVar1) {
      var_25 = (type_5 *)0x1;
      var_19(&type_12,var_13,var_12,1);
    }
    var_26 = 0;
LAB_000323f8:
    while( true ) {
      var_20 = var_14;
      var_8 = (type_10)*var_20;
      if ((0x17 < var_8 - 9) || ((1 << (var_8 - 9 & 0x1f) & 0x80001fU) == 0)) break;
      var_14 = var_20 + 1;
      if (var_6 <= var_20 + 1) goto LAB_0003242c;
    }
    if (var_8 == 0x2f) {
      var_20 = var_20 + 1;
      if (var_6 <= var_20) goto LAB_0003242c;
      var_25 = (type_5 *)0x1;
      goto LAB_000328e4;
    }
    var_21 = var_20;
    if ((var_8 & 0xfffffffd) == 0x3c) goto LAB_0003292c;
    while (var_22 = var_20, var_14 = var_21, var_24 = var_20, pcStack_254 = var_21,
          (var_8 & 0xff) - 0x21 < 0x5e) {
      if ((var_8 & 0xff) - 0x3c < 3) {
        var_2 = var_7;
        if (var_20 != var_21) goto LAB_00032818;
        goto LAB_0003228c;
      }
      if (var_8 == 0x2f) {
        var_2 = var_7;
        if (var_20 == var_21) goto LAB_0003228c;
        paStack_250 = (type_5 *)0x1;
        var_2 = var_21;
        goto LAB_00032994;
      }
      var_21 = var_21 + 1;
      if (var_6 <= var_21) goto LAB_0003242c;
      var_8 = (type_10)*var_21;
    }
    var_2 = var_7;
    if (var_20 == var_21) goto LAB_0003228c;
    var_25 = (type_5 *)0x1;
    while ((var_8 - 9 < 0x18 && ((1 << (var_8 - 9 & 0x1f) & 0x80001fU) != 0))) {
      var_14 = var_14 + 1;
      if (var_6 <= var_14) goto LAB_0003242c;
      var_8 = (type_10)*var_14;
    }
    if ((var_8 - 0x21 & 0xff) < 0x5e) {
LAB_00032818:
      if (var_8 == 0x3d) goto LAB_00032828;
      paStack_250 = (type_5 *)0x1;
      var_2 = var_21;
    }
    else if ((var_8 & 0xfffffffd) == 0x3c) {
      paStack_250 = (type_5 *)0x1;
      var_2 = var_21;
    }
    else {
      if (var_8 != 0x3d) goto LAB_0003228c;
LAB_00032828:
      var_22 = var_14 + 1;
      if (var_6 <= var_22) goto LAB_0003242c;
      var_25 = (type_5 *)0x1;
      while( true ) {
        var_23 = (type_10)*var_22;
        var_8 = var_23 - 9;
        if ((0x17 < var_8) || ((1 << (var_8 & 0x1f) & 0x80001fU) == 0)) break;
        var_22 = var_22 + 1;
        if (var_6 == var_22) goto LAB_0003242c;
      }
      if ((var_23 == 0x22) || (var_23 == 0x27)) {
        var_24 = var_22 + 1;
        if (var_6 <= var_24) goto LAB_0003242c;
        bVar3 = false;
        var_25 = (type_5 *)0x3c;
        var_2 = var_24;
        while (var_8 = (type_10)*var_2, var_23 != var_8) {
          if (bVar3) {
LAB_00032c8c:
            if ((var_8 == 0x3c) || (var_8 == 0x3e)) {
              if (var_23 != var_8) goto LAB_0003228c;
              break;
            }
            bVar3 = true;
          }
          else if (var_8 == 10) {
            var_8 = (type_10)var_22[1];
            var_2 = var_24;
            if (var_8 != var_23) goto LAB_00032c8c;
            break;
          }
          var_2 = var_2 + 1;
          if (var_6 <= var_2) goto LAB_0003242c;
        }
        var_14 = var_2 + 1;
        pcStack_254 = var_14;
        paStack_250 = paVar6;
        if (var_6 <= var_14) goto LAB_0003242c;
      }
      else {
        var_25 = (type_5 *)0x3c;
        var_14 = var_22;
        while (((0x17 < var_8 || ((1 << (var_8 & 0x1f) & 0x80001fU) == 0)) &&
               ((var_23 & 0xfffffffd) != 0x3c))) {
          var_14 = var_14 + 1;
          if (var_6 <= var_14) goto LAB_0003242c;
          var_23 = (type_10)*var_14;
          var_8 = var_23 - 9;
        }
        var_2 = var_7;
        if (var_22 == var_14) goto LAB_0003228c;
        paStack_250 = (type_5 *)0x2;
        var_2 = var_14;
        var_24 = var_22;
        pcStack_254 = var_14;
      }
    }
LAB_00032994:
    if ((bVar1) &&
       (var_25 = (type_5 *)(*pcVar29)(allowed_attributes,var_20,var_21), var_25 != (type_5 *)0x0))
    {
      var_28 = var_26 + 1;
      var_30 = var_27;
      if (var_27 < var_28) {
        do {
          var_29 = var_30;
          var_30 = var_29 * 2;
        } while (var_30 < var_28);
        if (var_27 != var_30) {
          if (var_31 == (type_5 *)0x0) {
            uVar10 = (*(type_6 *)PTR_xmalloc_000af5c4)(var_29 * 0x30);
            var_36 = (type_5 *)
                          (*(type_6 *)PTR_memcpy_000afc70)(uVar10,var_36,var_27 * 0x18);
            var_31 = var_25;
          }
          else {
            var_36 = (type_5 *)(*(type_6 *)PTR_xrealloc_000af818)(var_36);
          }
        }
      }
      var_36[var_26].name_pool_index = type_12.var_35;
      var_19(&type_12,var_20,var_21,1);
      var_36[var_26].value_pool_index = type_12.var_35;
      var_19(&type_12,var_24,var_2,(int)paStack_250);
      var_36[var_26].value_raw_beginning = var_22;
      var_36[var_26].value_raw_size = (int)pcStack_254 - (int)var_22;
      var_27 = var_30;
      var_26 = var_28;
      var_25 = paStack_250;
    }
    goto LAB_000323f8;
  }
LAB_0003246c:
  if (var_32 == *(int *)puVar4) {
    return;
  }
  var_10 = PTR___stack_chk_fail_000afbd4;
  (*(type_6 *)PTR___stack_chk_fail_000afbd4)();
  if (0 < (int)var_34) {
    var_33 = (type_11 **)0x0;
    var_39 = *(type_11 **)var_1;
    do {
      var_32 = (**(type_6 **)(var_10 + 0x7c6f4))(var_39->tagname_begin,mapfun);
      if (var_32 == 0) {
        if ((type_5 *)maparg != (type_5 *)0x0) {
          ((type_5 *)maparg)->name = (char *)var_33;
        }
        return;
      }
      var_33 = (type_11 **)((int)var_33 + 1);
      var_39 = (type_11 *)&var_39[1].tagname_end;
    } while (var_33 != var_34);
    return;
  }
  return;
  while (*var_5 == '-') {
LAB_00032dcc:
    var_12 = var_5;
    var_5 = var_12 + 1;
    if (var_6 == var_5) goto LAB_0003228c;
  }
  var_7 = var_5;
  if (*var_5 == '>') goto code_r0x00032dec;
  goto LAB_0003267c;
code_r0x00032dec:
  var_5 = var_12 + 2;
LAB_00032d0c:
  if (var_5 == (char *)0x0) goto LAB_0003228c;
joined_r0x00032628:
  var_2 = var_5;
  if (var_5 == var_6) goto LAB_0003242c;
  goto LAB_0003228c;
LAB_000328e4:
  var_8 = (int)*var_20 - 9;
  if ((0x17 < var_8) || ((1 << (var_8 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;
  var_20 = var_20 + 1;
  if (var_6 == var_20) goto LAB_0003242c;
  goto LAB_000328e4;
LAB_00032918:
  var_2 = var_7;
  if (((int)*var_20 & 0xfffffffdU) == 0x3c) {
LAB_0003292c:
    var_7 = var_20 + 1;
    if (((var_15 == 0) && (var_35 != (type_11 *)0x0)) && (var_35->tagname_begin == var_13)) {
      var_35->contents_begin = var_7;
    }
    if (bVar1) {
      type_13.name = type_12.contents;
      type_13.end_tag_p = var_15;
      if (var_26 != 0) {
        var_25 = var_36 + var_26;
        var_37 = var_36;
        do {
          var_38 = var_37 + 1;
          var_37->name = type_12.contents + var_37->name_pool_index;
          var_37->value = type_12.contents + var_37->value_pool_index;
          var_37 = var_38;
        } while (var_38 != var_25);
      }
      type_13.attrs = var_36;
      type_13.contents_begin = (char *)0x0;
      type_13.contents_end = (char *)0x0;
      type_13.nattrs = var_26;
      type_13.start_position = var_5;
      type_13.end_position = var_7;
      if (var_15 != 0) {
        for (var_39 = var_35; var_39 != (type_11 *)0x0; var_39 = var_39->prev) {
          if (((int)var_12 - (int)var_13 == (int)var_39->tagname_end - (int)var_39->tagname_begin) &&
             (var_26 = (*(type_6 *)PTR_strncasecmp_000afb8c)
                                 (var_39->tagname_begin,var_13,(int)var_12 - (int)var_13), var_26 == 0)) {
            if (var_39->contents_begin != (char *)0x0) {
              type_13.contents_begin = var_39->contents_begin;
              type_13.contents_end = var_5;
            }
            (*pcVar7)(var_34,var_1,var_39);
            break;
          }
        }
      }
      (*mapfun)(&type_13,maparg);
      var_2 = var_20;
      if (*var_20 == '<') goto LAB_0003228c;
    }
    var_2 = var_7;
    if (var_6 <= var_7) goto LAB_0003242c;
  }
  goto LAB_0003228c;
LAB_0003242c:
  maparg = var_25;
  mapfun = (type_1 *)var_16;
  var_6 = type_12.orig_contents;
  var_26 = type_12.orig_size;
  if (type_12.resized != false) {
    (*(type_6 *)PTR_free_000afd08)(type_12.contents);
    maparg = var_25;
    mapfun = (type_1 *)var_16;
    var_6 = type_12.orig_contents;
    var_26 = type_12.orig_size;
  }
  type_12.var_1 = var_26;
  type_12.contents = var_6;
  var_16 = (type_11 *)mapfun;
  type_12.orig_contents = type_12.contents;
  type_12.orig_size = type_12.var_1;
  if (var_31 == (type_5 *)0x0) {
    type_12.resized = false;
    type_12.var_35 = 0;
    (*pcVar7)(var_34,var_1,mapfun);
  }
  else {
    type_12.resized = false;
    type_12.var_35 = 0;
    (*(type_6 *)PTR_free_000afd08)(var_36);
    mapfun = (type_1 *)var_16;
    (*pcVar7)(var_34,var_1,var_16);
  }
  goto LAB_0003246c;
}


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

int MASKED(code **param_1,code **param_2,code *param_3,int *param_4,uint param_5,
                 undefined4 param_6,undefined4 param_7)

{
  bool bVar1;
  char cVar2;
  bool bVar3;
  undefined *puVar4;
  undefined1 *puVar5;
  int *piVar6;
  code *pcVar7;
  int iVar8;
  int iVar9;
  undefined4 uVar10;
  int *piVar11;
  int *piVar12;
  uint uVar13;
  code **ppcVar14;
  uint uVar15;
  int *piVar16;
  int iVar17;
  int iVar19;
  code **ppcVar20;
  code **ppcVar21;
  code **ppcVar22;
  code **ppcVar23;
  code **ppcVar24;
  code **ppcVar25;
  code **ppcVar26;
  code **ppcVar27;
  code *pcVar28;
  undefined *puVar29;
  int local_290;
  int *local_28c;
  int *local_280;
  int local_27c;
  code **local_25c;
  code **local_254;
  int *local_250;
  code *local_22c;
  code *local_228;
  undefined1 *local_224;
  undefined4 local_220;
  int local_21c;
  char local_218;
  undefined1 *local_214;
  undefined4 local_210;
  undefined1 *local_20c;
  int local_208;
  int local_204;
  int *local_200;
  int local_1fc;
  code **local_1f8;
  int local_1f4;
  int local_1f0;
  int local_1ec [48];
  undefined1 auStack_12c [256];
  int local_2c;
  int iVar18;
  
  puVar4 = PTR___stack_chk_guard_000afc3c;
  puVar29 = PTR_s_hallenge__000af46c;
  local_22c = (code *)0x0;
  local_228 = (code *)0x0;
  local_2c = *(int *)PTR___stack_chk_guard_000afc3c;
  ppcVar14 = param_1;
  if (param_2 != (code **)0x0) {
    local_218 = '\0';
    local_280 = local_1ec;
    local_220 = 0x100;
    local_210 = 0x100;
    piVar6 = (int *)0x6;
    ppcVar26 = (code **)((int)param_1 + (int)param_2);
    local_28c = (int *)0x0;
    if ((param_5 & 2) == 0) {
      piVar6 = (int *)0x2;
    }
    local_27c = 8;
    param_2 = &local_228;
    ppcVar14 = &local_22c;
    pcVar7 = (code *)(PTR_LAB_000af7c0 + 0x20c4);
    piVar16 = param_4;
    local_224 = auStack_12c;
    local_214 = auStack_12c;
LAB_0003228c:
    do {
      local_21c = 0;
      iVar8 = (*(code *)PTR_rpl_memchr_000af694)(param_1,0x3c,(int)ppcVar26 - (int)param_1);
      if ((iVar8 == 0) || (ppcVar27 = (code **)(iVar8 + 1), ppcVar26 <= ppcVar27))
      goto LAB_0003242c;
      uVar13 = (uint)*(char *)(iVar8 + 1);
      param_1 = ppcVar27;
      if (uVar13 == 0x21) {
        if (((((param_5 & 1) == 0) && ((code **)(iVar8 + 4) < ppcVar26)) &&
            (*(char *)(iVar8 + 2) == '-')) && (*(char *)(iVar8 + 3) == '-')) {
          ppcVar27 = (code **)(iVar8 + 3);
LAB_0003267c:
          while (ppcVar20 = ppcVar27, ppcVar27 = (code **)((int)ppcVar20 + 3), ppcVar27 < ppcVar26)
          {
            if (*(char *)((int)ppcVar20 + 3) == '-') {
              do {
                ppcVar20 = ppcVar27;
                if (*(char *)((int)ppcVar20 + -1) == '-') goto LAB_00032dcc;
                ppcVar27 = (code **)((int)ppcVar20 + 2);
                if (ppcVar26 <= ppcVar27) goto LAB_0003228c;
              } while (*(char *)ppcVar27 == '-');
              if ((*(char *)ppcVar27 == '>') && (*(char *)((int)ppcVar20 + 1) == '-')) {
                ppcVar20 = (code **)((int)ppcVar20 + 3);
                goto LAB_00032d0c;
              }
            }
            else if (((*(char *)((int)ppcVar20 + 3) == '>') && (*(char *)((int)ppcVar20 + 2) == '-')
                     ) && (*(char *)((int)ppcVar20 + 1) == '-')) {
              ppcVar20 = ppcVar20 + 1;
              goto LAB_00032d0c;
            }
          }
          goto LAB_0003228c;
        }
        piVar16 = (int *)0x2;
        cVar2 = '!';
        ppcVar20 = (code **)(iVar8 + 2);
        for (ppcVar27 = ppcVar20; ppcVar26 != ppcVar27; ppcVar27 = (code **)((int)ppcVar27 + 1)) {
          if ((undefined1 *)((int)piVar16 + -3) < (undefined1 *)0xa) {
                    /* WARNING: Could not emulate address calculation at 0x0003250c */
                    /* WARNING: Treating indirect jump as call */
            iVar8 = (*(code *)(&_gp_1 + *(int *)(puVar29 + ((int)piVar16 + -3) * 4 + -0x954)))();
            return iVar8;
          }
          if (cVar2 != '!') break;
          cVar2 = *(char *)ppcVar27;
          piVar16 = (int *)0x3;
        }
        goto joined_r0x00032628;
      }
      if (uVar13 == 0x2f) {
        ppcVar20 = (code **)(iVar8 + 2);
        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;
        uVar13 = (uint)*(char *)(iVar8 + 2);
        local_290 = 1;
        ppcVar23 = ppcVar20;
      }
      else {
        local_290 = 0;
        ppcVar20 = ppcVar27;
        ppcVar23 = ppcVar27;
      }
      while (param_1 = ppcVar23, ppcVar24 = ppcVar20, (uVar13 & 0xff) - 0x21 < 0x5e) {
        if (((uVar13 & 0xff) - 0x3c < 3) || (uVar13 == 0x2f)) {
          if (ppcVar23 != ppcVar20) goto LAB_00032384;
          goto LAB_0003228c;
        }
        ppcVar20 = (code **)((int)ppcVar20 + 1);
        if (ppcVar26 <= ppcVar20) goto LAB_0003242c;
        uVar13 = (uint)*(char *)ppcVar20;
      }
    } while (ppcVar23 == ppcVar20);
    piVar16 = (int *)&DAT_00000001;
    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {
      ppcVar24 = (code **)((int)ppcVar24 + 1);
      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;
      uVar13 = (uint)*(char *)ppcVar24;
    }
LAB_00032384:
    if (local_290 == 0) {
      pcVar28 = (code *)(*(code *)PTR_xmalloc_000af5c4)(0x14);
      if (local_22c == (code *)0x0) {
        *(int *)(pcVar28 + 0x10) = 0;
        *(int *)(pcVar28 + 0xc) = 0;
        local_22c = pcVar28;
      }
      else {
        *(code **)(local_228 + 0x10) = pcVar28;
        *(code **)(pcVar28 + 0xc) = local_228;
        *(int *)(pcVar28 + 0x10) = 0;
      }
      *(code ***)pcVar28 = ppcVar23;
      *(code ***)(pcVar28 + 4) = ppcVar20;
      *(int *)(pcVar28 + 8) = 0;
      local_228 = pcVar28;
    }
    else {
      param_1 = ppcVar27;
      if ((uVar13 & 0xfffffffd) != 0x3c) goto LAB_0003228c;
    }
    pcVar28 = (code *)(PTR_LAB_000af7c0 + 0x1ff8);
    iVar9 = FUN_00031ff8(param_6,ppcVar23,ppcVar20);
    bVar1 = iVar9 != 0;
    if (bVar1) {
      piVar16 = (int *)&DAT_00000001;
      FUN_00031590(&local_224,ppcVar23,ppcVar20);
    }
    iVar9 = 0;
LAB_000323f8:
    while( true ) {
      ppcVar25 = ppcVar24;
      uVar13 = (uint)*(char *)ppcVar25;
      if ((0x17 < uVar13 - 9) || ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) == 0)) break;
      ppcVar24 = (code **)((int)ppcVar25 + 1);
      if (ppcVar26 <= (code **)((int)ppcVar25 + 1)) goto LAB_0003242c;
    }
    if (uVar13 == 0x2f) {
      ppcVar25 = (code **)((int)ppcVar25 + 1);
      if (ppcVar26 <= ppcVar25) goto LAB_0003242c;
      piVar16 = (int *)&DAT_00000001;
      goto LAB_000328e4;
    }
    ppcVar22 = ppcVar25;
    if ((uVar13 & 0xfffffffd) == 0x3c) goto LAB_0003292c;
    while (ppcVar21 = ppcVar25, ppcVar24 = ppcVar22, local_25c = ppcVar25, local_254 = ppcVar22,
          (uVar13 & 0xff) - 0x21 < 0x5e) {
      if ((uVar13 & 0xff) - 0x3c < 3) {
        param_1 = ppcVar27;
        if (ppcVar25 != ppcVar22) goto LAB_00032818;
        goto LAB_0003228c;
      }
      if (uVar13 == 0x2f) {
        param_1 = ppcVar27;
        if (ppcVar25 == ppcVar22) goto LAB_0003228c;
        local_250 = (int *)&DAT_00000001;
        param_1 = ppcVar22;
        goto LAB_00032994;
      }
      ppcVar22 = (code **)((int)ppcVar22 + 1);
      if (ppcVar26 <= ppcVar22) goto LAB_0003242c;
      uVar13 = (uint)*(char *)ppcVar22;
    }
    param_1 = ppcVar27;
    if (ppcVar25 == ppcVar22) goto LAB_0003228c;
    piVar16 = (int *)&DAT_00000001;
    while ((uVar13 - 9 < 0x18 && ((1 << (uVar13 - 9 & 0x1f) & 0x80001fU) != 0))) {
      ppcVar24 = (code **)((int)ppcVar24 + 1);
      if (ppcVar26 <= ppcVar24) goto LAB_0003242c;
      uVar13 = (uint)*(char *)ppcVar24;
    }
    if ((uVar13 - 0x21 & 0xff) < 0x5e) {
LAB_00032818:
      if (uVar13 == 0x3d) goto LAB_00032828;
      local_250 = (int *)&DAT_00000001;
      param_1 = ppcVar22;
    }
    else if ((uVar13 & 0xfffffffd) == 0x3c) {
      local_250 = (int *)&DAT_00000001;
      param_1 = ppcVar22;
    }
    else {
      if (uVar13 != 0x3d) goto LAB_0003228c;
LAB_00032828:
      ppcVar21 = (code **)((int)ppcVar24 + 1);
      if (ppcVar26 <= ppcVar21) goto LAB_0003242c;
      piVar16 = (int *)&DAT_00000001;
      while( true ) {
        uVar15 = (uint)*(char *)ppcVar21;
        uVar13 = uVar15 - 9;
        if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) break;
        ppcVar21 = (code **)((int)ppcVar21 + 1);
        if (ppcVar26 == ppcVar21) goto LAB_0003242c;
      }
      if ((uVar15 == 0x22) || (uVar15 == 0x27)) {
        local_25c = (code **)((int)ppcVar21 + 1);
        if (ppcVar26 <= local_25c) goto LAB_0003242c;
        bVar3 = false;
        piVar16 = (int *)0x3c;
        param_1 = local_25c;
        while (uVar13 = (uint)*(char *)param_1, uVar15 != uVar13) {
          if (bVar3) {
LAB_00032c8c:
            if ((uVar13 == 0x3c) || (uVar13 == 0x3e)) {
              if (uVar15 != uVar13) goto LAB_0003228c;
              break;
            }
            bVar3 = true;
          }
          else if (uVar13 == 10) {
            uVar13 = (uint)*(char *)((int)ppcVar21 + 1);
            param_1 = local_25c;
            if (uVar13 != uVar15) goto LAB_00032c8c;
            break;
          }
          param_1 = (code **)((int)param_1 + 1);
          if (ppcVar26 <= param_1) goto LAB_0003242c;
        }
        ppcVar24 = (code **)((int)param_1 + 1);
        local_254 = ppcVar24;
        local_250 = piVar6;
        if (ppcVar26 <= ppcVar24) goto LAB_0003242c;
      }
      else {
        piVar16 = (int *)0x3c;
        ppcVar24 = ppcVar21;
        while (((0x17 < uVar13 || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) &&
               ((uVar15 & 0xfffffffd) != 0x3c))) {
          ppcVar24 = (code **)((int)ppcVar24 + 1);
          if (ppcVar26 <= ppcVar24) goto LAB_0003242c;
          uVar15 = (uint)*(char *)ppcVar24;
          uVar13 = uVar15 - 9;
        }
        param_1 = ppcVar27;
        if (ppcVar21 == ppcVar24) goto LAB_0003228c;
        local_250 = (int *)0x2;
        param_1 = ppcVar24;
        local_25c = ppcVar21;
        local_254 = ppcVar24;
      }
    }
LAB_00032994:
    if ((bVar1) && (piVar16 = (int *)(*pcVar28)(param_7,ppcVar25,ppcVar22), piVar16 != (int *)0x0))
    {
      iVar19 = iVar9 + 1;
      iVar17 = local_27c;
      if (local_27c < iVar19) {
        do {
          iVar18 = iVar17;
          iVar17 = iVar18 * 2;
        } while (iVar17 < iVar19);
        if (local_27c != iVar17) {
          if (local_28c == (int *)0x0) {
            uVar10 = (*(code *)PTR_xmalloc_000af5c4)(iVar18 * 0x30);
            local_280 = (int *)(*(code *)PTR_memcpy_000afc70)(uVar10,local_280,local_27c * 0x18);
            local_28c = piVar16;
          }
          else {
            local_280 = (int *)(*(code *)PTR_xrealloc_000af818)(local_280);
          }
        }
      }
      local_280[iVar9 * 6 + 4] = local_21c;
      FUN_00031590(&local_224,ppcVar25,ppcVar22,1);
      local_280[iVar9 * 6 + 5] = local_21c;
      FUN_00031590(&local_224,local_25c,param_1);
      local_280[iVar9 * 6 + 2] = (int)ppcVar21;
      local_280[iVar9 * 6 + 3] = (int)local_254 - (int)ppcVar21;
      local_27c = iVar17;
      iVar9 = iVar19;
      piVar16 = local_250;
    }
    goto LAB_000323f8;
  }
LAB_0003246c:
  if (local_2c == *(int *)puVar4) {
    return *(int *)puVar4;
  }
  puVar29 = PTR___stack_chk_fail_000afbd4;
  (*(code *)PTR___stack_chk_fail_000afbd4)();
  if (0 < (int)ppcVar14) {
    ppcVar26 = (code **)0x0;
    pcVar7 = *param_2;
    do {
      iVar8 = (**(code **)(puVar29 + 0x7c6f4))(*(undefined4 *)pcVar7,param_3);
      if (iVar8 == 0) {
        if (param_4 != (int *)0x0) {
          *param_4 = (int)ppcVar26;
        }
        return *(int *)(pcVar7 + 4);
      }
      ppcVar26 = (code **)((int)ppcVar26 + 1);
      pcVar7 = pcVar7 + 0x18;
    } while (ppcVar26 != ppcVar14);
    return 0;
  }
  return 0;
  while (*(char *)ppcVar20 == '-') {
LAB_00032dcc:
    ppcVar23 = ppcVar20;
    ppcVar20 = (code **)((int)ppcVar23 + 1);
    if (ppcVar26 == ppcVar20) goto LAB_0003228c;
  }
  ppcVar27 = ppcVar20;
  if (*(char *)ppcVar20 == '>') goto code_r0x00032dec;
  goto LAB_0003267c;
code_r0x00032dec:
  ppcVar20 = (code **)((int)ppcVar23 + 2);
LAB_00032d0c:
  if (ppcVar20 == (code **)0x0) goto LAB_0003228c;
joined_r0x00032628:
  param_1 = ppcVar20;
  if (ppcVar20 == ppcVar26) goto LAB_0003242c;
  goto LAB_0003228c;
LAB_000328e4:
  uVar13 = (int)*(char *)ppcVar25 - 9;
  if ((0x17 < uVar13) || ((1 << (uVar13 & 0x1f) & 0x80001fU) == 0)) goto LAB_00032918;
  ppcVar25 = (code **)((int)ppcVar25 + 1);
  if (ppcVar26 == ppcVar25) goto LAB_0003242c;
  goto LAB_000328e4;
LAB_00032918:
  param_1 = ppcVar27;
  if (((int)*(char *)ppcVar25 & 0xfffffffdU) == 0x3c) {
LAB_0003292c:
    ppcVar27 = (code **)((int)ppcVar25 + 1);
    if (((local_290 == 0) && (local_228 != (code *)0x0)) && (*(code ***)local_228 == ppcVar23)) {
      *(code ***)(local_228 + 8) = ppcVar27;
    }
    if (bVar1) {
      local_20c = local_224;
      local_208 = local_290;
      if (iVar9 != 0) {
        piVar16 = local_280 + iVar9 * 6;
        piVar11 = local_280;
        do {
          piVar12 = piVar11 + 6;
          *piVar11 = (int)(local_224 + piVar11[4]);
          piVar11[1] = (int)(local_224 + piVar11[5]);
          piVar11 = piVar12;
        } while (piVar12 != piVar16);
      }
      local_200 = local_280;
      local_1f4 = 0;
      local_1f0 = 0;
      local_204 = iVar9;
      local_1fc = iVar8;
      local_1f8 = ppcVar27;
      if (local_290 != 0) {
        for (pcVar28 = local_228; pcVar28 != (code *)0x0; pcVar28 = *(code **)(pcVar28 + 0xc)) {
          if (((int)ppcVar20 - (int)ppcVar23 == *(int *)(pcVar28 + 4) - *(int *)pcVar28) &&
             (iVar9 = (*(code *)PTR_strncasecmp_000afb8c)
                                (*(int *)pcVar28,ppcVar23,(int)ppcVar20 - (int)ppcVar23), iVar9 == 0
             )) {
            if (*(int *)(pcVar28 + 8) != 0) {
              local_1f4 = *(int *)(pcVar28 + 8);
              local_1f0 = iVar8;
            }
            (*pcVar7)(ppcVar14,param_2,pcVar28);
            break;
          }
        }
      }
      (*param_3)(&local_20c,param_4);
      param_1 = ppcVar25;
      if (*(char *)ppcVar25 == '<') goto LAB_0003228c;
    }
    param_1 = ppcVar27;
    if (ppcVar26 <= ppcVar27) goto LAB_0003242c;
  }
  goto LAB_0003228c;
LAB_0003242c:
  param_4 = piVar16;
  param_3 = local_22c;
  puVar5 = local_214;
  uVar10 = local_210;
  if (local_218 != '\0') {
    (*(code *)PTR_free_000afd08)(local_224);
    param_4 = piVar16;
    param_3 = local_22c;
    puVar5 = local_214;
    uVar10 = local_210;
  }
  local_220 = uVar10;
  local_224 = puVar5;
  local_22c = param_3;
  local_214 = local_224;
  local_210 = local_220;
  if (local_28c == (int *)0x0) {
    local_218 = 0;
    local_21c = 0;
    (*pcVar7)(ppcVar14,param_2,param_3);
  }
  else {
    local_218 = 0;
    local_21c = 0;
    (*(code *)PTR_free_000afd08)(local_280);
    param_3 = local_22c;
    (*pcVar7)(ppcVar14,param_2,local_22c);
  }
  goto LAB_0003246c;
}

