
void * GEAcompile(char *pattern,size_t size,reg_syntax_t syntax_bits)

{
  char cVar1;
  bool bVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined3 extraout_var;
  undefined4 *puVar5;
  dfa *pdVar6;
  int iVar7;
  undefined *puVar8;
  undefined *puVar9;
  char *pcVar10;
  int iVar11;
  char *pcVar12;
  dfamust *dm;
  kwset_t kwset;
  int *piVar13;
  _Bool _Var16;
  ptrdiff_t pVar14;
  size_t sVar15;
  char *pcVar17;
  uint uVar18;
  uint uVar19;
  void *pvVar20;
  char *pcVar21;
  int iVar22;
  uint *puVar23;
  char *cur;
  char *pcVar24;
  dfa *d;
  int iVar25;
  uint uVar26;
  char *pcVar27;
  char *end;
  char *pcVar28;
  char *pcVar29;
  uint uVar30;
  uint uVar31;
  undefined4 *puVar32;
  char *pcVar33;
  code *pcVar34;
  reg_syntax_t local_res8;
  char *pcStack_f0;
  uint uStack_e8;
  char *pcStack_d8;
  _Bool _Stack_a9;
  char *pcStack_a8;
  size_t sStack_a4;
  kwsmatch kStack_a0;
  int iStack_94;
  undefined4 *puStack_90;
  dfamust *pdStack_8c;
  kwset_t pkStack_88;
  char *pcStack_84;
  size_t *psStack_80;
  int iStack_7c;
  uint uStack_78;
  char *pcStack_74;
  char *pcStack_70;
  code *pcStack_6c;
  char *local_58;
  int local_54;
  size_t lineno;
  undefined4 *local_2c;
  
  puVar4 = PTR___stack_chk_guard_000564b4;
  kwset = (kwset_t)PTR_match_icase_00056190;
  local_2c = *(undefined4 **)PTR___stack_chk_guard_000564b4;
  puVar5 = (undefined4 *)xcalloc(1,0x24);
  pdVar6 = dfaalloc();
  cVar1 = *(char *)kwset;
  puVar5[1] = pdVar6;
  puVar8 = PTR_eolbyte_00056138;
  local_res8 = syntax_bits;
  if (cVar1 != '\0') {
    local_res8 = syntax_bits | 0x400000;
  }
  pcVar28 = pattern + size;
  (*(code *)PTR_re_set_syntax_00056360)(local_res8);
  iVar7 = 2;
  uVar26 = 0;
  if (*puVar8 != '\0') {
    iVar7 = 0;
  }
  dfasyntax((dfa *)puVar5[1],(localeinfo *)PTR_localeinfo_00056174,local_res8,iVar7);
  uVar31 = puVar5[3];
  bVar2 = false;
  puVar8 = PTR_wcrtomb_00056118 + 0x734;
  puVar9 = PTR_wcrtomb_00056118 + 0x830;
  pcVar12 = pattern;
  do {
    iVar7 = (int)pcVar28 - (int)pcVar12;
    pcVar10 = (char *)(*(code *)PTR_rpl_memchr_00056120)(pcVar12,10,iVar7);
    if (pcVar10 != (char *)0x0) {
      iVar7 = (int)pcVar10 - (int)pcVar12;
      pcVar10 = pcVar10 + 1;
    }
    pvVar20 = (void *)puVar5[2];
    if (uVar26 <= uVar31) {
      if (pvVar20 == (void *)0x0) {
        sVar15 = 0x40;
        if (uVar26 == 0) {
          uVar26 = 2;
        }
        else {
          sVar15 = uVar26 << 5;
          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;
        }
      }
      else {
        if (0x2aaaaa9 < uVar26) {
LAB_000152e8:
                    /* WARNING: Subroutine does not return */
          xalloc_die();
        }
        uVar26 = uVar26 + 1 + (uVar26 >> 1);
        sVar15 = uVar26 * 0x20;
      }
      pvVar20 = xrealloc(pvVar20,sVar15);
      uVar31 = puVar5[3];
      puVar5[2] = pvVar20;
    }
    cVar1 = *(char *)kwset;
    puVar32 = (undefined4 *)((int)pvVar20 + uVar31 * 0x20);
    *puVar32 = 0;
    puVar32[1] = 0;
    puVar3 = PTR_re_compile_pattern_00056374;
    if (cVar1 == '\0') {
                    /* WARNING: Subroutine does not return */
      xmalloc(0x100);
    }
    puVar32[4] = 0;
    puVar32[5] = 0;
    iVar11 = (*(code *)puVar3)(pcVar12,iVar7,puVar32);
    if (iVar11 != 0) {
      pcVar12 = pattern_file_name(puVar5[3] + 1,&lineno);
      if (*pcVar12 == '\0') {
        (*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);
      }
      else {
        local_58 = (char *)lineno;
        local_54 = iVar11;
        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);
      }
      bVar2 = true;
    }
    uVar31 = puVar5[3] + 1;
    puVar5[3] = uVar31;
    pcVar12 = pcVar10;
  } while (pcVar10 != (char *)0x0);
  if (bVar2) {
    pvVar20 = (void *)(*(code *)PTR_exit_00056430)(2);
    return pvVar20;
  }
  if ((*PTR_match_words_000561b4 != '\0') || (*PTR_match_lines_000561b8 != '\0')) {
                    /* WARNING: Subroutine does not return */
    xmalloc(size + 0x2d);
  }
  puVar23 = (uint *)0x1;
  pdVar6 = (dfa *)puVar5[1];
  dfacomp(pattern,size,pdVar6,true);
  dm = dfamust((dfa *)puVar5[1]);
  if (dm != (dfamust *)0x0) {
    kwset = kwsinit(false);
    _Var16 = dm->exact;
    *puVar5 = kwset;
    puVar8 = PTR_strlen_00056424;
    if (_Var16 != false) {
      pcVar28 = dm->must;
      puVar5[7] = puVar5[7] + 1;
      iVar7 = (*(code *)puVar8)(pcVar28);
                    /* WARNING: Subroutine does not return */
      xmalloc((uint)dm->begline + iVar7 + (uint)dm->endline);
    }
    pcVar28 = dm->must;
    pdVar6 = (dfa *)(*(code *)PTR_strlen_00056424)(pcVar28);
    size = (size_t)pcVar28;
    kwsincr(kwset,pcVar28,(ptrdiff_t)pdVar6);
    kwsprep((kwset_t)*puVar5);
    dfamustfree(dm);
  }
  (*(code *)PTR_free_000564c0)(0);
  if (local_2c == *(undefined4 **)puVar4) {
    return puVar5;
  }
  pcVar34 = EGexecute;
  puVar32 = local_2c;
  puVar8 = PTR___stack_chk_fail_00056494;
  (*(code *)PTR___stack_chk_fail_00056494)();
  pcVar12 = local_58;
  piVar13 = *(int **)(puVar8 + 0x40f5c);
  end = (char *)(size + (int)pdVar6);
  pcVar29 = *(char **)(puVar8 + 0x40be0);
  d = (dfa *)puVar32[1];
  iStack_94 = *piVar13;
  puStack_90 = puVar5;
  pdStack_8c = dm;
  pkStack_88 = kwset;
  pcStack_84 = pcVar28;
  psStack_80 = &lineno;
  iStack_7c = iVar7;
  uStack_78 = uVar31;
  pcStack_74 = pcVar10;
  pcStack_70 = pcVar10;
  pcStack_6c = pcVar34;
  pdVar6 = dfasuperset(d);
  iVar7 = (int)*pcVar29;
  _Var16 = dfaisfast(d);
  pcStack_a8 = (char *)size;
  if (size < end) {
    pcVar28 = *(char **)(puVar8 + 0x40c60);
    pcStack_f0 = (char *)size;
    do {
      if (pcVar12 == (char *)0x0) {
        sStack_a4 = 0;
        _Stack_a9 = false;
        pcVar27 = pcStack_f0;
        pcVar17 = end;
        if ((kwset_t)*puVar32 != (kwset_t)0x0) {
          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),
                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,
                           true);
          if (-1 < pVar14) {
            pcVar27 = pcStack_f0 + pVar14;
            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);
            pcVar10 = (char *)size;
            if (iVar11 != 0) {
              pcVar10 = (char *)(iVar11 + 1);
            }
            if ((int)puVar32[7] <= kStack_a0.index) {
              iVar11 = (int)pcVar27 - (int)pcVar10;
              if (CONCAT31(extraout_var,_Var16) == 0) {
LAB_000156c0:
                iVar22 = (int)end - (int)pcVar27;
              }
              else {
                if (iVar11 < 0x10) {
                  iVar11 = 0x10;
                }
                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;
                iVar22 = 0;
                pcVar27 = end;
                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {
                  pcVar27 = pcStack_f0 + iVar11 * 4;
                  goto LAB_000156c0;
                }
              }
              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);
              pcVar27 = pcVar10;
              if (iVar11 != 0) {
                pcVar17 = (char *)(iVar11 + 1);
              }
              goto joined_r0x00015ca0;
            }
            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);
            pcStack_f0 = end;
            if (iVar11 != 0) {
              pcStack_f0 = (char *)(iVar11 + 1);
            }
            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&
               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {
              if (pcStack_a8 < pcVar10) {
                pcStack_a8 = pcVar10;
              }
              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);
              pcVar17 = pcStack_f0;
              pcVar27 = pcStack_a8;
              if (pVar14 == 0) goto LAB_00015bc8;
              goto LAB_00015b08;
            }
LAB_00015bc8:
            uVar26 = (int)pcStack_f0 - (int)pcVar10;
            goto LAB_00015bdc;
          }
          break;
        }
joined_r0x00015ca0:
        pcStack_f0 = pcVar17;
        pcVar17 = pcStack_f0;
        pcVar10 = pcVar27;
        if (pdVar6 == (dfa *)0x0) {
LAB_00015b08:
          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);
          pcStack_f0 = pcVar17;
          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {
            if (sStack_a4 != 0) {
              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);
              pcVar10 = (char *)(iVar11 + 1);
            }
            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);
            pcStack_f0 = end;
            if (iVar11 != 0) {
              pcStack_f0 = (char *)(iVar11 + 1);
            }
            if (_Stack_a9 == false) goto LAB_00015bc8;
            pcStack_d8 = pcVar10;
            if (puVar32[3] != 0) goto LAB_00015714;
          }
        }
        else {
          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);
          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {
            pcStack_f0 = pcVar27;
            if (sStack_a4 != 0) {
              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);
              pcStack_f0 = (char *)(iVar11 + 1);
            }
            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);
            pcVar27 = pcStack_f0;
            pcVar10 = pcStack_f0;
            if (iVar11 == 0) {
              sStack_a4 = 0;
              pcVar17 = end;
            }
            else {
              sStack_a4 = 0;
              pcVar17 = (char *)(iVar11 + 1);
            }
            goto LAB_00015b08;
          }
        }
      }
      else {
        pcVar10 = (char *)0xffffffff;
        if (puVar32[3] == 0) goto LAB_00015bec;
        pcStack_d8 = pcVar12;
        pcVar10 = pcStack_f0;
        pcStack_f0 = end;
LAB_00015714:
        pcVar21 = *(char **)(puVar8 + 0x40c5c);
        puVar5 = puVar32 + 4;
        uStack_e8 = 0;
        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;
        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;
        pcVar17 = pcStack_f0 + -1;
        uVar30 = 0;
        pcVar27 = pcStack_f0;
LAB_00015868:
        do {
          iVar25 = uVar30 * 0x20;
          pcVar34 = *(code **)(puVar8 + 0x40eb8);
          iVar22 = puVar32[2] + iVar25;
          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';
          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5
                             );
          if (iVar22 < -1) {
LAB_00015cdc:
                    /* WARNING: Subroutine does not return */
            xalloc_die();
          }
          cur = pcVar10 + iVar22;
          pcVar33 = pcVar27;
          uVar26 = uStack_e8;
          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {
            uVar18 = *(int *)puVar32[6] - iVar22;
            uVar19 = uVar31;
            pcVar24 = pcStack_d8;
            if (pcVar12 == (char *)0x0) {
              if (*pcVar28 == '\0') {
                if (*pcVar21 != '\0') {
LAB_000157a0:
                  do {
                    sVar15 = wordchar_next(cur + uVar18,pcVar17);
                    if ((sVar15 == 0) &&
                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,
                       sVar15 == 0)) goto LAB_00015914;
                    if (uVar18 == 0) {
LAB_000157d8:
                      if (pcVar17 == cur) break;
                      pcVar34 = *(code **)(puVar8 + 0x40eb8);
                      iVar22 = puVar32[2] + iVar25;
                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;
                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,
                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);
                      if (iVar22 < 0) {
                        if (iVar22 != -1) goto LAB_00015cdc;
                        break;
                      }
                      cur = pcVar10 + iVar22;
                      bVar2 = pcVar27 < cur;
                      uVar18 = *(int *)puVar32[6] - iVar22;
                    }
                    else {
                      pcVar34 = *(code **)(puVar8 + 0x40ee8);
                      iVar22 = puVar32[2] + iVar25;
                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;
                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),
                                          (int)cur - (int)pcVar10,puVar5);
                      if ((int)uVar18 < -1) goto LAB_00015cdc;
                      if ((int)uVar18 < 1) goto LAB_000157d8;
                    }
                  } while (!bVar2);
                  goto LAB_00015854;
                }
              }
              else {
LAB_0001597c:
                if (uVar18 != uVar31 - 1) goto LAB_00015854;
              }
LAB_00015914:
              uVar18 = uVar19;
              uVar26 = (int)pcStack_f0 - (int)pcVar10;
              cur = pcVar24;
              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;
            }
            else if (*pcVar21 != '\0') {
              if (*pcVar28 == '\0') goto LAB_000157a0;
              goto LAB_0001597c;
            }
            pcVar33 = cur;
            uVar26 = uVar18;
            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {
              uVar30 = uVar30 + 1;
              if (uStack_e8 < uVar18) {
                uStack_e8 = uVar18;
              }
              if ((uint)puVar32[3] <= uVar30) break;
              goto LAB_00015868;
            }
          }
LAB_00015854:
          uStack_e8 = uVar26;
          uVar30 = uVar30 + 1;
          pcVar27 = pcVar33;
        } while (uVar30 < (uint)puVar32[3]);
        pcVar10 = pcVar33;
        uVar26 = uStack_e8;
        if (pcVar10 < pcStack_f0) {
LAB_00015bdc:
          pcVar10 = pcVar10 + -size;
          *puVar23 = uVar26;
          goto LAB_00015bec;
        }
      }
    } while (pcStack_f0 < end);
  }
  pcVar10 = (char *)0xffffffff;
LAB_00015bec:
  if (iStack_94 == *piVar13) {
    return pcVar10;
  }
  pcVar34 = *(code **)(puVar8 + 0x40f3c);
  (*pcVar34)();
  pvVar20 = *(void **)(pcVar34 + 0x403e8);
  *(undefined4 *)((int)pvVar20 + 0x6040) = *(undefined4 *)(*(int *)(pcVar34 + 0x403e8) + 0x6044);
  return pvVar20;
}



/* WARNING: Type propagation algorithm not settling */

undefined4 * GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)

{
  char cVar1;
  undefined1 uVar2;
  undefined1 uVar3;
  byte bVar4;
  byte bVar5;
  undefined1 uVar6;
  bool bVar7;
  undefined *puVar8;
  undefined *puVar9;
  char *******pppppppcVar10;
  undefined4 *puVar11;
  undefined4 uVar12;
  undefined *puVar13;
  undefined *puVar14;
  undefined4 *puVar15;
  char *pcVar16;
  char *pcVar17;
  char *pcVar18;
  undefined4 *puVar19;
  int *piVar20;
  int iVar21;
  int iVar22;
  char *******pppppppcVar23;
  uint uVar24;
  uint uVar25;
  int iVar26;
  int *piVar27;
  undefined4 uVar28;
  undefined4 uVar29;
  uint *puVar30;
  char *******pppppppcVar31;
  char *******pppppppcVar32;
  int iVar33;
  int iVar34;
  uint uVar35;
  char *******pppppppcVar36;
  char *******pppppppcVar37;
  int *piVar38;
  char *******pppppppcVar39;
  int iVar40;
  uint uVar41;
  uint uVar42;
  undefined4 *puVar43;
  undefined *puVar44;
  char *******pppppppcVar45;
  code *pcVar46;
  char *******local_res4;
  uint local_res8;
  char *******pppppppcStack_f0;
  uint uStack_e8;
  char *******pppppppcStack_d8;
  char cStack_a9;
  char *******pppppppcStack_a8;
  int iStack_a4;
  int aiStack_a0 [3];
  int iStack_94;
  undefined4 *puStack_90;
  char *pcStack_8c;
  char *pcStack_88;
  char *******pppppppcStack_84;
  char *******pppppppcStack_80;
  int iStack_7c;
  uint uStack_78;
  undefined4 *puStack_74;
  undefined4 *puStack_70;
  code *pcStack_6c;
  char *******local_58;
  int local_54;
  undefined4 *local_44;
  char *******local_30;
  int *local_2c;
  
  puVar9 = PTR___stack_chk_guard_000564b4;
  pcVar18 = PTR_match_icase_00056190;
  local_2c = *(int **)PTR___stack_chk_guard_000564b4;
  puVar11 = (undefined4 *)xcalloc(1,0x24);
  uVar12 = dfaalloc();
  cVar1 = *pcVar18;
  puVar11[1] = uVar12;
  puVar44 = PTR_eolbyte_00056138;
  local_res8 = param_3;
  if (cVar1 != '\0') {
    local_res8 = param_3 | 0x400000;
  }
  pppppppcVar36 = (char *******)&local_30;
  pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);
  (*(code *)PTR_re_set_syntax_00056360)(local_res8);
  uVar12 = 2;
  uVar35 = 0;
  if (*puVar44 != '\0') {
    uVar12 = 0;
  }
  dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);
  uVar42 = puVar11[3];
  bVar7 = false;
  puVar13 = PTR_wcrtomb_00056118 + 0x734;
  puVar14 = PTR_wcrtomb_00056118 + 0x830;
  puVar19 = param_1;
  do {
    iVar40 = (int)pppppppcVar39 - (int)puVar19;
    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);
    if (puVar15 != (undefined4 *)0x0) {
      iVar40 = (int)puVar15 - (int)puVar19;
      puVar15 = (undefined4 *)((int)puVar15 + 1);
    }
    iVar26 = puVar11[2];
    if (uVar35 <= uVar42) {
      if (iVar26 == 0) {
        iVar33 = 0x40;
        if (uVar35 == 0) {
          uVar35 = 2;
        }
        else {
          iVar33 = uVar35 << 5;
          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;
        }
      }
      else {
        if (0x2aaaaa9 < uVar35) {
LAB_000152e8:
                    /* WARNING: Subroutine does not return */
          xalloc_die();
        }
        uVar35 = uVar35 + 1 + (uVar35 >> 1);
        iVar33 = uVar35 * 0x20;
      }
      iVar26 = xrealloc(iVar26,iVar33);
      uVar42 = puVar11[3];
      puVar11[2] = iVar26;
    }
    cVar1 = *pcVar18;
    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);
    *puVar43 = 0;
    puVar43[1] = 0;
    if (cVar1 == '\0') {
      uVar12 = xmalloc(0x100);
    }
    else {
      uVar12 = 0;
    }
    puVar8 = PTR_re_compile_pattern_00056374;
    puVar43[4] = uVar12;
    puVar43[5] = 0;
    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);
    if (iVar26 != 0) {
      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);
      if (*pcVar16 == '\0') {
        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);
      }
      else {
        local_58 = local_30;
        local_54 = iVar26;
        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);
      }
      bVar7 = true;
    }
    uVar42 = puVar11[3] + 1;
    puVar11[3] = uVar42;
    puVar8 = PTR_match_lines_000561b8;
    puVar19 = puVar15;
  } while (puVar15 != (undefined4 *)0x0);
  if (bVar7) {
    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);
    return puVar11;
  }
  if ((*PTR_match_words_000561b4 != '\0') ||
     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,
     *PTR_match_lines_000561b8 != '\0')) {
    uVar42 = local_res8 & 0x2000;
    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));
    puVar14 = PTR_strlen_00056424;
    puVar13 = PTR_wcrtomb_00056118;
    if (*puVar8 == '\0') {
      if (uVar42 == 0) {
        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);
        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);
        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);
        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);
        puVar19[1] = uVar29;
        puVar19[2] = uVar28;
        puVar19[3] = uVar12;
        uVar2 = puVar13[0x79c];
        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);
        *(undefined1 *)(puVar19 + 5) = uVar2;
        uVar2 = puVar13[0x79e];
        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];
        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;
        iVar26 = (*(code *)puVar14)(puVar19);
        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);
        pppppppcVar36 = (char *******)((int)param_2 + iVar26);
        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);
        puVar13 = PTR_wcrtomb_00056118 + 0x754;
      }
      else {
        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);
        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);
        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);
        uVar2 = PTR_wcrtomb_00056118[0x784];
        uVar3 = PTR_wcrtomb_00056118[0x785];
        uVar6 = PTR_wcrtomb_00056118[0x786];
        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);
        puVar19[1] = uVar29;
        puVar19[2] = uVar28;
        puVar19[3] = uVar12;
        *(undefined1 *)(puVar19 + 4) = uVar2;
        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;
        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;
        iVar26 = (*(code *)puVar14)(puVar19);
        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);
        pppppppcVar36 = (char *******)((int)param_2 + iVar26);
        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);
        puVar13 = PTR_wcrtomb_00056118 + 0x740;
      }
    }
    else if (uVar42 == 0) {
      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);
      iVar26 = (*(code *)puVar14)(puVar19);
      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);
      pppppppcVar36 = (char *******)((int)param_2 + iVar26);
      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);
      puVar13 = PTR_wcrtomb_00056118 + 0x770;
    }
    else {
      uVar2 = PTR_wcrtomb_00056118[0x7a1];
      uVar3 = PTR_wcrtomb_00056118[0x7a2];
      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];
      *(undefined1 *)((int)puVar19 + 1) = uVar2;
      *(undefined1 *)((int)puVar19 + 2) = uVar3;
      iVar26 = (*(code *)puVar14)(puVar19);
      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);
      pppppppcVar36 = (char *******)((int)param_2 + iVar26);
      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);
      puVar13 = PTR_wcrtomb_00056118 + 0x76c;
    }
    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);
    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));
    local_44 = puVar19;
  }
  puVar30 = (uint *)0x1;
  pcVar16 = (char *)puVar11[1];
  dfacomp(local_44);
  pcVar17 = (char *)dfamust(puVar11[1]);
  if (pcVar17 != (char *)0x0) {
    pcVar18 = (char *)kwsinit(0);
    cVar1 = *pcVar17;
    *puVar11 = pcVar18;
    puVar13 = PTR_strlen_00056424;
    if (cVar1 == '\0') {
      pppppppcVar39 = *(char ********)(pcVar17 + 4);
      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);
      local_res4 = pppppppcVar39;
      kwsincr(pcVar18);
    }
    else {
      uVar12 = *(undefined4 *)(pcVar17 + 4);
      puVar11[7] = puVar11[7] + 1;
      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);
      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);
      pppppppcVar36 = (char *******)xmalloc(pcVar18);
      puVar13 = PTR_memcpy_000564b8;
      bVar4 = *(byte *)(puVar11 + 8);
      cVar1 = *puVar44;
      iVar40 = (int)cVar1;
      *(char *)pppppppcVar36 = cVar1;
      bVar5 = pcVar17[1];
      uVar12 = *(undefined4 *)(pcVar17 + 4);
      *(byte *)(puVar11 + 8) = bVar5 | bVar4;
      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);
      if (pcVar17[2] != '\0') {
        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);
        *(char *)pppppppcVar39 = cVar1;
      }
      local_res4 = pppppppcVar36;
      pcVar16 = pcVar18;
      kwsincr(*puVar11);
      (*(code *)PTR_free_000564c0)(pppppppcVar36);
    }
    kwsprep(*puVar11);
    dfamustfree(pcVar17);
  }
  (*(code *)PTR_free_000564c0)(puVar19);
  if (local_2c == *(int **)puVar9) {
    return puVar11;
  }
  pcVar46 = EGexecute;
  piVar27 = local_2c;
  puVar44 = PTR___stack_chk_fail_00056494;
  (*(code *)PTR___stack_chk_fail_00056494)();
  pppppppcVar10 = local_58;
  piVar20 = *(int **)(puVar44 + 0x40f5c);
  pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);
  pcVar16 = *(char **)(puVar44 + 0x40be0);
  iVar33 = piVar27[1];
  iStack_94 = *piVar20;
  puStack_90 = puVar11;
  pcStack_8c = pcVar17;
  pcStack_88 = pcVar18;
  pppppppcStack_84 = pppppppcVar39;
  pppppppcStack_80 = pppppppcVar36;
  iStack_7c = iVar40;
  uStack_78 = uVar42;
  puStack_74 = puVar19;
  puStack_70 = puVar15;
  pcStack_6c = pcVar46;
  iVar40 = dfasuperset(iVar33);
  iVar26 = (int)*pcVar16;
  iVar33 = dfaisfast(iVar33);
  pppppppcStack_a8 = local_res4;
  if (local_res4 < pppppppcVar37) {
    pcVar18 = *(char **)(puVar44 + 0x40c60);
    pppppppcStack_f0 = local_res4;
    do {
      if (pppppppcVar10 == (char *******)0x0) {
        iStack_a4 = 0;
        cStack_a9 = '\0';
        pppppppcVar36 = pppppppcStack_f0;
        pppppppcVar23 = pppppppcVar37;
        if (*piVar27 != 0) {
          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),
                           (uint)*(byte *)(piVar27 + 8) +
                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);
          if (-1 < iVar21) {
            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);
            iVar22 = (**(code **)(puVar44 + 0x40ed0))
                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);
            pppppppcVar39 = local_res4;
            if (iVar22 != 0) {
              pppppppcVar39 = (char *******)(iVar22 + 1);
            }
            if (piVar27[7] <= aiStack_a0[0]) {
              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;
              if (iVar33 == 0) {
LAB_000156c0:
                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;
              }
              else {
                if (iVar22 < 0x10) {
                  iVar22 = 0x10;
                }
                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;
                iVar21 = 0;
                pppppppcVar36 = pppppppcVar37;
                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {
                  pppppppcVar36 = pppppppcStack_f0 + iVar22;
                  goto LAB_000156c0;
                }
              }
              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);
              pppppppcVar36 = pppppppcVar39;
              if (iVar21 != 0) {
                pppppppcVar23 = (char *******)(iVar21 + 1);
              }
              goto joined_r0x00015ca0;
            }
            iVar21 = (**(code **)(puVar44 + 0x40bc8))
                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);
            pppppppcStack_f0 = pppppppcVar37;
            if (iVar21 != 0) {
              pppppppcStack_f0 = (char *******)(iVar21 + 1);
            }
            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&
               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {
              if (pppppppcStack_a8 < pppppppcVar39) {
                pppppppcStack_a8 = pppppppcVar39;
              }
              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);
              pppppppcVar23 = pppppppcStack_f0;
              pppppppcVar36 = pppppppcStack_a8;
              if (iVar21 == 0) goto LAB_00015bc8;
              goto LAB_00015b08;
            }
LAB_00015bc8:
            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;
            goto LAB_00015bdc;
          }
          break;
        }
joined_r0x00015ca0:
        pppppppcStack_f0 = pppppppcVar23;
        pppppppcVar23 = pppppppcStack_f0;
        pppppppcVar39 = pppppppcVar36;
        if (iVar40 == 0) {
LAB_00015b08:
          pppppppcVar36 =
               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)
          ;
          pppppppcStack_f0 = pppppppcVar23;
          if ((pppppppcVar36 != (char *******)0x0) &&
             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {
            if (iStack_a4 != 0) {
              iVar21 = (**(code **)(puVar44 + 0x40ed0))
                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);
              pppppppcVar39 = (char *******)(iVar21 + 1);
            }
            iVar21 = (**(code **)(puVar44 + 0x40bc8))
                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);
            pppppppcStack_f0 = pppppppcVar37;
            if (iVar21 != 0) {
              pppppppcStack_f0 = (char *******)(iVar21 + 1);
            }
            if (cStack_a9 == '\0') goto LAB_00015bc8;
            pppppppcStack_d8 = pppppppcVar39;
            if (piVar27[3] != 0) goto LAB_00015714;
          }
        }
        else {
          pppppppcVar39 =
               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);
          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {
            pppppppcStack_f0 = pppppppcVar36;
            if (iStack_a4 != 0) {
              iVar21 = (**(code **)(puVar44 + 0x40ed0))
                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);
              pppppppcStack_f0 = (char *******)(iVar21 + 1);
            }
            iVar21 = (**(code **)(puVar44 + 0x40bc8))
                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);
            pppppppcVar36 = pppppppcStack_f0;
            pppppppcVar39 = pppppppcStack_f0;
            if (iVar21 == 0) {
              iStack_a4 = 0;
              pppppppcVar23 = pppppppcVar37;
            }
            else {
              iStack_a4 = 0;
              pppppppcVar23 = (char *******)(iVar21 + 1);
            }
            goto LAB_00015b08;
          }
        }
      }
      else {
        puVar11 = (undefined4 *)0xffffffff;
        if (piVar27[3] == 0) goto LAB_00015bec;
        pppppppcStack_d8 = pppppppcVar10;
        pppppppcVar39 = pppppppcStack_f0;
        pppppppcStack_f0 = pppppppcVar37;
LAB_00015714:
        pcVar17 = *(char **)(puVar44 + 0x40c5c);
        piVar38 = piVar27 + 4;
        uStack_e8 = 0;
        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;
        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;
        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);
        uVar41 = 0;
        pppppppcVar36 = pppppppcStack_f0;
LAB_00015868:
        do {
          iVar34 = uVar41 * 0x20;
          pcVar46 = *(code **)(puVar44 + 0x40eb8);
          iVar22 = piVar27[2] + iVar34;
          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';
          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39
                              ,uVar42 - 1,piVar38);
          if (iVar22 < -1) {
LAB_00015cdc:
                    /* WARNING: Subroutine does not return */
            xalloc_die();
          }
          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);
          pppppppcVar45 = pppppppcVar36;
          uVar35 = uStack_e8;
          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {
            uVar24 = *(int *)piVar27[6] - iVar22;
            uVar25 = uVar42;
            pppppppcVar32 = pppppppcStack_d8;
            if (pppppppcVar10 == (char *******)0x0) {
              if (*pcVar18 == '\0') {
                if (*pcVar17 != '\0') {
LAB_000157a0:
                  do {
                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);
                    if ((iVar22 == 0) &&
                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),
                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))
                    goto LAB_00015914;
                    if (uVar24 == 0) {
LAB_000157d8:
                      if (pppppppcVar23 == pppppppcVar31) break;
                      pcVar46 = *(code **)(puVar44 + 0x40eb8);
                      iVar22 = piVar27[2] + iVar34;
                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;
                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,
                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,
                                          (char *)((int)pppppppcStack_f0 +
                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);
                      if (iVar22 < 0) {
                        if (iVar22 != -1) goto LAB_00015cdc;
                        break;
                      }
                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);
                      bVar7 = pppppppcVar36 < pppppppcVar31;
                      uVar24 = *(int *)piVar27[6] - iVar22;
                    }
                    else {
                      pcVar46 = *(code **)(puVar44 + 0x40ee8);
                      iVar22 = piVar27[2] + iVar34;
                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;
                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,
                                          (char *)((int)pppppppcVar31 +
                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),
                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);
                      if ((int)uVar24 < -1) goto LAB_00015cdc;
                      if ((int)uVar24 < 1) goto LAB_000157d8;
                    }
                  } while (!bVar7);
                  goto LAB_00015854;
                }
              }
              else {
LAB_0001597c:
                if (uVar24 != uVar42 - 1) goto LAB_00015854;
              }
LAB_00015914:
              uVar24 = uVar25;
              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;
              pppppppcVar31 = pppppppcVar32;
              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;
            }
            else if (*pcVar17 != '\0') {
              if (*pcVar18 == '\0') goto LAB_000157a0;
              goto LAB_0001597c;
            }
            pppppppcVar45 = pppppppcVar31;
            uVar35 = uVar24;
            if ((pppppppcVar36 <= pppppppcVar31) &&
               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))
            {
              uVar41 = uVar41 + 1;
              if (uStack_e8 < uVar24) {
                uStack_e8 = uVar24;
              }
              if ((uint)piVar27[3] <= uVar41) break;
              goto LAB_00015868;
            }
          }
LAB_00015854:
          uStack_e8 = uVar35;
          uVar41 = uVar41 + 1;
          pppppppcVar36 = pppppppcVar45;
        } while (uVar41 < (uint)piVar27[3]);
        pppppppcVar39 = pppppppcVar45;
        uVar35 = uStack_e8;
        if (pppppppcVar39 < pppppppcStack_f0) {
LAB_00015bdc:
          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);
          *puVar30 = uVar35;
          goto LAB_00015bec;
        }
      }
    } while (pppppppcStack_f0 < pppppppcVar37);
  }
  puVar11 = (undefined4 *)0xffffffff;
LAB_00015bec:
  if (iStack_94 == *piVar20) {
    return puVar11;
  }
  pcVar46 = *(code **)(puVar44 + 0x40f3c);
  (*pcVar46)();
  puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);
  puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);
  return puVar11;
}


lui gp,0x5
addiu gp,gp,-0x6db8
addu gp,gp,t9
lw v0,-0x7c2c(gp)
addiu sp,sp,-0x68
lw t9,-0x7efc(gp)
sw v0,0x30(sp)
sw a0,0x24(sp)
li a0,0x1
sw a1,0x6c(sp)
li a1,0x24
sw gp,0x18(sp)
sw ra,0x64(sp)
sw s2,0x48(sp)
sw s0,0x40(sp)
sw a2,0x70(sp)
sw s8,0x60(sp)
sw s7,0x5c(sp)
sw s6,0x58(sp)
sw s5,0x54(sp)
sw s4,0x50(sp)
sw s3,0x4c(sp)
sw s1,0x44(sp)
lw v0,0x0(v0)
lw s2,-0x7f50(gp)
sw v0,0x3c(sp)
bal 0x00034848
_nop
lw gp,0x18(sp)
lw t9,-0x7ef8(gp)
bal 0x0002bc10
_or s0,v0,zero
lbu v1,0x0(s2)
lw gp,0x18(sp)
beq v1,zero,0x00014f38
_sw v0,0x4(s0)
lw v1,0x70(sp)
lui v0,0x40
or v0,v1,v0
sw v0,0x70(sp)
lw s1,-0x7fa8(gp)
addiu s4,sp,0x38
lw t9,-0x7d80(gp)
lw a0,0x70(sp)
lw s8,0x24(sp)
lw v0,0x6c(sp)
sw s1,0x34(sp)
jalr t9
_addu s3,s8,v0
lb a3,0x0(s1)
li v0,0x2
lw gp,0x18(sp)
or s1,zero,zero
lw a2,0x70(sp)
movn v0,zero,a3
lw t9,-0x7ef4(gp)
lw a1,-0x7f6c(gp)
lw a0,0x4(s0)
bal 0x0002bc28
_or a3,v0,zero
lw gp,0x18(sp)
lw s6,0xc(s0)
sw zero,0x20(sp)
lw s7,-0x7fc8(gp)
addiu v0,s7,0x734
sw v0,0x28(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x830
sw v0,0x2c(sp)
lw t9,-0x7fc0(gp)
subu s5,s3,s8
li a1,0xa
or a2,s5,zero
jalr t9
_or a0,s8,zero
lw gp,0x18(sp)
beq v0,zero,0x00014fd8
_or s7,v0,zero
subu s5,v0,s8
addiu s7,v0,0x1
sltu v0,s6,s1
beq v0,zero,0x00015258
_lw a0,0x8(s0)
sll v1,s6,0x5
lbu v0,0x0(s2)
addu s6,a0,v1
sw zero,0x0(s6)
beq v0,zero,0x00015244
_sw zero,0x4(s6)
or v0,zero,zero
lw t9,-0x7d6c(gp)
or a2,s6,zero
sw v0,0x10(s6)
or a1,s5,zero
sw zero,0x14(s6)
jalr t9
_or a0,s8,zero
lw gp,0x18(sp)
beq v0,zero,0x00015068
_or s6,v0,zero
lw a0,0xc(s0)
or a1,s4,zero
lw t9,-0x7ef0(gp)
bal 0x00019ed0
_addiu a0,a0,0x1
lb a0,0x0(v0)
bne a0,zero,0x0001529c
_lw gp,0x18(sp)
lw t9,-0x7c90(gp)
or a1,zero,zero
lw a2,0x2c(sp)
jalr t9
_or a3,s6,zero
lw gp,0x18(sp)
li v0,0x1
sw v0,0x20(sp)
lw v1,0xc(s0)
or s8,s7,zero
addiu s6,v1,0x1
bne s7,zero,0x00014fac
_sw s6,0xc(s0)
lw v0,0x20(sp)
bne v0,zero,0x00015540
_lw v0,-0x7f2c(gp)
lbu v0,0x0(v0)
bne v0,zero,0x00015194
_lw s1,-0x7f28(gp)
lbu v0,0x0(s1)
bne v0,zero,0x00015198
_lw v0,0x6c(sp)
lw t9,-0x7eec(gp)
li a3,0x1
lw a2,0x4(s0)
lw a0,0x24(sp)
bal 0x0002a478
_lw a1,0x6c(sp)
lw gp,0x18(sp)
lw t9,-0x7ee8(gp)
bal 0x0002aad8
_lw a0,0x4(s0)
lw gp,0x18(sp)
beq v0,zero,0x00015140
_or s1,v0,zero
lw t9,-0x7ee4(gp)
bal 0x00021718
_or a0,zero,zero
lbu v1,0x0(s1)
or s2,v0,zero
lw gp,0x18(sp)
bne v1,zero,0x000152fc
_sw v0,0x0(s0)
lw s3,0x4(s1)
lw t9,-0x7cbc(gp)
jalr t9
_or a0,s3,zero
or a1,s3,zero
lw gp,0x18(sp)
or a2,v0,zero
lw t9,-0x7ee0(gp)
bal 0x0001c800
_or a0,s2,zero
lw gp,0x18(sp)
lw t9,-0x7edc(gp)
bal 0x0001d1d8
_lw a0,0x0(s0)
lw gp,0x18(sp)
lw t9,-0x7ed8(gp)
bal 0x0002bbc8
_or a0,s1,zero
lw gp,0x18(sp)
lw t9,-0x7c20(gp)
jalr t9
_or a0,s7,zero
or v0,s0,zero
lw v1,0x30(sp)
lw a0,0x3c(sp)
lw gp,0x18(sp)
lw v1,0x0(v1)
bne a0,v1,0x0001554c
_lw ra,0x64(sp)
lw s8,0x60(sp)
lw s7,0x5c(sp)
lw s6,0x58(sp)
lw s5,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
jr ra
_addiu sp,sp,0x68
lw v0,0x6c(sp)
lw t9,-0x7f98(gp)
addiu a0,v0,0x2d
lw v0,0x70(sp)
bal 0x0003469c
_andi s6,v0,0x2000
lbu v1,0x0(s1)
or s7,v0,zero
beq v1,zero,0x000153b8
_lw gp,0x18(sp)
beq s6,zero,0x00015460
_lw t9,-0x7cbc(gp)
lw v1,-0x7fc8(gp)
or a0,v0,zero
addiu v0,v1,0x7a0
lbu a1,0x7a0(v1)
lbu v1,0x1(v0)
lbu v0,0x2(v0)
sb a1,0x0(s7)
sb v1,0x1(s7)
jalr t9
_sb v0,0x2(s7)
lw gp,0x18(sp)
addu a0,s7,v0
lw a1,0x24(sp)
or s1,v0,zero
lw t9,-0x7c28(gp)
jalr t9
_lw a2,0x6c(sp)
lw gp,0x18(sp)
lw v0,0x6c(sp)
lw a1,-0x7fc8(gp)
addu s4,v0,s1
addu s1,s7,s4
addiu a1,a1,0x76c
lw t9,-0x7c48(gp)
jalr t9
_or a0,s1,zero
subu v0,v0,s1
lw gp,0x18(sp)
sw s7,0x24(sp)
addu v0,v0,s4
b 0x000150a0
_sw v0,0x6c(sp)
lw t9,-0x7f98(gp)
bal 0x0003469c
_li a0,0x100
b 0x00015000
_lw gp,0x18(sp)
beq a0,zero,0x000152c8
_lui v0,0x2aa
ori v0,v0,0xaaaa
sltu v0,s1,v0
beq v0,zero,0x000152e8
_addiu v0,s1,0x1
srl s1,s1,0x1
addu s1,v0,s1
sll a1,s1,0x5
lw t9,-0x7fb8(gp)
bal 0x000346f0
_nop
lw gp,0x18(sp)
or a0,v0,zero
lw s6,0xc(s0)
b 0x00014fe4
_sw v0,0x8(s0)
or a3,v0,zero
lw v0,0x38(sp)
lw t9,-0x7c90(gp)
or a1,zero,zero
lw a2,0x28(sp)
or a0,zero,zero
sw s6,0x14(sp)
jalr t9
_sw v0,0x10(sp)
b 0x00015060
_lw gp,0x18(sp)
beq s1,zero,0x000152f4
_li a1,0x40
srl v0,s1,0x1b
sll a1,s1,0x5
bltz a1,0x000152e8
_sltu v0,zero,v0
beq v0,zero,0x00015280
_lw t9,-0x7fb8(gp)
lw t9,-0x7fbc(gp)
bal 0x00034990
_nop
b 0x0001527c
_li s1,0x2
lw v0,0x1c(s0)
lw t9,-0x7cbc(gp)
lw a0,0x4(s1)
addiu v0,v0,0x1
jalr t9
_sw v0,0x1c(s0)
lbu v1,0x1(s1)
or s3,v0,zero
lw gp,0x18(sp)
lbu s2,0x2(s1)
addu v1,v1,v0
lw t9,-0x7f98(gp)
addu s2,v1,s2
bal 0x0003469c
_or a0,s2,zero
or a2,s3,zero
lw v1,0x34(sp)
or s4,v0,zero
lw gp,0x18(sp)
lbu a0,0x20(s0)
lb s5,0x0(v1)
lw t9,-0x7c28(gp)
sb s5,0x0(v0)
lbu v0,0x1(s1)
lw a1,0x4(s1)
addu v1,s4,v0
or v0,v0,a0
sb v0,0x20(s0)
jalr t9
_or a0,v1,zero
or v1,v0,zero
lbu v0,0x2(s1)
beq v0,zero,0x0001538c
_lw gp,0x18(sp)
addu s3,v1,s3
sb s5,0x0(s3)
lw t9,-0x7ee0(gp)
or a2,s2,zero
lw a0,0x0(s0)
bal 0x0001c800
_or a1,s4,zero
lw gp,0x18(sp)
lw t9,-0x7c20(gp)
jalr t9
_or a0,s4,zero
b 0x00015120
_lw gp,0x18(sp)
bne s6,zero,0x000154b0
_lw v1,-0x7fc8(gp)
lw v1,-0x7fc8(gp)
or a0,v0,zero
lw t9,-0x7cbc(gp)
addiu v0,v1,0x788
lw a3,0x788(v1)
lw a2,0x4(v0)
lw a1,0x8(v0)
lw v1,0xc(v0)
swl a3,0x0(s7)
swr a3,0x3(s7)
swl a2,0x4(s7)
swr a2,0x7(s7)
swl a1,0x8(s7)
swr a1,0xb(s7)
swl v1,0xc(s7)
swr v1,0xf(s7)
lw v1,0x10(v0)
lbu a1,0x14(v0)
swl v1,0x10(s7)
swr v1,0x13(s7)
sb a1,0x14(s7)
lbu v1,0x15(v0)
lbu v0,0x16(v0)
sb v1,0x15(s7)
jalr t9
_sb v0,0x16(s7)
lw gp,0x18(sp)
addu a0,s7,v0
lw a1,0x24(sp)
or s1,v0,zero
lw t9,-0x7c28(gp)
jalr t9
_lw a2,0x6c(sp)
lw gp,0x18(sp)
lw v0,0x6c(sp)
lw a1,-0x7fc8(gp)
addu s4,v0,s1
addu s1,s7,s4
b 0x00015220
_addiu a1,a1,0x754
or a0,v0,zero
lw v0,-0x7fc8(gp)
lw v0,0x7a4(v0)
swl v0,0x0(s7)
jalr t9
_swr v0,0x3(s7)
lw gp,0x18(sp)
addu a0,s7,v0
lw a1,0x24(sp)
or s1,v0,zero
lw t9,-0x7c28(gp)
jalr t9
_lw a2,0x6c(sp)
lw gp,0x18(sp)
lw v0,0x6c(sp)
lw a1,-0x7fc8(gp)
addu s4,v0,s1
addu s1,s7,s4
b 0x00015220
_addiu a1,a1,0x770
or a0,v0,zero
lw t9,-0x7cbc(gp)
addiu v0,v1,0x774
lw a3,0x774(v1)
lw a2,0x4(v0)
lw a1,0x8(v0)
lw v1,0xc(v0)
lbu t2,0x10(v0)
lbu t1,0x11(v0)
lbu v0,0x12(v0)
swl a3,0x0(s7)
swr a3,0x3(s7)
swl a2,0x4(s7)
swr a2,0x7(s7)
swl a1,0x8(s7)
swr a1,0xb(s7)
swl v1,0xc(s7)
swr v1,0xf(s7)
sb t2,0x10(s7)
sb t1,0x11(s7)
jalr t9
_sb v0,0x12(s7)
lw gp,0x18(sp)
addu a0,s7,v0
lw a1,0x24(sp)
or s1,v0,zero
lw t9,-0x7c28(gp)
jalr t9
_lw a2,0x6c(sp)
lw gp,0x18(sp)
lw v0,0x6c(sp)
lw a1,-0x7fc8(gp)
addu s4,v0,s1
addu s1,s7,s4
b 0x00015220
_addiu a1,a1,0x740
lw t9,-0x7cb0(gp)
jalr t9
_li a0,0x2
lw t9,-0x7c4c(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nundefined4 * GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined1 uVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined1 uVar6;\n  bool bVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *******pppppppcVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  char *******pppppppcVar23;\n  uint uVar24;\n  uint uVar25;\n  int iVar26;\n  int *piVar27;\n  undefined4 uVar28;\n  undefined4 uVar29;\n  uint *puVar30;\n  char *******pppppppcVar31;\n  char *******pppppppcVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  char *******pppppppcVar36;\n  char *******pppppppcVar37;\n  int *piVar38;\n  char *******pppppppcVar39;\n  int iVar40;\n  uint uVar41;\n  uint uVar42;\n  undefined4 *puVar43;\n  undefined *puVar44;\n  char *******pppppppcVar45;\n  code *pcVar46;\n  char *******local_res4;\n  uint local_res8;\n  char *******pppppppcStack_f0;\n  uint uStack_e8;\n  char *******pppppppcStack_d8;\n  char cStack_a9;\n  char *******pppppppcStack_a8;\n  int iStack_a4;\n  int aiStack_a0 [3];\n  int iStack_94;\n  undefined4 *puStack_90;\n  char *pcStack_8c;\n  char *pcStack_88;\n  char *******pppppppcStack_84;\n  char *******pppppppcStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  undefined4 *puStack_74;\n  undefined4 *puStack_70;\n  code *pcStack_6c;\n  char *******local_58;\n  int local_54;\n  undefined4 *local_44;\n  char *******local_30;\n  int *local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_000564b4;\n  pcVar18 = PTR_match_icase_00056190;\n  local_2c = *(int **)PTR___stack_chk_guard_000564b4;\n  puVar11 = (undefined4 *)xcalloc(1,0x24);\n  uVar12 = dfaalloc();\n  cVar1 = *pcVar18;\n  puVar11[1] = uVar12;\n  puVar44 = PTR_eolbyte_00056138;\n  local_res8 = param_3;\n  if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }\n  pppppppcVar36 = (char *******)&local_30;\n  pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  uVar12 = 2;\n  uVar35 = 0;\n  if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }\n  dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);\n  uVar42 = puVar11[3];\n  bVar7 = false;\n  puVar13 = PTR_wcrtomb_00056118 + 0x734;\n  puVar14 = PTR_wcrtomb_00056118 + 0x830;\n  puVar19 = param_1;\n  do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);\n  if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }\n  puVar30 = (uint *)0x1;\n  pcVar16 = (char *)puVar11[1];\n  dfacomp(local_44);\n  pcVar17 = (char *)dfamust(puVar11[1]);\n  if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }\n  (*(code *)PTR_free_000564c0)(puVar19);\n  if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }\n  pcVar46 = EGexecute;\n  piVar27 = local_2c;\n  puVar44 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pppppppcVar10 = local_58;\n  piVar20 = *(int **)(puVar44 + 0x40f5c);\n  pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);\n  pcVar16 = *(char **)(puVar44 + 0x40be0);\n  iVar33 = piVar27[1];\n  iStack_94 = *piVar20;\n  puStack_90 = puVar11;\n  pcStack_8c = pcVar17;\n  pcStack_88 = pcVar18;\n  pppppppcStack_84 = pppppppcVar39;\n  pppppppcStack_80 = pppppppcVar36;\n  iStack_7c = iVar40;\n  uStack_78 = uVar42;\n  puStack_74 = puVar19;\n  puStack_70 = puVar15;\n  pcStack_6c = pcVar46;\n  iVar40 = dfasuperset(iVar33);\n  iVar26 = (int)*pcVar16;\n  iVar33 = dfaisfast(iVar33);\n  pppppppcStack_a8 = local_res4;\n  if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }\n  puVar11 = (undefined4 *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }\n  pcVar46 = *(code **)(puVar44 + 0x40f3c);\n  (*pcVar46)();\n  puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);\n  puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);\n  return puVar11;\n}\n\n" comment (function_definition "undefined4 * GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined1 uVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined1 uVar6;\n  bool bVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *******pppppppcVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  char *******pppppppcVar23;\n  uint uVar24;\n  uint uVar25;\n  int iVar26;\n  int *piVar27;\n  undefined4 uVar28;\n  undefined4 uVar29;\n  uint *puVar30;\n  char *******pppppppcVar31;\n  char *******pppppppcVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  char *******pppppppcVar36;\n  char *******pppppppcVar37;\n  int *piVar38;\n  char *******pppppppcVar39;\n  int iVar40;\n  uint uVar41;\n  uint uVar42;\n  undefined4 *puVar43;\n  undefined *puVar44;\n  char *******pppppppcVar45;\n  code *pcVar46;\n  char *******local_res4;\n  uint local_res8;\n  char *******pppppppcStack_f0;\n  uint uStack_e8;\n  char *******pppppppcStack_d8;\n  char cStack_a9;\n  char *******pppppppcStack_a8;\n  int iStack_a4;\n  int aiStack_a0 [3];\n  int iStack_94;\n  undefined4 *puStack_90;\n  char *pcStack_8c;\n  char *pcStack_88;\n  char *******pppppppcStack_84;\n  char *******pppppppcStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  undefined4 *puStack_74;\n  undefined4 *puStack_70;\n  code *pcStack_6c;\n  char *******local_58;\n  int local_54;\n  undefined4 *local_44;\n  char *******local_30;\n  int *local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_000564b4;\n  pcVar18 = PTR_match_icase_00056190;\n  local_2c = *(int **)PTR___stack_chk_guard_000564b4;\n  puVar11 = (undefined4 *)xcalloc(1,0x24);\n  uVar12 = dfaalloc();\n  cVar1 = *pcVar18;\n  puVar11[1] = uVar12;\n  puVar44 = PTR_eolbyte_00056138;\n  local_res8 = param_3;\n  if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }\n  pppppppcVar36 = (char *******)&local_30;\n  pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  uVar12 = 2;\n  uVar35 = 0;\n  if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }\n  dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);\n  uVar42 = puVar11[3];\n  bVar7 = false;\n  puVar13 = PTR_wcrtomb_00056118 + 0x734;\n  puVar14 = PTR_wcrtomb_00056118 + 0x830;\n  puVar19 = param_1;\n  do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);\n  if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }\n  puVar30 = (uint *)0x1;\n  pcVar16 = (char *)puVar11[1];\n  dfacomp(local_44);\n  pcVar17 = (char *)dfamust(puVar11[1]);\n  if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }\n  (*(code *)PTR_free_000564c0)(puVar19);\n  if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }\n  pcVar46 = EGexecute;\n  piVar27 = local_2c;\n  puVar44 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pppppppcVar10 = local_58;\n  piVar20 = *(int **)(puVar44 + 0x40f5c);\n  pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);\n  pcVar16 = *(char **)(puVar44 + 0x40be0);\n  iVar33 = piVar27[1];\n  iStack_94 = *piVar20;\n  puStack_90 = puVar11;\n  pcStack_8c = pcVar17;\n  pcStack_88 = pcVar18;\n  pppppppcStack_84 = pppppppcVar39;\n  pppppppcStack_80 = pppppppcVar36;\n  iStack_7c = iVar40;\n  uStack_78 = uVar42;\n  puStack_74 = puVar19;\n  puStack_70 = puVar15;\n  pcStack_6c = pcVar46;\n  iVar40 = dfasuperset(iVar33);\n  iVar26 = (int)*pcVar16;\n  iVar33 = dfaisfast(iVar33);\n  pppppppcStack_a8 = local_res4;\n  if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }\n  puVar11 = (undefined4 *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }\n  pcVar46 = *(code **)(puVar44 + 0x40f3c);\n  (*pcVar46)();\n  puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);\n  puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);\n  return puVar11;\n}" type_identifier (pointer_declarator "* GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)" * (function_declarator "GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)" identifier (parameter_list "(undefined4 *param_1,char *******param_2,uint param_3)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *******param_2" primitive_type (pointer_declarator "*******param_2" * (pointer_declarator "******param_2" * (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier)))))))) , (parameter_declaration "uint param_3" type_identifier identifier) )))) (compound_statement "{\n  char cVar1;\n  undefined1 uVar2;\n  undefined1 uVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined1 uVar6;\n  bool bVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *******pppppppcVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  char *******pppppppcVar23;\n  uint uVar24;\n  uint uVar25;\n  int iVar26;\n  int *piVar27;\n  undefined4 uVar28;\n  undefined4 uVar29;\n  uint *puVar30;\n  char *******pppppppcVar31;\n  char *******pppppppcVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  char *******pppppppcVar36;\n  char *******pppppppcVar37;\n  int *piVar38;\n  char *******pppppppcVar39;\n  int iVar40;\n  uint uVar41;\n  uint uVar42;\n  undefined4 *puVar43;\n  undefined *puVar44;\n  char *******pppppppcVar45;\n  code *pcVar46;\n  char *******local_res4;\n  uint local_res8;\n  char *******pppppppcStack_f0;\n  uint uStack_e8;\n  char *******pppppppcStack_d8;\n  char cStack_a9;\n  char *******pppppppcStack_a8;\n  int iStack_a4;\n  int aiStack_a0 [3];\n  int iStack_94;\n  undefined4 *puStack_90;\n  char *pcStack_8c;\n  char *pcStack_88;\n  char *******pppppppcStack_84;\n  char *******pppppppcStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  undefined4 *puStack_74;\n  undefined4 *puStack_70;\n  code *pcStack_6c;\n  char *******local_58;\n  int local_54;\n  undefined4 *local_44;\n  char *******local_30;\n  int *local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_000564b4;\n  pcVar18 = PTR_match_icase_00056190;\n  local_2c = *(int **)PTR___stack_chk_guard_000564b4;\n  puVar11 = (undefined4 *)xcalloc(1,0x24);\n  uVar12 = dfaalloc();\n  cVar1 = *pcVar18;\n  puVar11[1] = uVar12;\n  puVar44 = PTR_eolbyte_00056138;\n  local_res8 = param_3;\n  if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }\n  pppppppcVar36 = (char *******)&local_30;\n  pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  uVar12 = 2;\n  uVar35 = 0;\n  if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }\n  dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);\n  uVar42 = puVar11[3];\n  bVar7 = false;\n  puVar13 = PTR_wcrtomb_00056118 + 0x734;\n  puVar14 = PTR_wcrtomb_00056118 + 0x830;\n  puVar19 = param_1;\n  do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);\n  if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }\n  puVar30 = (uint *)0x1;\n  pcVar16 = (char *)puVar11[1];\n  dfacomp(local_44);\n  pcVar17 = (char *)dfamust(puVar11[1]);\n  if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }\n  (*(code *)PTR_free_000564c0)(puVar19);\n  if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }\n  pcVar46 = EGexecute;\n  piVar27 = local_2c;\n  puVar44 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pppppppcVar10 = local_58;\n  piVar20 = *(int **)(puVar44 + 0x40f5c);\n  pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);\n  pcVar16 = *(char **)(puVar44 + 0x40be0);\n  iVar33 = piVar27[1];\n  iStack_94 = *piVar20;\n  puStack_90 = puVar11;\n  pcStack_8c = pcVar17;\n  pcStack_88 = pcVar18;\n  pppppppcStack_84 = pppppppcVar39;\n  pppppppcStack_80 = pppppppcVar36;\n  iStack_7c = iVar40;\n  uStack_78 = uVar42;\n  puStack_74 = puVar19;\n  puStack_70 = puVar15;\n  pcStack_6c = pcVar46;\n  iVar40 = dfasuperset(iVar33);\n  iVar26 = (int)*pcVar16;\n  iVar33 = dfaisfast(iVar33);\n  pppppppcStack_a8 = local_res4;\n  if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }\n  puVar11 = (undefined4 *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }\n  pcVar46 = *(code **)(puVar44 + 0x40f3c);\n  (*pcVar46)();\n  puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);\n  puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);\n  return puVar11;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "undefined1 uVar6;" type_identifier identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char *******pppppppcVar10;" primitive_type (pointer_declarator "*******pppppppcVar10" * (pointer_declarator "******pppppppcVar10" * (pointer_declarator "*****pppppppcVar10" * (pointer_declarator "****pppppppcVar10" * (pointer_declarator "***pppppppcVar10" * (pointer_declarator "**pppppppcVar10" * (pointer_declarator "*pppppppcVar10" * identifier))))))) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "char *******pppppppcVar23;" primitive_type (pointer_declarator "*******pppppppcVar23" * (pointer_declarator "******pppppppcVar23" * (pointer_declarator "*****pppppppcVar23" * (pointer_declarator "****pppppppcVar23" * (pointer_declarator "***pppppppcVar23" * (pointer_declarator "**pppppppcVar23" * (pointer_declarator "*pppppppcVar23" * identifier))))))) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "undefined4 uVar28;" type_identifier identifier ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "uint *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "char *******pppppppcVar31;" primitive_type (pointer_declarator "*******pppppppcVar31" * (pointer_declarator "******pppppppcVar31" * (pointer_declarator "*****pppppppcVar31" * (pointer_declarator "****pppppppcVar31" * (pointer_declarator "***pppppppcVar31" * (pointer_declarator "**pppppppcVar31" * (pointer_declarator "*pppppppcVar31" * identifier))))))) ;) (declaration "char *******pppppppcVar32;" primitive_type (pointer_declarator "*******pppppppcVar32" * (pointer_declarator "******pppppppcVar32" * (pointer_declarator "*****pppppppcVar32" * (pointer_declarator "****pppppppcVar32" * (pointer_declarator "***pppppppcVar32" * (pointer_declarator "**pppppppcVar32" * (pointer_declarator "*pppppppcVar32" * identifier))))))) ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "char *******pppppppcVar36;" primitive_type (pointer_declarator "*******pppppppcVar36" * (pointer_declarator "******pppppppcVar36" * (pointer_declarator "*****pppppppcVar36" * (pointer_declarator "****pppppppcVar36" * (pointer_declarator "***pppppppcVar36" * (pointer_declarator "**pppppppcVar36" * (pointer_declarator "*pppppppcVar36" * identifier))))))) ;) (declaration "char *******pppppppcVar37;" primitive_type (pointer_declarator "*******pppppppcVar37" * (pointer_declarator "******pppppppcVar37" * (pointer_declarator "*****pppppppcVar37" * (pointer_declarator "****pppppppcVar37" * (pointer_declarator "***pppppppcVar37" * (pointer_declarator "**pppppppcVar37" * (pointer_declarator "*pppppppcVar37" * identifier))))))) ;) (declaration "int *piVar38;" primitive_type (pointer_declarator "*piVar38" * identifier) ;) (declaration "char *******pppppppcVar39;" primitive_type (pointer_declarator "*******pppppppcVar39" * (pointer_declarator "******pppppppcVar39" * (pointer_declarator "*****pppppppcVar39" * (pointer_declarator "****pppppppcVar39" * (pointer_declarator "***pppppppcVar39" * (pointer_declarator "**pppppppcVar39" * (pointer_declarator "*pppppppcVar39" * identifier))))))) ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "uint uVar41;" type_identifier identifier ;) (declaration "uint uVar42;" type_identifier identifier ;) (declaration "undefined4 *puVar43;" type_identifier (pointer_declarator "*puVar43" * identifier) ;) (declaration "undefined *puVar44;" type_identifier (pointer_declarator "*puVar44" * identifier) ;) (declaration "char *******pppppppcVar45;" primitive_type (pointer_declarator "*******pppppppcVar45" * (pointer_declarator "******pppppppcVar45" * (pointer_declarator "*****pppppppcVar45" * (pointer_declarator "****pppppppcVar45" * (pointer_declarator "***pppppppcVar45" * (pointer_declarator "**pppppppcVar45" * (pointer_declarator "*pppppppcVar45" * identifier))))))) ;) (declaration "code *pcVar46;" type_identifier (pointer_declarator "*pcVar46" * identifier) ;) (declaration "char *******local_res4;" primitive_type (pointer_declarator "*******local_res4" * (pointer_declarator "******local_res4" * (pointer_declarator "*****local_res4" * (pointer_declarator "****local_res4" * (pointer_declarator "***local_res4" * (pointer_declarator "**local_res4" * (pointer_declarator "*local_res4" * identifier))))))) ;) (declaration "uint local_res8;" type_identifier identifier ;) (declaration "char *******pppppppcStack_f0;" primitive_type (pointer_declarator "*******pppppppcStack_f0" * (pointer_declarator "******pppppppcStack_f0" * (pointer_declarator "*****pppppppcStack_f0" * (pointer_declarator "****pppppppcStack_f0" * (pointer_declarator "***pppppppcStack_f0" * (pointer_declarator "**pppppppcStack_f0" * (pointer_declarator "*pppppppcStack_f0" * identifier))))))) ;) (declaration "uint uStack_e8;" type_identifier identifier ;) (declaration "char *******pppppppcStack_d8;" primitive_type (pointer_declarator "*******pppppppcStack_d8" * (pointer_declarator "******pppppppcStack_d8" * (pointer_declarator "*****pppppppcStack_d8" * (pointer_declarator "****pppppppcStack_d8" * (pointer_declarator "***pppppppcStack_d8" * (pointer_declarator "**pppppppcStack_d8" * (pointer_declarator "*pppppppcStack_d8" * identifier))))))) ;) (declaration "char cStack_a9;" primitive_type identifier ;) (declaration "char *******pppppppcStack_a8;" primitive_type (pointer_declarator "*******pppppppcStack_a8" * (pointer_declarator "******pppppppcStack_a8" * (pointer_declarator "*****pppppppcStack_a8" * (pointer_declarator "****pppppppcStack_a8" * (pointer_declarator "***pppppppcStack_a8" * (pointer_declarator "**pppppppcStack_a8" * (pointer_declarator "*pppppppcStack_a8" * identifier))))))) ;) (declaration "int iStack_a4;" primitive_type identifier ;) (declaration "int aiStack_a0 [3];" primitive_type (array_declarator "aiStack_a0 [3]" identifier [ number_literal ]) ;) (declaration "int iStack_94;" primitive_type identifier ;) (declaration "undefined4 *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "char *pcStack_8c;" primitive_type (pointer_declarator "*pcStack_8c" * identifier) ;) (declaration "char *pcStack_88;" primitive_type (pointer_declarator "*pcStack_88" * identifier) ;) (declaration "char *******pppppppcStack_84;" primitive_type (pointer_declarator "*******pppppppcStack_84" * (pointer_declarator "******pppppppcStack_84" * (pointer_declarator "*****pppppppcStack_84" * (pointer_declarator "****pppppppcStack_84" * (pointer_declarator "***pppppppcStack_84" * (pointer_declarator "**pppppppcStack_84" * (pointer_declarator "*pppppppcStack_84" * identifier))))))) ;) (declaration "char *******pppppppcStack_80;" primitive_type (pointer_declarator "*******pppppppcStack_80" * (pointer_declarator "******pppppppcStack_80" * (pointer_declarator "*****pppppppcStack_80" * (pointer_declarator "****pppppppcStack_80" * (pointer_declarator "***pppppppcStack_80" * (pointer_declarator "**pppppppcStack_80" * (pointer_declarator "*pppppppcStack_80" * identifier))))))) ;) (declaration "int iStack_7c;" primitive_type identifier ;) (declaration "uint uStack_78;" type_identifier identifier ;) (declaration "undefined4 *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "undefined4 *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "code *pcStack_6c;" type_identifier (pointer_declarator "*pcStack_6c" * identifier) ;) (declaration "char *******local_58;" primitive_type (pointer_declarator "*******local_58" * (pointer_declarator "******local_58" * (pointer_declarator "*****local_58" * (pointer_declarator "****local_58" * (pointer_declarator "***local_58" * (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier))))))) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char *******local_30;" primitive_type (pointer_declarator "*******local_30" * (pointer_declarator "******local_30" * (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier))))))) ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar9 = PTR___stack_chk_guard_000564b4;" (assignment_expression "puVar9 = PTR___stack_chk_guard_000564b4" identifier = identifier) ;) (expression_statement "pcVar18 = PTR_match_icase_00056190;" (assignment_expression "pcVar18 = PTR_match_icase_00056190" identifier = identifier) ;) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_000564b4;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_000564b4" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_000564b4" * (cast_expression "(int **)PTR___stack_chk_guard_000564b4" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar11 = (undefined4 *)xcalloc(1,0x24);" (assignment_expression "puVar11 = (undefined4 *)xcalloc(1,0x24)" identifier = (cast_expression "(undefined4 *)xcalloc(1,0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xcalloc(1,0x24)" identifier (argument_list "(1,0x24)" ( number_literal , number_literal ))))) ;) (expression_statement "uVar12 = dfaalloc();" (assignment_expression "uVar12 = dfaalloc()" identifier = (call_expression "dfaalloc()" identifier (argument_list "()" ( )))) ;) (expression_statement "cVar1 = *pcVar18;" (assignment_expression "cVar1 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (expression_statement "puVar11[1] = uVar12;" (assignment_expression "puVar11[1] = uVar12" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar44 = PTR_eolbyte_00056138;" (assignment_expression "puVar44 = PTR_eolbyte_00056138" identifier = identifier) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (if_statement "if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_res8 = param_3 | 0x400000;\n  }" { (expression_statement "local_res8 = param_3 | 0x400000;" (assignment_expression "local_res8 = param_3 | 0x400000" identifier = (binary_expression "param_3 | 0x400000" identifier | number_literal)) ;) })) (expression_statement "pppppppcVar36 = (char *******)&local_30;" (assignment_expression "pppppppcVar36 = (char *******)&local_30" identifier = (cast_expression "(char *******)&local_30" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_30" & identifier))) ;) (expression_statement "pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);" (assignment_expression "pppppppcVar39 = (char *******)((int)param_1 + (int)param_2)" identifier = (cast_expression "(char *******)((int)param_1 + (int)param_2)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (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 "(*(code *)PTR_re_set_syntax_00056360)(local_res8);" (call_expression "(*(code *)PTR_re_set_syntax_00056360)(local_res8)" (parenthesized_expression "(*(code *)PTR_re_set_syntax_00056360)" ( (pointer_expression "*(code *)PTR_re_set_syntax_00056360" * (cast_expression "(code *)PTR_re_set_syntax_00056360" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_res8)" ( identifier ))) ;) (expression_statement "uVar12 = 2;" (assignment_expression "uVar12 = 2" identifier = number_literal) ;) (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;) (if_statement "if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }" if (parenthesized_expression "(*puVar44 != '\0')" ( (binary_expression "*puVar44 != '\0'" (pointer_expression "*puVar44" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar12 = 0;\n  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) })) (expression_statement "dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);" (call_expression "dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12)" identifier (argument_list "(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12)" ( (subscript_expression "puVar11[1]" identifier [ number_literal ]) , identifier , identifier , identifier ))) ;) (expression_statement "uVar42 = puVar11[3];" (assignment_expression "uVar42 = puVar11[3]" identifier = (subscript_expression "puVar11[3]" identifier [ number_literal ])) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x734;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x734" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x734" identifier + number_literal)) ;) (expression_statement "puVar14 = PTR_wcrtomb_00056118 + 0x830;" (assignment_expression "puVar14 = PTR_wcrtomb_00056118 + 0x830" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x830" identifier + number_literal)) ;) (expression_statement "puVar19 = param_1;" (assignment_expression "puVar19 = param_1" identifier = identifier) ;) (do_statement "do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);" do (compound_statement "{\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  }" { (expression_statement "iVar40 = (int)pppppppcVar39 - (int)puVar19;" (assignment_expression "iVar40 = (int)pppppppcVar39 - (int)puVar19" identifier = (binary_expression "(int)pppppppcVar39 - (int)puVar19" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);" (assignment_expression "puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40)" (parenthesized_expression "(*(code *)PTR_rpl_memchr_00056120)" ( (pointer_expression "*(code *)PTR_rpl_memchr_00056120" * (cast_expression "(code *)PTR_rpl_memchr_00056120" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19,10,iVar40)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }" if (parenthesized_expression "(puVar15 != (undefined4 *)0x0)" ( (binary_expression "puVar15 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }" { (expression_statement "iVar40 = (int)puVar15 - (int)puVar19;" (assignment_expression "iVar40 = (int)puVar15 - (int)puVar19" identifier = (binary_expression "(int)puVar15 - (int)puVar19" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar15 = (undefined4 *)((int)puVar15 + 1);" (assignment_expression "puVar15 = (undefined4 *)((int)puVar15 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar15 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 1)" ( (binary_expression "(int)puVar15 + 1" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar26 = puVar11[2];" (assignment_expression "iVar26 = puVar11[2]" identifier = (subscript_expression "puVar11[2]" identifier [ number_literal ])) ;) (if_statement "if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }" if (parenthesized_expression "(uVar35 <= uVar42)" ( (binary_expression "uVar35 <= uVar42" identifier <= identifier) )) (compound_statement "{\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }" { (if_statement "if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }" { (expression_statement "iVar33 = 0x40;" (assignment_expression "iVar33 = 0x40" identifier = number_literal) ;) (if_statement "if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }" if (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar35 = 2;\n        }" { (expression_statement "uVar35 = 2;" (assignment_expression "uVar35 = 2" identifier = number_literal) ;) }) (else_clause "else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }" else (compound_statement "{\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }" { (expression_statement "iVar33 = uVar35 << 5;" (assignment_expression "iVar33 = uVar35 << 5" identifier = (binary_expression "uVar35 << 5" identifier << number_literal)) ;) (if_statement "if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;" if (parenthesized_expression "((iVar33 < 0) || (uVar35 >> 0x1b != 0))" ( (binary_expression "(iVar33 < 0) || (uVar35 >> 0x1b != 0)" (parenthesized_expression "(iVar33 < 0)" ( (binary_expression "iVar33 < 0" identifier < number_literal) )) || (parenthesized_expression "(uVar35 >> 0x1b != 0)" ( (binary_expression "uVar35 >> 0x1b != 0" (binary_expression "uVar35 >> 0x1b" identifier >> number_literal) != number_literal) ))) )) (goto_statement "goto LAB_000152e8;" goto statement_identifier ;)) }))) }) (else_clause "else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }" else (compound_statement "{\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }" { (if_statement "if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }" if (parenthesized_expression "(0x2aaaaa9 < uVar35)" ( (binary_expression "0x2aaaaa9 < uVar35" number_literal < identifier) )) (compound_statement "{\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }" { (labeled_statement "LAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();" statement_identifier : comment (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "uVar35 = uVar35 + 1 + (uVar35 >> 1);" (assignment_expression "uVar35 = uVar35 + 1 + (uVar35 >> 1)" identifier = (binary_expression "uVar35 + 1 + (uVar35 >> 1)" (binary_expression "uVar35 + 1" identifier + number_literal) + (parenthesized_expression "(uVar35 >> 1)" ( (binary_expression "uVar35 >> 1" identifier >> number_literal) )))) ;) (expression_statement "iVar33 = uVar35 * 0x20;" (assignment_expression "iVar33 = uVar35 * 0x20" identifier = (binary_expression "uVar35 * 0x20" identifier * number_literal)) ;) }))) (expression_statement "iVar26 = xrealloc(iVar26,iVar33);" (assignment_expression "iVar26 = xrealloc(iVar26,iVar33)" identifier = (call_expression "xrealloc(iVar26,iVar33)" identifier (argument_list "(iVar26,iVar33)" ( identifier , identifier )))) ;) (expression_statement "uVar42 = puVar11[3];" (assignment_expression "uVar42 = puVar11[3]" identifier = (subscript_expression "puVar11[3]" identifier [ number_literal ])) ;) (expression_statement "puVar11[2] = iVar26;" (assignment_expression "puVar11[2] = iVar26" (subscript_expression "puVar11[2]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "cVar1 = *pcVar18;" (assignment_expression "cVar1 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (expression_statement "puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);" (assignment_expression "puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20)" identifier = (cast_expression "(undefined4 *)(iVar26 + uVar42 * 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + uVar42 * 0x20)" ( (binary_expression "iVar26 + uVar42 * 0x20" identifier + (binary_expression "uVar42 * 0x20" identifier * number_literal)) )))) ;) (expression_statement "*puVar43 = 0;" (assignment_expression "*puVar43 = 0" (pointer_expression "*puVar43" * identifier) = number_literal) ;) (expression_statement "puVar43[1] = 0;" (assignment_expression "puVar43[1] = 0" (subscript_expression "puVar43[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar12 = xmalloc(0x100);\n    }" { (expression_statement "uVar12 = xmalloc(0x100);" (assignment_expression "uVar12 = xmalloc(0x100)" identifier = (call_expression "xmalloc(0x100)" identifier (argument_list "(0x100)" ( number_literal )))) ;) }) (else_clause "else {\n      uVar12 = 0;\n    }" else (compound_statement "{\n      uVar12 = 0;\n    }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) }))) (expression_statement "puVar8 = PTR_re_compile_pattern_00056374;" (assignment_expression "puVar8 = PTR_re_compile_pattern_00056374" identifier = identifier) ;) (expression_statement "puVar43[4] = uVar12;" (assignment_expression "puVar43[4] = uVar12" (subscript_expression "puVar43[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar43[5] = 0;" (assignment_expression "puVar43[5] = 0" (subscript_expression "puVar43[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);" (assignment_expression "iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43)" identifier = (call_expression "(*(code *)puVar8)(puVar19,iVar40,puVar43)" (parenthesized_expression "(*(code *)puVar8)" ( (pointer_expression "*(code *)puVar8" * (cast_expression "(code *)puVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19,iVar40,puVar43)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }" { (expression_statement "pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);" (assignment_expression "pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36)" identifier = (cast_expression "(char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "pattern_file_name(puVar11[3] + 1,pppppppcVar36)" identifier (argument_list "(puVar11[3] + 1,pppppppcVar36)" ( (binary_expression "puVar11[3] + 1" (subscript_expression "puVar11[3]" identifier [ number_literal ]) + number_literal) , identifier ))))) ;) (if_statement "if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }" if (parenthesized_expression "(*pcVar16 == '\0')" ( (binary_expression "*pcVar16 == '\0'" (pointer_expression "*pcVar16" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }" { (expression_statement "(*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);" (call_expression "(*(code *)PTR_error_00056450)(0,0,puVar14,iVar26)" (parenthesized_expression "(*(code *)PTR_error_00056450)" ( (pointer_expression "*(code *)PTR_error_00056450" * (cast_expression "(code *)PTR_error_00056450" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,puVar14,iVar26)" ( number_literal , number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }" else (compound_statement "{\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }" { (expression_statement "local_58 = local_30;" (assignment_expression "local_58 = local_30" identifier = identifier) ;) (expression_statement "local_54 = iVar26;" (assignment_expression "local_54 = iVar26" identifier = identifier) ;) (expression_statement "(*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);" (call_expression "(*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16)" (parenthesized_expression "(*(code *)PTR_error_00056450)" ( (pointer_expression "*(code *)PTR_error_00056450" * (cast_expression "(code *)PTR_error_00056450" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,puVar13,pcVar16)" ( number_literal , number_literal , identifier , identifier ))) ;) }))) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) })) (expression_statement "uVar42 = puVar11[3] + 1;" (assignment_expression "uVar42 = puVar11[3] + 1" identifier = (binary_expression "puVar11[3] + 1" (subscript_expression "puVar11[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "puVar11[3] = uVar42;" (assignment_expression "puVar11[3] = uVar42" (subscript_expression "puVar11[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8 = PTR_match_lines_000561b8;" (assignment_expression "puVar8 = PTR_match_lines_000561b8" identifier = identifier) ;) (expression_statement "puVar19 = puVar15;" (assignment_expression "puVar19 = puVar15" identifier = identifier) ;) }) while (parenthesized_expression "(puVar15 != (undefined4 *)0x0)" ( (binary_expression "puVar15 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }" { (expression_statement "puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);" (assignment_expression "puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_exit_00056430)(2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_exit_00056430)(2)" (parenthesized_expression "(*(code *)PTR_exit_00056430)" ( (pointer_expression "*(code *)PTR_exit_00056430" * (cast_expression "(code *)PTR_exit_00056430" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))))) ;) (return_statement "return puVar11;" return identifier ;) })) (if_statement "if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }" if (parenthesized_expression "((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'))" ( (binary_expression "(*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')" (parenthesized_expression "(*PTR_match_words_000561b4 != '\0')" ( (binary_expression "*PTR_match_words_000561b4 != '\0'" (pointer_expression "*PTR_match_words_000561b4" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')" ( (comma_expression "puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'" (assignment_expression "puVar19 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (comma_expression "local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'" (assignment_expression "local_res4 = param_2" identifier = identifier) , (comma_expression "local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'" (assignment_expression "local_44 = param_1" identifier = identifier) , (binary_expression "*PTR_match_lines_000561b8 != '\0'" (pointer_expression "*PTR_match_lines_000561b8" * identifier) != (char_literal "'\0'" ' escape_sequence '))))) ))) )) (compound_statement "{\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }" { (expression_statement "uVar42 = local_res8 & 0x2000;" (assignment_expression "uVar42 = local_res8 & 0x2000" identifier = (binary_expression "local_res8 & 0x2000" identifier & number_literal)) ;) (expression_statement "puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));" (assignment_expression "puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d))" identifier = (cast_expression "(undefined4 *)xmalloc((char *)((int)param_2 + 0x2d))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc((char *)((int)param_2 + 0x2d))" identifier (argument_list "((char *)((int)param_2 + 0x2d))" ( (cast_expression "(char *)((int)param_2 + 0x2d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2d)" ( (binary_expression "(int)param_2 + 0x2d" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))))) ;) (expression_statement "puVar14 = PTR_strlen_00056424;" (assignment_expression "puVar14 = PTR_strlen_00056424" identifier = identifier) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118" identifier = identifier) ;) (if_statement "if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" if (parenthesized_expression "(*puVar8 == '\0')" ( (binary_expression "*puVar8 == '\0'" (pointer_expression "*puVar8" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }" { (if_statement "if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }" if (parenthesized_expression "(uVar42 == 0)" ( (binary_expression "uVar42 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }" { (expression_statement "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);" (assignment_expression "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x78c)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x78c" identifier + number_literal) ))))) ;) (expression_statement "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);" (assignment_expression "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x790)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x790)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x790)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x790" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);" (assignment_expression "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x794)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x794)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x794)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x794" identifier + number_literal) ))))) ;) (expression_statement "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);" (assignment_expression "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788)" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x788)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x788)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x788)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x788" identifier + number_literal) ))))) ;) (expression_statement "puVar19[1] = uVar29;" (assignment_expression "puVar19[1] = uVar29" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[2] = uVar28;" (assignment_expression "puVar19[2] = uVar28" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[3] = uVar12;" (assignment_expression "puVar19[3] = uVar12" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = puVar13[0x79c];" (assignment_expression "uVar2 = puVar13[0x79c]" identifier = (subscript_expression "puVar13[0x79c]" identifier [ number_literal ])) ;) (expression_statement "puVar19[4] = *(undefined4 *)(puVar13 + 0x798);" (assignment_expression "puVar19[4] = *(undefined4 *)(puVar13 + 0x798)" (subscript_expression "puVar19[4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(puVar13 + 0x798)" * (cast_expression "(undefined4 *)(puVar13 + 0x798)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x798)" ( (binary_expression "puVar13 + 0x798" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar19 + 5) = uVar2;" (assignment_expression "*(undefined1 *)(puVar19 + 5) = uVar2" (pointer_expression "*(undefined1 *)(puVar19 + 5)" * (cast_expression "(undefined1 *)(puVar19 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 5)" ( (binary_expression "puVar19 + 5" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar2 = puVar13[0x79e];" (assignment_expression "uVar2 = puVar13[0x79e]" identifier = (subscript_expression "puVar13[0x79e]" identifier [ number_literal ])) ;) (expression_statement "*(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];" (assignment_expression "*(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d]" (pointer_expression "*(undefined *)((int)puVar19 + 0x15)" * (cast_expression "(undefined *)((int)puVar19 + 0x15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 0x15)" ( (binary_expression "(int)puVar19 + 0x15" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar13[0x79d]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 0x16) = uVar2;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0x16) = uVar2" (pointer_expression "*(undefined1 *)((int)puVar19 + 0x16)" * (cast_expression "(undefined1 *)((int)puVar19 + 0x16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 0x16)" ( (binary_expression "(int)puVar19 + 0x16" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" identifier = (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" ( (pointer_expression "*(code *)PTR_memcpy_000564b8" * (cast_expression "(code *)PTR_memcpy_000564b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" ( (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + iVar26)" ( (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier , identifier ))) ;) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" identifier = (cast_expression "(char *******)((int)param_2 + iVar26)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_2 + iVar26)" ( (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" identifier = (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" ( (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x754;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x754" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x754" identifier + number_literal)) ;) }) (else_clause "else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }" else (compound_statement "{\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }" { (expression_statement "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);" (assignment_expression "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x778)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x778)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x778)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x778" identifier + number_literal) ))))) ;) (expression_statement "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);" (assignment_expression "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x77c)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x77c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);" (assignment_expression "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x780)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x780)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x780)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x780" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = PTR_wcrtomb_00056118[0x784];" (assignment_expression "uVar2 = PTR_wcrtomb_00056118[0x784]" identifier = (subscript_expression "PTR_wcrtomb_00056118[0x784]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = PTR_wcrtomb_00056118[0x785];" (assignment_expression "uVar3 = PTR_wcrtomb_00056118[0x785]" identifier = (subscript_expression "PTR_wcrtomb_00056118[0x785]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = PTR_wcrtomb_00056118[0x786];" (assignment_expression "uVar6 = PTR_wcrtomb_00056118[0x786]" identifier = (subscript_expression "PTR_wcrtomb_00056118[0x786]" identifier [ number_literal ])) ;) (expression_statement "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);" (assignment_expression "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774)" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x774)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x774)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x774)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x774" identifier + number_literal) ))))) ;) (expression_statement "puVar19[1] = uVar29;" (assignment_expression "puVar19[1] = uVar29" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[2] = uVar28;" (assignment_expression "puVar19[2] = uVar28" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[3] = uVar12;" (assignment_expression "puVar19[3] = uVar12" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(puVar19 + 4) = uVar2;" (assignment_expression "*(undefined1 *)(puVar19 + 4) = uVar2" (pointer_expression "*(undefined1 *)(puVar19 + 4)" * (cast_expression "(undefined1 *)(puVar19 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 4)" ( (binary_expression "puVar19 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 0x11) = uVar3;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0x11) = uVar3" (pointer_expression "*(undefined1 *)((int)puVar19 + 0x11)" * (cast_expression "(undefined1 *)((int)puVar19 + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 0x11)" ( (binary_expression "(int)puVar19 + 0x11" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 0x12) = uVar6;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0x12) = uVar6" (pointer_expression "*(undefined1 *)((int)puVar19 + 0x12)" * (cast_expression "(undefined1 *)((int)puVar19 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 0x12)" ( (binary_expression "(int)puVar19 + 0x12" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" identifier = (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" ( (pointer_expression "*(code *)PTR_memcpy_000564b8" * (cast_expression "(code *)PTR_memcpy_000564b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" ( (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + iVar26)" ( (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier , identifier ))) ;) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" identifier = (cast_expression "(char *******)((int)param_2 + iVar26)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_2 + iVar26)" ( (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" identifier = (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" ( (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x740;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x740" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x740" identifier + number_literal)) ;) }))) }) (else_clause "else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" else (if_statement "if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" if (parenthesized_expression "(uVar42 == 0)" ( (binary_expression "uVar42 == 0" identifier == number_literal) )) (compound_statement "{\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }" { (expression_statement "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);" (assignment_expression "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4)" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x7a4)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x7a4" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" identifier = (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" ( (pointer_expression "*(code *)PTR_memcpy_000564b8" * (cast_expression "(code *)PTR_memcpy_000564b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" ( (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + iVar26)" ( (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier , identifier ))) ;) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" identifier = (cast_expression "(char *******)((int)param_2 + iVar26)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_2 + iVar26)" ( (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" identifier = (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" ( (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x770;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x770" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x770" identifier + number_literal)) ;) }) (else_clause "else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" else (compound_statement "{\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" { (expression_statement "uVar2 = PTR_wcrtomb_00056118[0x7a1];" (assignment_expression "uVar2 = PTR_wcrtomb_00056118[0x7a1]" identifier = (subscript_expression "PTR_wcrtomb_00056118[0x7a1]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = PTR_wcrtomb_00056118[0x7a2];" (assignment_expression "uVar3 = PTR_wcrtomb_00056118[0x7a2]" identifier = (subscript_expression "PTR_wcrtomb_00056118[0x7a2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];" (assignment_expression "*(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0]" (pointer_expression "*(undefined *)puVar19" * (cast_expression "(undefined *)puVar19" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (subscript_expression "PTR_wcrtomb_00056118[0x7a0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 1) = uVar2;" (assignment_expression "*(undefined1 *)((int)puVar19 + 1) = uVar2" (pointer_expression "*(undefined1 *)((int)puVar19 + 1)" * (cast_expression "(undefined1 *)((int)puVar19 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 1)" ( (binary_expression "(int)puVar19 + 1" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 2) = uVar3;" (assignment_expression "*(undefined1 *)((int)puVar19 + 2) = uVar3" (pointer_expression "*(undefined1 *)((int)puVar19 + 2)" * (cast_expression "(undefined1 *)((int)puVar19 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 2)" ( (binary_expression "(int)puVar19 + 2" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" identifier = (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" ( (pointer_expression "*(code *)PTR_memcpy_000564b8" * (cast_expression "(code *)PTR_memcpy_000564b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" ( (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + iVar26)" ( (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier , identifier ))) ;) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" identifier = (cast_expression "(char *******)((int)param_2 + iVar26)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_2 + iVar26)" ( (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" identifier = (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" ( (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x76c;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x76c" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x76c" identifier + number_literal)) ;) }))))) (expression_statement "iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);" (assignment_expression "iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13)" identifier = (call_expression "(*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13)" (parenthesized_expression "(*(code *)PTR_stpcpy_00056498)" ( (pointer_expression "*(code *)PTR_stpcpy_00056498" * (cast_expression "(code *)PTR_stpcpy_00056498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar16,puVar13)" ( identifier , identifier )))) ;) (expression_statement "local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));" (assignment_expression "local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16))" identifier = (cast_expression "(char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16))" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar36 + (iVar26 - (int)pcVar16))" ( (binary_expression "(int)pppppppcVar36 + (iVar26 - (int)pcVar16)" (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(iVar26 - (int)pcVar16)" ( (binary_expression "iVar26 - (int)pcVar16" identifier - (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "local_44 = puVar19;" (assignment_expression "local_44 = puVar19" identifier = identifier) ;) })) (expression_statement "puVar30 = (uint *)0x1;" (assignment_expression "puVar30 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar16 = (char *)puVar11[1];" (assignment_expression "pcVar16 = (char *)puVar11[1]" identifier = (cast_expression "(char *)puVar11[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "dfacomp(local_44);" (call_expression "dfacomp(local_44)" identifier (argument_list "(local_44)" ( identifier ))) ;) (expression_statement "pcVar17 = (char *)dfamust(puVar11[1]);" (assignment_expression "pcVar17 = (char *)dfamust(puVar11[1])" identifier = (cast_expression "(char *)dfamust(puVar11[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dfamust(puVar11[1])" identifier (argument_list "(puVar11[1])" ( (subscript_expression "puVar11[1]" identifier [ number_literal ]) ))))) ;) (if_statement "if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }" if (parenthesized_expression "(pcVar17 != (char *)0x0)" ( (binary_expression "pcVar17 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }" { (expression_statement "pcVar18 = (char *)kwsinit(0);" (assignment_expression "pcVar18 = (char *)kwsinit(0)" identifier = (cast_expression "(char *)kwsinit(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "kwsinit(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "cVar1 = *pcVar17;" (assignment_expression "cVar1 = *pcVar17" identifier = (pointer_expression "*pcVar17" * identifier)) ;) (expression_statement "*puVar11 = pcVar18;" (assignment_expression "*puVar11 = pcVar18" (pointer_expression "*puVar11" * identifier) = identifier) ;) (expression_statement "puVar13 = PTR_strlen_00056424;" (assignment_expression "puVar13 = PTR_strlen_00056424" identifier = identifier) ;) (if_statement "if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }" { (expression_statement "pppppppcVar39 = *(char ********)(pcVar17 + 4);" (assignment_expression "pppppppcVar39 = *(char ********)(pcVar17 + 4)" identifier = (pointer_expression "*(char ********)(pcVar17 + 4)" * (cast_expression "(char ********)(pcVar17 + 4)" ( (type_descriptor "char ********" primitive_type (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(pcVar17 + 4)" ( (binary_expression "pcVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);" (assignment_expression "pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39)" identifier = (cast_expression "(char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_00056424)(pppppppcVar39)" (parenthesized_expression "(*(code *)PTR_strlen_00056424)" ( (pointer_expression "*(code *)PTR_strlen_00056424" * (cast_expression "(code *)PTR_strlen_00056424" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppppcVar39)" ( identifier ))))) ;) (expression_statement "local_res4 = pppppppcVar39;" (assignment_expression "local_res4 = pppppppcVar39" identifier = identifier) ;) (expression_statement "kwsincr(pcVar18);" (call_expression "kwsincr(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) }) (else_clause "else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }" else (compound_statement "{\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }" { (expression_statement "uVar12 = *(undefined4 *)(pcVar17 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(pcVar17 + 4)" identifier = (pointer_expression "*(undefined4 *)(pcVar17 + 4)" * (cast_expression "(undefined4 *)(pcVar17 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 4)" ( (binary_expression "pcVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar11[7] = puVar11[7] + 1;" (assignment_expression "puVar11[7] = puVar11[7] + 1" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = (binary_expression "puVar11[7] + 1" (subscript_expression "puVar11[7]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);" (assignment_expression "pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12)" identifier = (cast_expression "(char *******)(*(code *)puVar13)(uVar12)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)puVar13)(uVar12)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12)" ( identifier ))))) ;) (expression_statement "pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);" (assignment_expression "pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1])" identifier = (cast_expression "(char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1])" ( (binary_expression "(int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]" (binary_expression "(int)pppppppcVar39 + (uint)(byte)pcVar17[2]" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)(byte)pcVar17[2]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar17[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar17[2]" identifier [ number_literal ])))) + (cast_expression "(uint)(byte)pcVar17[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar17[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar17[1]" identifier [ number_literal ])))) )))) ;) (expression_statement "pppppppcVar36 = (char *******)xmalloc(pcVar18);" (assignment_expression "pppppppcVar36 = (char *******)xmalloc(pcVar18)" identifier = (cast_expression "(char *******)xmalloc(pcVar18)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "xmalloc(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))))) ;) (expression_statement "puVar13 = PTR_memcpy_000564b8;" (assignment_expression "puVar13 = PTR_memcpy_000564b8" identifier = identifier) ;) (expression_statement "bVar4 = *(byte *)(puVar11 + 8);" (assignment_expression "bVar4 = *(byte *)(puVar11 + 8)" identifier = (pointer_expression "*(byte *)(puVar11 + 8)" * (cast_expression "(byte *)(puVar11 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 8)" ( (binary_expression "puVar11 + 8" identifier + number_literal) ))))) ;) (expression_statement "cVar1 = *puVar44;" (assignment_expression "cVar1 = *puVar44" identifier = (pointer_expression "*puVar44" * identifier)) ;) (expression_statement "iVar40 = (int)cVar1;" (assignment_expression "iVar40 = (int)cVar1" identifier = (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(char *)pppppppcVar36 = cVar1;" (assignment_expression "*(char *)pppppppcVar36 = cVar1" (pointer_expression "*(char *)pppppppcVar36" * (cast_expression "(char *)pppppppcVar36" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "bVar5 = pcVar17[1];" (assignment_expression "bVar5 = pcVar17[1]" identifier = (subscript_expression "pcVar17[1]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = *(undefined4 *)(pcVar17 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(pcVar17 + 4)" identifier = (pointer_expression "*(undefined4 *)(pcVar17 + 4)" * (cast_expression "(undefined4 *)(pcVar17 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 4)" ( (binary_expression "pcVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(puVar11 + 8) = bVar5 | bVar4;" (assignment_expression "*(byte *)(puVar11 + 8) = bVar5 | bVar4" (pointer_expression "*(byte *)(puVar11 + 8)" * (cast_expression "(byte *)(puVar11 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 8)" ( (binary_expression "puVar11 + 8" identifier + number_literal) )))) = (binary_expression "bVar5 | bVar4" identifier | identifier)) ;) (expression_statement "iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);" (assignment_expression "iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39)" identifier = (call_expression "(*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39)" ( (cast_expression "(char *)((int)pppppppcVar36 + (uint)bVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar36 + (uint)bVar5)" ( (binary_expression "(int)pppppppcVar36 + (uint)bVar5" (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) , identifier , identifier )))) ;) (if_statement "if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }" if (parenthesized_expression "(pcVar17[2] != '\0')" ( (binary_expression "pcVar17[2] != '\0'" (subscript_expression "pcVar17[2]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }" { (expression_statement "pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);" (assignment_expression "pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26)" identifier = (cast_expression "(char *******)((int)pppppppcVar39 + iVar26)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar39 + iVar26)" ( (binary_expression "(int)pppppppcVar39 + iVar26" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "*(char *)pppppppcVar39 = cVar1;" (assignment_expression "*(char *)pppppppcVar39 = cVar1" (pointer_expression "*(char *)pppppppcVar39" * (cast_expression "(char *)pppppppcVar39" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) })) (expression_statement "local_res4 = pppppppcVar36;" (assignment_expression "local_res4 = pppppppcVar36" identifier = identifier) ;) (expression_statement "pcVar16 = pcVar18;" (assignment_expression "pcVar16 = pcVar18" identifier = identifier) ;) (expression_statement "kwsincr(*puVar11);" (call_expression "kwsincr(*puVar11)" identifier (argument_list "(*puVar11)" ( (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "(*(code *)PTR_free_000564c0)(pppppppcVar36);" (call_expression "(*(code *)PTR_free_000564c0)(pppppppcVar36)" (parenthesized_expression "(*(code *)PTR_free_000564c0)" ( (pointer_expression "*(code *)PTR_free_000564c0" * (cast_expression "(code *)PTR_free_000564c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppppcVar36)" ( identifier ))) ;) }))) (expression_statement "kwsprep(*puVar11);" (call_expression "kwsprep(*puVar11)" identifier (argument_list "(*puVar11)" ( (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "dfamustfree(pcVar17);" (call_expression "dfamustfree(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_free_000564c0)(puVar19);" (call_expression "(*(code *)PTR_free_000564c0)(puVar19)" (parenthesized_expression "(*(code *)PTR_free_000564c0)" ( (pointer_expression "*(code *)PTR_free_000564c0" * (cast_expression "(code *)PTR_free_000564c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19)" ( identifier ))) ;) (if_statement "if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }" if (parenthesized_expression "(local_2c == *(int **)puVar9)" ( (binary_expression "local_2c == *(int **)puVar9" identifier == (pointer_expression "*(int **)puVar9" * (cast_expression "(int **)puVar9" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return puVar11;\n  }" { (return_statement "return puVar11;" return identifier ;) })) (expression_statement "pcVar46 = EGexecute;" (assignment_expression "pcVar46 = EGexecute" identifier = identifier) ;) (expression_statement "piVar27 = local_2c;" (assignment_expression "piVar27 = local_2c" identifier = identifier) ;) (expression_statement "puVar44 = PTR___stack_chk_fail_00056494;" (assignment_expression "puVar44 = PTR___stack_chk_fail_00056494" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00056494)();" (call_expression "(*(code *)PTR___stack_chk_fail_00056494)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00056494)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00056494" * (cast_expression "(code *)PTR___stack_chk_fail_00056494" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pppppppcVar10 = local_58;" (assignment_expression "pppppppcVar10 = local_58" identifier = identifier) ;) (expression_statement "piVar20 = *(int **)(puVar44 + 0x40f5c);" (assignment_expression "piVar20 = *(int **)(puVar44 + 0x40f5c)" identifier = (pointer_expression "*(int **)(puVar44 + 0x40f5c)" * (cast_expression "(int **)(puVar44 + 0x40f5c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40f5c)" ( (binary_expression "puVar44 + 0x40f5c" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);" (assignment_expression "pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16)" identifier = (cast_expression "(char *******)((int)local_res4 + (int)pcVar16)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_res4 + (int)pcVar16)" ( (binary_expression "(int)local_res4 + (int)pcVar16" (cast_expression "(int)local_res4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar16 = *(char **)(puVar44 + 0x40be0);" (assignment_expression "pcVar16 = *(char **)(puVar44 + 0x40be0)" identifier = (pointer_expression "*(char **)(puVar44 + 0x40be0)" * (cast_expression "(char **)(puVar44 + 0x40be0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40be0)" ( (binary_expression "puVar44 + 0x40be0" identifier + number_literal) ))))) ;) (expression_statement "iVar33 = piVar27[1];" (assignment_expression "iVar33 = piVar27[1]" identifier = (subscript_expression "piVar27[1]" identifier [ number_literal ])) ;) (expression_statement "iStack_94 = *piVar20;" (assignment_expression "iStack_94 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "puStack_90 = puVar11;" (assignment_expression "puStack_90 = puVar11" identifier = identifier) ;) (expression_statement "pcStack_8c = pcVar17;" (assignment_expression "pcStack_8c = pcVar17" identifier = identifier) ;) (expression_statement "pcStack_88 = pcVar18;" (assignment_expression "pcStack_88 = pcVar18" identifier = identifier) ;) (expression_statement "pppppppcStack_84 = pppppppcVar39;" (assignment_expression "pppppppcStack_84 = pppppppcVar39" identifier = identifier) ;) (expression_statement "pppppppcStack_80 = pppppppcVar36;" (assignment_expression "pppppppcStack_80 = pppppppcVar36" identifier = identifier) ;) (expression_statement "iStack_7c = iVar40;" (assignment_expression "iStack_7c = iVar40" identifier = identifier) ;) (expression_statement "uStack_78 = uVar42;" (assignment_expression "uStack_78 = uVar42" identifier = identifier) ;) (expression_statement "puStack_74 = puVar19;" (assignment_expression "puStack_74 = puVar19" identifier = identifier) ;) (expression_statement "puStack_70 = puVar15;" (assignment_expression "puStack_70 = puVar15" identifier = identifier) ;) (expression_statement "pcStack_6c = pcVar46;" (assignment_expression "pcStack_6c = pcVar46" identifier = identifier) ;) (expression_statement "iVar40 = dfasuperset(iVar33);" (assignment_expression "iVar40 = dfasuperset(iVar33)" identifier = (call_expression "dfasuperset(iVar33)" identifier (argument_list "(iVar33)" ( identifier )))) ;) (expression_statement "iVar26 = (int)*pcVar16;" (assignment_expression "iVar26 = (int)*pcVar16" identifier = (cast_expression "(int)*pcVar16" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar16" * identifier))) ;) (expression_statement "iVar33 = dfaisfast(iVar33);" (assignment_expression "iVar33 = dfaisfast(iVar33)" identifier = (call_expression "dfaisfast(iVar33)" identifier (argument_list "(iVar33)" ( identifier )))) ;) (expression_statement "pppppppcStack_a8 = local_res4;" (assignment_expression "pppppppcStack_a8 = local_res4" identifier = identifier) ;) (if_statement "if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }" if (parenthesized_expression "(local_res4 < pppppppcVar37)" ( (binary_expression "local_res4 < pppppppcVar37" identifier < identifier) )) (compound_statement "{\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }" { (expression_statement "pcVar18 = *(char **)(puVar44 + 0x40c60);" (assignment_expression "pcVar18 = *(char **)(puVar44 + 0x40c60)" identifier = (pointer_expression "*(char **)(puVar44 + 0x40c60)" * (cast_expression "(char **)(puVar44 + 0x40c60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40c60)" ( (binary_expression "puVar44 + 0x40c60" identifier + number_literal) ))))) ;) (expression_statement "pppppppcStack_f0 = local_res4;" (assignment_expression "pppppppcStack_f0 = local_res4" identifier = identifier) ;) (do_statement "do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);" do (compound_statement "{\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    }" { (if_statement "if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }" if (parenthesized_expression "(pppppppcVar10 == (char *******)0x0)" ( (binary_expression "pppppppcVar10 == (char *******)0x0" identifier == (cast_expression "(char *******)0x0" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }" { (expression_statement "iStack_a4 = 0;" (assignment_expression "iStack_a4 = 0" identifier = number_literal) ;) (expression_statement "cStack_a9 = '\0';" (assignment_expression "cStack_a9 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pppppppcVar36 = pppppppcStack_f0;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcVar23 = pppppppcVar37;" (assignment_expression "pppppppcVar23 = pppppppcVar37" identifier = identifier) ;) (if_statement "if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }" if (parenthesized_expression "(*piVar27 != 0)" ( (binary_expression "*piVar27 != 0" (pointer_expression "*piVar27" * identifier) != number_literal) )) (compound_statement "{\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }" { (expression_statement "iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);" (assignment_expression "iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1)" identifier = (call_expression "kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1)" identifier (argument_list "(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1)" ( (pointer_expression "*piVar27" * identifier) , (binary_expression "(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8)" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "(uint)*(byte *)(piVar27 + 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(piVar27 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 8)" ( (binary_expression "piVar27 + 8" identifier + number_literal) ))))) , (binary_expression "(uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0)" (binary_expression "(uint)*(byte *)(piVar27 + 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(piVar27 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 8)" ( (binary_expression "piVar27 + 8" identifier + number_literal) )))) + (parenthesized_expression "((int)pppppppcVar37 - (int)pppppppcStack_f0)" ( (binary_expression "(int)pppppppcVar37 - (int)pppppppcStack_f0" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier , number_literal )))) ;) (if_statement "if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }" if (parenthesized_expression "(-1 < iVar21)" ( (binary_expression "-1 < iVar21" number_literal < identifier) )) (compound_statement "{\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }" { (expression_statement "pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);" (assignment_expression "pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21)" identifier = (cast_expression "(char *******)((int)pppppppcStack_f0 + iVar21)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcStack_f0 + iVar21)" ( (binary_expression "(int)pppppppcStack_f0 + iVar21" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);" (assignment_expression "iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" identifier = (call_expression "(**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" (parenthesized_expression "(**(code **)(puVar44 + 0x40ed0))" ( (pointer_expression "**(code **)(puVar44 + 0x40ed0)" * (pointer_expression "*(code **)(puVar44 + 0x40ed0)" * (cast_expression "(code **)(puVar44 + 0x40ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40ed0)" ( (binary_expression "puVar44 + 0x40ed0" identifier + number_literal) ))))) )) (argument_list "(local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" ( identifier , identifier , (binary_expression "(int)pppppppcVar36 - (int)local_res4" (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_res4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar39 = local_res4;" (assignment_expression "pppppppcVar39 = local_res4" identifier = identifier) ;) (if_statement "if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }" if (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }" { (expression_statement "pppppppcVar39 = (char *******)(iVar22 + 1);" (assignment_expression "pppppppcVar39 = (char *******)(iVar22 + 1)" identifier = (cast_expression "(char *******)(iVar22 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar22 + 1)" ( (binary_expression "iVar22 + 1" identifier + number_literal) )))) ;) })) (if_statement "if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }" if (parenthesized_expression "(piVar27[7] <= aiStack_a0[0])" ( (binary_expression "piVar27[7] <= aiStack_a0[0]" (subscript_expression "piVar27[7]" identifier [ number_literal ]) <= (subscript_expression "aiStack_a0[0]" identifier [ number_literal ])) )) (compound_statement "{\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }" { (expression_statement "iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;" (assignment_expression "iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39" identifier = (binary_expression "(int)pppppppcVar36 - (int)pppppppcVar39" (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }" if (parenthesized_expression "(iVar33 == 0)" ( (binary_expression "iVar33 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }" { (labeled_statement "LAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;" statement_identifier : (expression_statement "iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;" (assignment_expression "iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36" identifier = (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar36" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }) (else_clause "else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }" else (compound_statement "{\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }" { (if_statement "if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }" if (parenthesized_expression "(iVar22 < 0x10)" ( (binary_expression "iVar22 < 0x10" identifier < number_literal) )) (compound_statement "{\n                  iVar22 = 0x10;\n                }" { (expression_statement "iVar22 = 0x10;" (assignment_expression "iVar22 = 0x10" identifier = number_literal) ;) })) (if_statement "if (iVar22 < iVar21 >> 2) goto LAB_000156c0;" if (parenthesized_expression "(iVar22 < iVar21 >> 2)" ( (binary_expression "iVar22 < iVar21 >> 2" identifier < (binary_expression "iVar21 >> 2" identifier >> number_literal)) )) (goto_statement "goto LAB_000156c0;" goto statement_identifier ;)) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar36 = pppppppcVar37;" (assignment_expression "pppppppcVar36 = pppppppcVar37" identifier = identifier) ;) (if_statement "if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }" if (parenthesized_expression "(iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2)" ( (binary_expression "iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2" identifier < (binary_expression "(int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2" (binary_expression "(int)pppppppcVar37 - (int)pppppppcStack_f0" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) )) (compound_statement "{\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }" { (expression_statement "pppppppcVar36 = pppppppcStack_f0 + iVar22;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0 + iVar22" identifier = (binary_expression "pppppppcStack_f0 + iVar22" identifier + identifier)) ;) (goto_statement "goto LAB_000156c0;" goto statement_identifier ;) })) }))) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21)" identifier = (call_expression "(**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar44 + 0x40bc8)" * (pointer_expression "*(code **)(puVar44 + 0x40bc8)" * (cast_expression "(code **)(puVar44 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40bc8)" ( (binary_expression "puVar44 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar36,iVar26,iVar21)" ( identifier , identifier , identifier )))) ;) (expression_statement "pppppppcVar36 = pppppppcVar39;" (assignment_expression "pppppppcVar36 = pppppppcVar39" identifier = identifier) ;) (if_statement "if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }" { (expression_statement "pppppppcVar23 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcVar23 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) })) (goto_statement "goto joined_r0x00015ca0;" goto statement_identifier ;) })) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" identifier = (call_expression "(**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar44 + 0x40bc8)" * (pointer_expression "*(code **)(puVar44 + 0x40bc8)" * (cast_expression "(code **)(puVar44 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40bc8)" ( (binary_expression "puVar44 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" ( identifier , identifier , (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar36" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcStack_f0 = pppppppcVar37;" (assignment_expression "pppppppcStack_f0 = pppppppcVar37" identifier = identifier) ;) (if_statement "if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" { (expression_statement "pppppppcStack_f0 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcStack_f0 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) })) (if_statement "if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }" if (parenthesized_expression "((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0'))" ( (binary_expression "(**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')" (parenthesized_expression "(**(char **)(puVar44 + 0x40c1c) == '\x01')" ( (binary_expression "**(char **)(puVar44 + 0x40c1c) == '\x01'" (pointer_expression "**(char **)(puVar44 + 0x40c1c)" * (pointer_expression "*(char **)(puVar44 + 0x40c1c)" * (cast_expression "(char **)(puVar44 + 0x40c1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40c1c)" ( (binary_expression "puVar44 + 0x40c1c" identifier + number_literal) ))))) == (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "((*(char **)(puVar44 + 0x40c1c))[1] == '\0')" ( (binary_expression "(*(char **)(puVar44 + 0x40c1c))[1] == '\0'" (subscript_expression "(*(char **)(puVar44 + 0x40c1c))[1]" (parenthesized_expression "(*(char **)(puVar44 + 0x40c1c))" ( (pointer_expression "*(char **)(puVar44 + 0x40c1c)" * (cast_expression "(char **)(puVar44 + 0x40c1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40c1c)" ( (binary_expression "puVar44 + 0x40c1c" identifier + number_literal) )))) )) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }" { (if_statement "if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }" if (parenthesized_expression "(pppppppcStack_a8 < pppppppcVar39)" ( (binary_expression "pppppppcStack_a8 < pppppppcVar39" identifier < identifier) )) (compound_statement "{\n                pppppppcStack_a8 = pppppppcVar39;\n              }" { (expression_statement "pppppppcStack_a8 = pppppppcVar39;" (assignment_expression "pppppppcStack_a8 = pppppppcVar39" identifier = identifier) ;) })) (expression_statement "iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);" (assignment_expression "iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37)" identifier = (call_expression "mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37)" identifier (argument_list "(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37)" ( (pointer_expression "&pppppppcStack_a8" & identifier) , identifier , identifier )))) ;) (expression_statement "pppppppcVar23 = pppppppcStack_f0;" (assignment_expression "pppppppcVar23 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcVar36 = pppppppcStack_a8;" (assignment_expression "pppppppcVar36 = pppppppcStack_a8" identifier = identifier) ;) (if_statement "if (iVar21 == 0) goto LAB_00015bc8;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00015bc8;" goto statement_identifier ;)) (goto_statement "goto LAB_00015b08;" goto statement_identifier ;) })) (labeled_statement "LAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;" statement_identifier : (expression_statement "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;" (assignment_expression "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39" identifier = (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (goto_statement "goto LAB_00015bdc;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (labeled_statement "joined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;" statement_identifier : (expression_statement "pppppppcStack_f0 = pppppppcVar23;" (assignment_expression "pppppppcStack_f0 = pppppppcVar23" identifier = identifier) ;)) (expression_statement "pppppppcVar23 = pppppppcStack_f0;" (assignment_expression "pppppppcVar23 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcVar39 = pppppppcVar36;" (assignment_expression "pppppppcVar39 = pppppppcVar36" identifier = identifier) ;) (if_statement "if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" if (parenthesized_expression "(iVar40 == 0)" ( (binary_expression "iVar40 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }" { (labeled_statement "LAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;" statement_identifier : (expression_statement "pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;" (assignment_expression "pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" identifier = (cast_expression "(char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" identifier (argument_list "(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" ( (subscript_expression "piVar27[1]" identifier [ number_literal ]) , identifier , identifier , number_literal , (pointer_expression "&iStack_a4" & identifier) , (pointer_expression "&cStack_a9" & identifier) ))))) ;)) (expression_statement "pppppppcStack_f0 = pppppppcVar23;" (assignment_expression "pppppppcStack_f0 = pppppppcVar23" identifier = identifier) ;) (if_statement "if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }" if (parenthesized_expression "((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36))" ( (binary_expression "(pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)" (parenthesized_expression "(pppppppcVar36 != (char *******)0x0)" ( (binary_expression "pppppppcVar36 != (char *******)0x0" identifier != (cast_expression "(char *******)0x0" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)" ( (comma_expression "pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36" (assignment_expression "pppppppcStack_f0 = pppppppcVar36" identifier = identifier) , (binary_expression "pppppppcVar23 != pppppppcVar36" identifier != identifier)) ))) )) (compound_statement "{\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }" { (if_statement "if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }" if (parenthesized_expression "(iStack_a4 != 0)" ( (binary_expression "iStack_a4 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }" { (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" identifier = (call_expression "(**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" (parenthesized_expression "(**(code **)(puVar44 + 0x40ed0))" ( (pointer_expression "**(code **)(puVar44 + 0x40ed0)" * (pointer_expression "*(code **)(puVar44 + 0x40ed0)" * (cast_expression "(code **)(puVar44 + 0x40ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40ed0)" ( (binary_expression "puVar44 + 0x40ed0" identifier + number_literal) ))))) )) (argument_list "(local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" ( identifier , identifier , (binary_expression "(int)pppppppcVar36 - (int)local_res4" (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_res4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar39 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcVar39 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) })) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" identifier = (call_expression "(**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar44 + 0x40bc8)" * (pointer_expression "*(code **)(puVar44 + 0x40bc8)" * (cast_expression "(code **)(puVar44 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40bc8)" ( (binary_expression "puVar44 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" ( identifier , identifier , (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar36" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcStack_f0 = pppppppcVar37;" (assignment_expression "pppppppcStack_f0 = pppppppcVar37" identifier = identifier) ;) (if_statement "if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" { (expression_statement "pppppppcStack_f0 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcStack_f0 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) })) (if_statement "if (cStack_a9 == '\0') goto LAB_00015bc8;" if (parenthesized_expression "(cStack_a9 == '\0')" ( (binary_expression "cStack_a9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00015bc8;" goto statement_identifier ;)) (expression_statement "pppppppcStack_d8 = pppppppcVar39;" (assignment_expression "pppppppcStack_d8 = pppppppcVar39" identifier = identifier) ;) (if_statement "if (piVar27[3] != 0) goto LAB_00015714;" if (parenthesized_expression "(piVar27[3] != 0)" ( (binary_expression "piVar27[3] != 0" (subscript_expression "piVar27[3]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00015714;" goto statement_identifier ;)) })) }) (else_clause "else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" else (compound_statement "{\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" { (expression_statement "pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);" (assignment_expression "pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" identifier = (cast_expression "(char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" identifier (argument_list "(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" ( identifier , identifier , identifier , number_literal , (pointer_expression "&iStack_a4" & identifier) , number_literal ))))) ;) (if_statement "if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }" if (parenthesized_expression "((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39))" ( (binary_expression "(pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)" (parenthesized_expression "(pppppppcVar39 != (char *******)0x0)" ( (binary_expression "pppppppcVar39 != (char *******)0x0" identifier != (cast_expression "(char *******)0x0" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(pppppppcStack_f0 != pppppppcVar39)" ( (binary_expression "pppppppcStack_f0 != pppppppcVar39" identifier != identifier) ))) )) (compound_statement "{\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }" { (expression_statement "pppppppcStack_f0 = pppppppcVar36;" (assignment_expression "pppppppcStack_f0 = pppppppcVar36" identifier = identifier) ;) (if_statement "if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" if (parenthesized_expression "(iStack_a4 != 0)" ( (binary_expression "iStack_a4 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" { (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4)" identifier = (call_expression "(**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4)" (parenthesized_expression "(**(code **)(puVar44 + 0x40ed0))" ( (pointer_expression "**(code **)(puVar44 + 0x40ed0)" * (pointer_expression "*(code **)(puVar44 + 0x40ed0)" * (cast_expression "(code **)(puVar44 + 0x40ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40ed0)" ( (binary_expression "puVar44 + 0x40ed0" identifier + number_literal) ))))) )) (argument_list "(local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4)" ( identifier , identifier , (binary_expression "(int)pppppppcVar39 - (int)local_res4" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_res4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcStack_f0 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcStack_f0 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) })) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39)" identifier = (call_expression "(**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar44 + 0x40bc8)" * (pointer_expression "*(code **)(puVar44 + 0x40bc8)" * (cast_expression "(code **)(puVar44 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40bc8)" ( (binary_expression "puVar44 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39)" ( identifier , identifier , (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar39" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar36 = pppppppcStack_f0;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcVar39 = pppppppcStack_f0;" (assignment_expression "pppppppcVar39 = pppppppcStack_f0" identifier = identifier) ;) (if_statement "if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }" { (expression_statement "iStack_a4 = 0;" (assignment_expression "iStack_a4 = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar23 = pppppppcVar37;" (assignment_expression "pppppppcVar23 = pppppppcVar37" identifier = identifier) ;) }) (else_clause "else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }" else (compound_statement "{\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }" { (expression_statement "iStack_a4 = 0;" (assignment_expression "iStack_a4 = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar23 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcVar23 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) }))) (goto_statement "goto LAB_00015b08;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }" else (compound_statement "{\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }" { (expression_statement "puVar11 = (undefined4 *)0xffffffff;" (assignment_expression "puVar11 = (undefined4 *)0xffffffff" identifier = (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar27[3] == 0) goto LAB_00015bec;" if (parenthesized_expression "(piVar27[3] == 0)" ( (binary_expression "piVar27[3] == 0" (subscript_expression "piVar27[3]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00015bec;" goto statement_identifier ;)) (expression_statement "pppppppcStack_d8 = pppppppcVar10;" (assignment_expression "pppppppcStack_d8 = pppppppcVar10" identifier = identifier) ;) (expression_statement "pppppppcVar39 = pppppppcStack_f0;" (assignment_expression "pppppppcVar39 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcStack_f0 = pppppppcVar37;" (assignment_expression "pppppppcStack_f0 = pppppppcVar37" identifier = identifier) ;) (labeled_statement "LAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);" statement_identifier : (expression_statement "pcVar17 = *(char **)(puVar44 + 0x40c5c);" (assignment_expression "pcVar17 = *(char **)(puVar44 + 0x40c5c)" identifier = (pointer_expression "*(char **)(puVar44 + 0x40c5c)" * (cast_expression "(char **)(puVar44 + 0x40c5c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40c5c)" ( (binary_expression "puVar44 + 0x40c5c" identifier + number_literal) ))))) ;)) (expression_statement "piVar38 = piVar27 + 4;" (assignment_expression "piVar38 = piVar27 + 4" identifier = (binary_expression "piVar27 + 4" identifier + number_literal)) ;) (expression_statement "uStack_e8 = 0;" (assignment_expression "uStack_e8 = 0" identifier = number_literal) ;) (expression_statement "uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;" (assignment_expression "uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8" identifier = (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcStack_d8" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;" (assignment_expression "iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1" identifier = (binary_expression "((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1" (parenthesized_expression "((int)pppppppcStack_f0 - (int)pppppppcVar39)" ( (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) ;) (expression_statement "pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);" (assignment_expression "pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1)" identifier = (cast_expression "(char *******)((int)pppppppcStack_f0 + -1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcStack_f0 + -1)" ( (binary_expression "(int)pppppppcStack_f0 + -1" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar41 = 0;" (assignment_expression "uVar41 = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar36 = pppppppcStack_f0;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0" identifier = identifier) ;) (labeled_statement "LAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);" statement_identifier : (do_statement "do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);" do (compound_statement "{\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        }" { (expression_statement "iVar34 = uVar41 * 0x20;" (assignment_expression "iVar34 = uVar41 * 0x20" identifier = (binary_expression "uVar41 * 0x20" identifier * number_literal)) ;) (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40eb8);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40eb8)" identifier = (pointer_expression "*(code **)(puVar44 + 0x40eb8)" * (cast_expression "(code **)(puVar44 + 0x40eb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40eb8)" ( (binary_expression "puVar44 + 0x40eb8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = piVar27[2] + iVar34;" (assignment_expression "iVar22 = piVar27[2] + iVar34" identifier = (binary_expression "piVar27[2] + iVar34" (subscript_expression "piVar27[2]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n'" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n'" (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfc" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) & number_literal) | (binary_expression "*pcVar16 == '\n'" (pointer_expression "*pcVar16" * identifier) == (char_literal "'\n'" ' escape_sequence ')))) ;) (expression_statement "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);" (assignment_expression "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38)" identifier = (call_expression "(*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38)" ( identifier , identifier , identifier , (binary_expression "(int)pppppppcStack_d8 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "uVar42 - 1" identifier - number_literal) , identifier )))) ;) (if_statement "if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }" if (parenthesized_expression "(iVar22 < -1)" ( (binary_expression "iVar22 < -1" identifier < number_literal) )) (compound_statement "{\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }" { (labeled_statement "LAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();" statement_identifier : comment (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);" (assignment_expression "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22)" identifier = (cast_expression "(char *******)((int)pppppppcVar39 + iVar22)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar39 + iVar22)" ( (binary_expression "(int)pppppppcVar39 + iVar22" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppppcVar45 = pppppppcVar36;" (assignment_expression "pppppppcVar45 = pppppppcVar36" identifier = identifier) ;) (expression_statement "uVar35 = uStack_e8;" (assignment_expression "uVar35 = uStack_e8" identifier = identifier) ;) (if_statement "if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }" if (parenthesized_expression "((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7))" ( (binary_expression "(iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)" (parenthesized_expression "(iVar22 != -1)" ( (binary_expression "iVar22 != -1" identifier != number_literal) )) && (parenthesized_expression "(bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)" ( (comma_expression "bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7" (assignment_expression "bVar7 = pppppppcVar36 < pppppppcVar31" identifier = (binary_expression "pppppppcVar36 < pppppppcVar31" identifier < identifier)) , (unary_expression "!bVar7" ! identifier)) ))) )) (compound_statement "{\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }" { (expression_statement "uVar24 = *(int *)piVar27[6] - iVar22;" (assignment_expression "uVar24 = *(int *)piVar27[6] - iVar22" identifier = (binary_expression "*(int *)piVar27[6] - iVar22" (pointer_expression "*(int *)piVar27[6]" * (cast_expression "(int *)piVar27[6]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[6]" identifier [ number_literal ]))) - identifier)) ;) (expression_statement "uVar25 = uVar42;" (assignment_expression "uVar25 = uVar42" identifier = identifier) ;) (expression_statement "pppppppcVar32 = pppppppcStack_d8;" (assignment_expression "pppppppcVar32 = pppppppcStack_d8" identifier = identifier) ;) (if_statement "if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" if (parenthesized_expression "(pppppppcVar10 == (char *******)0x0)" ( (binary_expression "pppppppcVar10 == (char *******)0x0" identifier == (cast_expression "(char *******)0x0" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }" { (if_statement "if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }" if (parenthesized_expression "(*pcVar18 == '\0')" ( (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }" { (if_statement "if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }" if (parenthesized_expression "(*pcVar17 != '\0')" ( (binary_expression "*pcVar17 != '\0'" (pointer_expression "*pcVar17" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }" { (labeled_statement "LAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);" statement_identifier : (do_statement "do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);" do (compound_statement "{\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  }" { (expression_statement "iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);" (assignment_expression "iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23)" identifier = (call_expression "wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23)" identifier (argument_list "((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23)" ( (cast_expression "(char *)((int)pppppppcVar31 + uVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar31 + uVar24)" ( (binary_expression "(int)pppppppcVar31 + uVar24" (cast_expression "(int)pppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier )))) ;) (if_statement "if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;" if (parenthesized_expression "((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))" ( (binary_expression "(iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0)" (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0)" ( (comma_expression "iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0" (assignment_expression "iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23)" identifier = (call_expression "wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23)" identifier (argument_list "(pppppppcVar39,pppppppcVar31,pppppppcVar23)" ( identifier , identifier , identifier )))) , (comma_expression "uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0" (assignment_expression "uVar25 = uVar24" identifier = identifier) , (comma_expression "pppppppcVar32 = pppppppcVar31, iVar22 == 0" (assignment_expression "pppppppcVar32 = pppppppcVar31" identifier = identifier) , (binary_expression "iVar22 == 0" identifier == number_literal)))) ))) )) (goto_statement "goto LAB_00015914;" goto statement_identifier ;)) (if_statement "if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }" { (labeled_statement "LAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;" statement_identifier : (if_statement "if (pppppppcVar23 == pppppppcVar31) break;" if (parenthesized_expression "(pppppppcVar23 == pppppppcVar31)" ( (binary_expression "pppppppcVar23 == pppppppcVar31" identifier == identifier) )) (break_statement "break;" break ;))) (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40eb8);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40eb8)" identifier = (pointer_expression "*(code **)(puVar44 + 0x40eb8)" * (cast_expression "(code **)(puVar44 + 0x40eb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40eb8)" ( (binary_expression "puVar44 + 0x40eb8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = piVar27[2] + iVar34;" (assignment_expression "iVar22 = piVar27[2] + iVar34" identifier = (binary_expression "piVar27[2] + iVar34" (subscript_expression "piVar27[2]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);" (assignment_expression "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38)" identifier = (call_expression "(*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38)" ( identifier , identifier , identifier , (binary_expression "((int)pppppppcVar31 + 1) - (int)pppppppcVar39" (parenthesized_expression "((int)pppppppcVar31 + 1)" ( (binary_expression "(int)pppppppcVar31 + 1" (cast_expression "(int)pppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1)))" ( (binary_expression "(int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-1 - (int)((int)pppppppcVar31 + 1))" ( (binary_expression "-1 - (int)((int)pppppppcVar31 + 1)" number_literal - (cast_expression "(int)((int)pppppppcVar31 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppppppcVar31 + 1)" ( (binary_expression "(int)pppppppcVar31 + 1" (cast_expression "(int)pppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ))) , identifier )))) ;) (if_statement "if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }" if (parenthesized_expression "(iVar22 < 0)" ( (binary_expression "iVar22 < 0" identifier < number_literal) )) (compound_statement "{\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }" { (if_statement "if (iVar22 != -1) goto LAB_00015cdc;" if (parenthesized_expression "(iVar22 != -1)" ( (binary_expression "iVar22 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00015cdc;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);" (assignment_expression "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22)" identifier = (cast_expression "(char *******)((int)pppppppcVar39 + iVar22)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar39 + iVar22)" ( (binary_expression "(int)pppppppcVar39 + iVar22" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "bVar7 = pppppppcVar36 < pppppppcVar31;" (assignment_expression "bVar7 = pppppppcVar36 < pppppppcVar31" identifier = (binary_expression "pppppppcVar36 < pppppppcVar31" identifier < identifier)) ;) (expression_statement "uVar24 = *(int *)piVar27[6] - iVar22;" (assignment_expression "uVar24 = *(int *)piVar27[6] - iVar22" identifier = (binary_expression "*(int *)piVar27[6] - iVar22" (pointer_expression "*(int *)piVar27[6]" * (cast_expression "(int *)piVar27[6]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[6]" identifier [ number_literal ]))) - identifier)) ;) }) (else_clause "else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }" else (compound_statement "{\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }" { (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40ee8);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40ee8)" identifier = (pointer_expression "*(code **)(puVar44 + 0x40ee8)" * (cast_expression "(code **)(puVar44 + 0x40ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40ee8)" ( (binary_expression "puVar44 + 0x40ee8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = piVar27[2] + iVar34;" (assignment_expression "iVar22 = piVar27[2] + iVar34" identifier = (binary_expression "piVar27[2] + iVar34" (subscript_expression "piVar27[2]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd | 2" (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);" (assignment_expression "uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38)" identifier = (call_expression "(*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38)" ( identifier , identifier , (cast_expression "(char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8))" ( (binary_expression "(int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)" (cast_expression "(int)pppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((uVar24 - 1) - (int)pppppppcStack_d8)" ( (binary_expression "(uVar24 - 1) - (int)pppppppcStack_d8" (parenthesized_expression "(uVar24 - 1)" ( (binary_expression "uVar24 - 1" identifier - number_literal) )) - (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) , (binary_expression "(int)pppppppcVar31 - (int)pppppppcVar39" (cast_expression "(int)pppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier )))) ;) (if_statement "if ((int)uVar24 < -1) goto LAB_00015cdc;" if (parenthesized_expression "((int)uVar24 < -1)" ( (binary_expression "(int)uVar24 < -1" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00015cdc;" goto statement_identifier ;)) (if_statement "if ((int)uVar24 < 1) goto LAB_000157d8;" if (parenthesized_expression "((int)uVar24 < 1)" ( (binary_expression "(int)uVar24 < 1" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_000157d8;" goto statement_identifier ;)) }))) }) while (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) ;)) (goto_statement "goto LAB_00015854;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }" else (compound_statement "{\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }" { (labeled_statement "LAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;" statement_identifier : (if_statement "if (uVar24 != uVar42 - 1) goto LAB_00015854;" if (parenthesized_expression "(uVar24 != uVar42 - 1)" ( (binary_expression "uVar24 != uVar42 - 1" identifier != (binary_expression "uVar42 - 1" identifier - number_literal)) )) (goto_statement "goto LAB_00015854;" goto statement_identifier ;))) }))) (labeled_statement "LAB_00015914:\n              uVar24 = uVar25;" statement_identifier : (expression_statement "uVar24 = uVar25;" (assignment_expression "uVar24 = uVar25" identifier = identifier) ;)) (expression_statement "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;" (assignment_expression "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39" identifier = (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppppcVar31 = pppppppcVar32;" (assignment_expression "pppppppcVar31 = pppppppcVar32" identifier = identifier) ;) (if_statement "if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;" if (parenthesized_expression "(pppppppcVar10 == (char *******)0x0)" ( (binary_expression "pppppppcVar10 == (char *******)0x0" identifier == (cast_expression "(char *******)0x0" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_00015bdc;" goto statement_identifier ;)) }) (else_clause "else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" else (if_statement "if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" if (parenthesized_expression "(*pcVar17 != '\0')" ( (binary_expression "*pcVar17 != '\0'" (pointer_expression "*pcVar17" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" { (if_statement "if (*pcVar18 == '\0') goto LAB_000157a0;" if (parenthesized_expression "(*pcVar18 == '\0')" ( (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000157a0;" goto statement_identifier ;)) (goto_statement "goto LAB_0001597c;" goto statement_identifier ;) })))) (expression_statement "pppppppcVar45 = pppppppcVar31;" (assignment_expression "pppppppcVar45 = pppppppcVar31" identifier = identifier) ;) (expression_statement "uVar35 = uVar24;" (assignment_expression "uVar35 = uVar24" identifier = identifier) ;) (if_statement "if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }" if (parenthesized_expression "((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))" ( (binary_expression "(pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31)" (parenthesized_expression "(pppppppcVar36 <= pppppppcVar31)" ( (binary_expression "pppppppcVar36 <= pppppppcVar31" identifier <= identifier) )) && (parenthesized_expression "(pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31)" ( (comma_expression "pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31" (assignment_expression "pppppppcVar45 = pppppppcVar36" identifier = identifier) , (comma_expression "uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31" (assignment_expression "uVar35 = uStack_e8" identifier = identifier) , (binary_expression "pppppppcVar36 == pppppppcVar31" identifier == identifier))) ))) )) (compound_statement "{\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }" { (expression_statement "uVar41 = uVar41 + 1;" (assignment_expression "uVar41 = uVar41 + 1" identifier = (binary_expression "uVar41 + 1" identifier + number_literal)) ;) (if_statement "if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }" if (parenthesized_expression "(uStack_e8 < uVar24)" ( (binary_expression "uStack_e8 < uVar24" identifier < identifier) )) (compound_statement "{\n                uStack_e8 = uVar24;\n              }" { (expression_statement "uStack_e8 = uVar24;" (assignment_expression "uStack_e8 = uVar24" identifier = identifier) ;) })) (if_statement "if ((uint)piVar27[3] <= uVar41) break;" if (parenthesized_expression "((uint)piVar27[3] <= uVar41)" ( (binary_expression "(uint)piVar27[3] <= uVar41" (cast_expression "(uint)piVar27[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar27[3]" identifier [ number_literal ])) <= identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_00015868;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00015854:\n          uStack_e8 = uVar35;" statement_identifier : (expression_statement "uStack_e8 = uVar35;" (assignment_expression "uStack_e8 = uVar35" identifier = identifier) ;)) (expression_statement "uVar41 = uVar41 + 1;" (assignment_expression "uVar41 = uVar41 + 1" identifier = (binary_expression "uVar41 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar36 = pppppppcVar45;" (assignment_expression "pppppppcVar36 = pppppppcVar45" identifier = identifier) ;) }) while (parenthesized_expression "(uVar41 < (uint)piVar27[3])" ( (binary_expression "uVar41 < (uint)piVar27[3]" identifier < (cast_expression "(uint)piVar27[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar27[3]" identifier [ number_literal ]))) )) ;)) (expression_statement "pppppppcVar39 = pppppppcVar45;" (assignment_expression "pppppppcVar39 = pppppppcVar45" identifier = identifier) ;) (expression_statement "uVar35 = uStack_e8;" (assignment_expression "uVar35 = uStack_e8" identifier = identifier) ;) (if_statement "if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }" if (parenthesized_expression "(pppppppcVar39 < pppppppcStack_f0)" ( (binary_expression "pppppppcVar39 < pppppppcStack_f0" identifier < identifier) )) (compound_statement "{\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }" { (labeled_statement "LAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);" statement_identifier : (expression_statement "puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);" (assignment_expression "puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4)" identifier = (cast_expression "(undefined4 *)((int)pppppppcVar39 - (int)local_res4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar39 - (int)local_res4)" ( (binary_expression "(int)pppppppcVar39 - (int)local_res4" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_res4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "*puVar30 = uVar35;" (assignment_expression "*puVar30 = uVar35" (pointer_expression "*puVar30" * identifier) = identifier) ;) (goto_statement "goto LAB_00015bec;" goto statement_identifier ;) })) }))) }) while (parenthesized_expression "(pppppppcStack_f0 < pppppppcVar37)" ( (binary_expression "pppppppcStack_f0 < pppppppcVar37" identifier < identifier) )) ;) })) (expression_statement "puVar11 = (undefined4 *)0xffffffff;" (assignment_expression "puVar11 = (undefined4 *)0xffffffff" identifier = (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }" statement_identifier : (if_statement "if (iStack_94 == *piVar20) {\n    return puVar11;\n  }" if (parenthesized_expression "(iStack_94 == *piVar20)" ( (binary_expression "iStack_94 == *piVar20" identifier == (pointer_expression "*piVar20" * identifier)) )) (compound_statement "{\n    return puVar11;\n  }" { (return_statement "return puVar11;" return identifier ;) }))) (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40f3c);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40f3c)" identifier = (pointer_expression "*(code **)(puVar44 + 0x40f3c)" * (cast_expression "(code **)(puVar44 + 0x40f3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40f3c)" ( (binary_expression "puVar44 + 0x40f3c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar46)();" (call_expression "(*pcVar46)()" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);" (assignment_expression "puVar11 = *(undefined4 **)(pcVar46 + 0x403e8)" identifier = (pointer_expression "*(undefined4 **)(pcVar46 + 0x403e8)" * (cast_expression "(undefined4 **)(pcVar46 + 0x403e8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x403e8)" ( (binary_expression "pcVar46 + 0x403e8" identifier + number_literal) ))))) ;) (expression_statement "puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);" (assignment_expression "puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044)" (subscript_expression "puVar11[0x1810]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044)" * (cast_expression "(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar46 + 0x403e8) + 0x6044)" ( (binary_expression "*(int *)(pcVar46 + 0x403e8) + 0x6044" (pointer_expression "*(int *)(pcVar46 + 0x403e8)" * (cast_expression "(int *)(pcVar46 + 0x403e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0x403e8)" ( (binary_expression "pcVar46 + 0x403e8" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return puVar11;" return identifier ;) })))
(translation_unit "void * GEAcompile(char *pattern,size_t size,reg_syntax_t syntax_bits)\n\n{\n  char cVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined3 extraout_var;\n  undefined4 *puVar5;\n  dfa *pdVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  dfamust *dm;\n  kwset_t kwset;\n  int *piVar13;\n  _Bool _Var16;\n  ptrdiff_t pVar14;\n  size_t sVar15;\n  char *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  void *pvVar20;\n  char *pcVar21;\n  int iVar22;\n  uint *puVar23;\n  char *cur;\n  char *pcVar24;\n  dfa *d;\n  int iVar25;\n  uint uVar26;\n  char *pcVar27;\n  char *end;\n  char *pcVar28;\n  char *pcVar29;\n  uint uVar30;\n  uint uVar31;\n  undefined4 *puVar32;\n  char *pcVar33;\n  code *pcVar34;\n  reg_syntax_t local_res8;\n  char *pcStack_f0;\n  uint uStack_e8;\n  char *pcStack_d8;\n  _Bool _Stack_a9;\n  char *pcStack_a8;\n  size_t sStack_a4;\n  kwsmatch kStack_a0;\n  int iStack_94;\n  undefined4 *puStack_90;\n  dfamust *pdStack_8c;\n  kwset_t pkStack_88;\n  char *pcStack_84;\n  size_t *psStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  char *pcStack_74;\n  char *pcStack_70;\n  code *pcStack_6c;\n  char *local_58;\n  int local_54;\n  size_t lineno;\n  undefined4 *local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_000564b4;\n  kwset = (kwset_t)PTR_match_icase_00056190;\n  local_2c = *(undefined4 **)PTR___stack_chk_guard_000564b4;\n  puVar5 = (undefined4 *)xcalloc(1,0x24);\n  pdVar6 = dfaalloc();\n  cVar1 = *(char *)kwset;\n  puVar5[1] = pdVar6;\n  puVar8 = PTR_eolbyte_00056138;\n  local_res8 = syntax_bits;\n  if (cVar1 != '\0') {\n    local_res8 = syntax_bits | 0x400000;\n  }\n  pcVar28 = pattern + size;\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  iVar7 = 2;\n  uVar26 = 0;\n  if (*puVar8 != '\0') {\n    iVar7 = 0;\n  }\n  dfasyntax((dfa *)puVar5[1],(localeinfo *)PTR_localeinfo_00056174,local_res8,iVar7);\n  uVar31 = puVar5[3];\n  bVar2 = false;\n  puVar8 = PTR_wcrtomb_00056118 + 0x734;\n  puVar9 = PTR_wcrtomb_00056118 + 0x830;\n  pcVar12 = pattern;\n  do {\n    iVar7 = (int)pcVar28 - (int)pcVar12;\n    pcVar10 = (char *)(*(code *)PTR_rpl_memchr_00056120)(pcVar12,10,iVar7);\n    if (pcVar10 != (char *)0x0) {\n      iVar7 = (int)pcVar10 - (int)pcVar12;\n      pcVar10 = pcVar10 + 1;\n    }\n    pvVar20 = (void *)puVar5[2];\n    if (uVar26 <= uVar31) {\n      if (pvVar20 == (void *)0x0) {\n        sVar15 = 0x40;\n        if (uVar26 == 0) {\n          uVar26 = 2;\n        }\n        else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar26 = uVar26 + 1 + (uVar26 >> 1);\n        sVar15 = uVar26 * 0x20;\n      }\n      pvVar20 = xrealloc(pvVar20,sVar15);\n      uVar31 = puVar5[3];\n      puVar5[2] = pvVar20;\n    }\n    cVar1 = *(char *)kwset;\n    puVar32 = (undefined4 *)((int)pvVar20 + uVar31 * 0x20);\n    *puVar32 = 0;\n    puVar32[1] = 0;\n    puVar3 = PTR_re_compile_pattern_00056374;\n    if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      xmalloc(0x100);\n    }\n    puVar32[4] = 0;\n    puVar32[5] = 0;\n    iVar11 = (*(code *)puVar3)(pcVar12,iVar7,puVar32);\n    if (iVar11 != 0) {\n      pcVar12 = pattern_file_name(puVar5[3] + 1,&lineno);\n      if (*pcVar12 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);\n      }\n      else {\n        local_58 = (char *)lineno;\n        local_54 = iVar11;\n        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);\n      }\n      bVar2 = true;\n    }\n    uVar31 = puVar5[3] + 1;\n    puVar5[3] = uVar31;\n    pcVar12 = pcVar10;\n  } while (pcVar10 != (char *)0x0);\n  if (bVar2) {\n    pvVar20 = (void *)(*(code *)PTR_exit_00056430)(2);\n    return pvVar20;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') || (*PTR_match_lines_000561b8 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n    xmalloc(size + 0x2d);\n  }\n  puVar23 = (uint *)0x1;\n  pdVar6 = (dfa *)puVar5[1];\n  dfacomp(pattern,size,pdVar6,true);\n  dm = dfamust((dfa *)puVar5[1]);\n  if (dm != (dfamust *)0x0) {\n    kwset = kwsinit(false);\n    _Var16 = dm->exact;\n    *puVar5 = kwset;\n    puVar8 = PTR_strlen_00056424;\n    if (_Var16 != false) {\n      pcVar28 = dm->must;\n      puVar5[7] = puVar5[7] + 1;\n      iVar7 = (*(code *)puVar8)(pcVar28);\n                    /* WARNING: Subroutine does not return */\n      xmalloc((uint)dm->begline + iVar7 + (uint)dm->endline);\n    }\n    pcVar28 = dm->must;\n    pdVar6 = (dfa *)(*(code *)PTR_strlen_00056424)(pcVar28);\n    size = (size_t)pcVar28;\n    kwsincr(kwset,pcVar28,(ptrdiff_t)pdVar6);\n    kwsprep((kwset_t)*puVar5);\n    dfamustfree(dm);\n  }\n  (*(code *)PTR_free_000564c0)(0);\n  if (local_2c == *(undefined4 **)puVar4) {\n    return puVar5;\n  }\n  pcVar34 = EGexecute;\n  puVar32 = local_2c;\n  puVar8 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pcVar12 = local_58;\n  piVar13 = *(int **)(puVar8 + 0x40f5c);\n  end = (char *)(size + (int)pdVar6);\n  pcVar29 = *(char **)(puVar8 + 0x40be0);\n  d = (dfa *)puVar32[1];\n  iStack_94 = *piVar13;\n  puStack_90 = puVar5;\n  pdStack_8c = dm;\n  pkStack_88 = kwset;\n  pcStack_84 = pcVar28;\n  psStack_80 = &lineno;\n  iStack_7c = iVar7;\n  uStack_78 = uVar31;\n  pcStack_74 = pcVar10;\n  pcStack_70 = pcVar10;\n  pcStack_6c = pcVar34;\n  pdVar6 = dfasuperset(d);\n  iVar7 = (int)*pcVar29;\n  _Var16 = dfaisfast(d);\n  pcStack_a8 = (char *)size;\n  if (size < end) {\n    pcVar28 = *(char **)(puVar8 + 0x40c60);\n    pcStack_f0 = (char *)size;\n    do {\n      if (pcVar12 == (char *)0x0) {\n        sStack_a4 = 0;\n        _Stack_a9 = false;\n        pcVar27 = pcStack_f0;\n        pcVar17 = end;\n        if ((kwset_t)*puVar32 != (kwset_t)0x0) {\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pcStack_f0 = pcVar17;\n        pcVar17 = pcStack_f0;\n        pcVar10 = pcVar27;\n        if (pdVar6 == (dfa *)0x0) {\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        pcVar10 = (char *)0xffffffff;\n        if (puVar32[3] == 0) goto LAB_00015bec;\n        pcStack_d8 = pcVar12;\n        pcVar10 = pcStack_f0;\n        pcStack_f0 = end;\nLAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);\n        puVar5 = puVar32 + 4;\n        uStack_e8 = 0;\n        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;\n        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;\n        pcVar17 = pcStack_f0 + -1;\n        uVar30 = 0;\n        pcVar27 = pcStack_f0;\nLAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);\n        pcVar10 = pcVar33;\n        uVar26 = uStack_e8;\n        if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pcStack_f0 < end);\n  }\n  pcVar10 = (char *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar13) {\n    return pcVar10;\n  }\n  pcVar34 = *(code **)(puVar8 + 0x40f3c);\n  (*pcVar34)();\n  pvVar20 = *(void **)(pcVar34 + 0x403e8);\n  *(undefined4 *)((int)pvVar20 + 0x6040) = *(undefined4 *)(*(int *)(pcVar34 + 0x403e8) + 0x6044);\n  return pvVar20;\n}\n\n" (function_definition "void * GEAcompile(char *pattern,size_t size,reg_syntax_t syntax_bits)\n\n{\n  char cVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined3 extraout_var;\n  undefined4 *puVar5;\n  dfa *pdVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  dfamust *dm;\n  kwset_t kwset;\n  int *piVar13;\n  _Bool _Var16;\n  ptrdiff_t pVar14;\n  size_t sVar15;\n  char *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  void *pvVar20;\n  char *pcVar21;\n  int iVar22;\n  uint *puVar23;\n  char *cur;\n  char *pcVar24;\n  dfa *d;\n  int iVar25;\n  uint uVar26;\n  char *pcVar27;\n  char *end;\n  char *pcVar28;\n  char *pcVar29;\n  uint uVar30;\n  uint uVar31;\n  undefined4 *puVar32;\n  char *pcVar33;\n  code *pcVar34;\n  reg_syntax_t local_res8;\n  char *pcStack_f0;\n  uint uStack_e8;\n  char *pcStack_d8;\n  _Bool _Stack_a9;\n  char *pcStack_a8;\n  size_t sStack_a4;\n  kwsmatch kStack_a0;\n  int iStack_94;\n  undefined4 *puStack_90;\n  dfamust *pdStack_8c;\n  kwset_t pkStack_88;\n  char *pcStack_84;\n  size_t *psStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  char *pcStack_74;\n  char *pcStack_70;\n  code *pcStack_6c;\n  char *local_58;\n  int local_54;\n  size_t lineno;\n  undefined4 *local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_000564b4;\n  kwset = (kwset_t)PTR_match_icase_00056190;\n  local_2c = *(undefined4 **)PTR___stack_chk_guard_000564b4;\n  puVar5 = (undefined4 *)xcalloc(1,0x24);\n  pdVar6 = dfaalloc();\n  cVar1 = *(char *)kwset;\n  puVar5[1] = pdVar6;\n  puVar8 = PTR_eolbyte_00056138;\n  local_res8 = syntax_bits;\n  if (cVar1 != '\0') {\n    local_res8 = syntax_bits | 0x400000;\n  }\n  pcVar28 = pattern + size;\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  iVar7 = 2;\n  uVar26 = 0;\n  if (*puVar8 != '\0') {\n    iVar7 = 0;\n  }\n  dfasyntax((dfa *)puVar5[1],(localeinfo *)PTR_localeinfo_00056174,local_res8,iVar7);\n  uVar31 = puVar5[3];\n  bVar2 = false;\n  puVar8 = PTR_wcrtomb_00056118 + 0x734;\n  puVar9 = PTR_wcrtomb_00056118 + 0x830;\n  pcVar12 = pattern;\n  do {\n    iVar7 = (int)pcVar28 - (int)pcVar12;\n    pcVar10 = (char *)(*(code *)PTR_rpl_memchr_00056120)(pcVar12,10,iVar7);\n    if (pcVar10 != (char *)0x0) {\n      iVar7 = (int)pcVar10 - (int)pcVar12;\n      pcVar10 = pcVar10 + 1;\n    }\n    pvVar20 = (void *)puVar5[2];\n    if (uVar26 <= uVar31) {\n      if (pvVar20 == (void *)0x0) {\n        sVar15 = 0x40;\n        if (uVar26 == 0) {\n          uVar26 = 2;\n        }\n        else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar26 = uVar26 + 1 + (uVar26 >> 1);\n        sVar15 = uVar26 * 0x20;\n      }\n      pvVar20 = xrealloc(pvVar20,sVar15);\n      uVar31 = puVar5[3];\n      puVar5[2] = pvVar20;\n    }\n    cVar1 = *(char *)kwset;\n    puVar32 = (undefined4 *)((int)pvVar20 + uVar31 * 0x20);\n    *puVar32 = 0;\n    puVar32[1] = 0;\n    puVar3 = PTR_re_compile_pattern_00056374;\n    if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      xmalloc(0x100);\n    }\n    puVar32[4] = 0;\n    puVar32[5] = 0;\n    iVar11 = (*(code *)puVar3)(pcVar12,iVar7,puVar32);\n    if (iVar11 != 0) {\n      pcVar12 = pattern_file_name(puVar5[3] + 1,&lineno);\n      if (*pcVar12 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);\n      }\n      else {\n        local_58 = (char *)lineno;\n        local_54 = iVar11;\n        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);\n      }\n      bVar2 = true;\n    }\n    uVar31 = puVar5[3] + 1;\n    puVar5[3] = uVar31;\n    pcVar12 = pcVar10;\n  } while (pcVar10 != (char *)0x0);\n  if (bVar2) {\n    pvVar20 = (void *)(*(code *)PTR_exit_00056430)(2);\n    return pvVar20;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') || (*PTR_match_lines_000561b8 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n    xmalloc(size + 0x2d);\n  }\n  puVar23 = (uint *)0x1;\n  pdVar6 = (dfa *)puVar5[1];\n  dfacomp(pattern,size,pdVar6,true);\n  dm = dfamust((dfa *)puVar5[1]);\n  if (dm != (dfamust *)0x0) {\n    kwset = kwsinit(false);\n    _Var16 = dm->exact;\n    *puVar5 = kwset;\n    puVar8 = PTR_strlen_00056424;\n    if (_Var16 != false) {\n      pcVar28 = dm->must;\n      puVar5[7] = puVar5[7] + 1;\n      iVar7 = (*(code *)puVar8)(pcVar28);\n                    /* WARNING: Subroutine does not return */\n      xmalloc((uint)dm->begline + iVar7 + (uint)dm->endline);\n    }\n    pcVar28 = dm->must;\n    pdVar6 = (dfa *)(*(code *)PTR_strlen_00056424)(pcVar28);\n    size = (size_t)pcVar28;\n    kwsincr(kwset,pcVar28,(ptrdiff_t)pdVar6);\n    kwsprep((kwset_t)*puVar5);\n    dfamustfree(dm);\n  }\n  (*(code *)PTR_free_000564c0)(0);\n  if (local_2c == *(undefined4 **)puVar4) {\n    return puVar5;\n  }\n  pcVar34 = EGexecute;\n  puVar32 = local_2c;\n  puVar8 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pcVar12 = local_58;\n  piVar13 = *(int **)(puVar8 + 0x40f5c);\n  end = (char *)(size + (int)pdVar6);\n  pcVar29 = *(char **)(puVar8 + 0x40be0);\n  d = (dfa *)puVar32[1];\n  iStack_94 = *piVar13;\n  puStack_90 = puVar5;\n  pdStack_8c = dm;\n  pkStack_88 = kwset;\n  pcStack_84 = pcVar28;\n  psStack_80 = &lineno;\n  iStack_7c = iVar7;\n  uStack_78 = uVar31;\n  pcStack_74 = pcVar10;\n  pcStack_70 = pcVar10;\n  pcStack_6c = pcVar34;\n  pdVar6 = dfasuperset(d);\n  iVar7 = (int)*pcVar29;\n  _Var16 = dfaisfast(d);\n  pcStack_a8 = (char *)size;\n  if (size < end) {\n    pcVar28 = *(char **)(puVar8 + 0x40c60);\n    pcStack_f0 = (char *)size;\n    do {\n      if (pcVar12 == (char *)0x0) {\n        sStack_a4 = 0;\n        _Stack_a9 = false;\n        pcVar27 = pcStack_f0;\n        pcVar17 = end;\n        if ((kwset_t)*puVar32 != (kwset_t)0x0) {\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pcStack_f0 = pcVar17;\n        pcVar17 = pcStack_f0;\n        pcVar10 = pcVar27;\n        if (pdVar6 == (dfa *)0x0) {\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        pcVar10 = (char *)0xffffffff;\n        if (puVar32[3] == 0) goto LAB_00015bec;\n        pcStack_d8 = pcVar12;\n        pcVar10 = pcStack_f0;\n        pcStack_f0 = end;\nLAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);\n        puVar5 = puVar32 + 4;\n        uStack_e8 = 0;\n        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;\n        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;\n        pcVar17 = pcStack_f0 + -1;\n        uVar30 = 0;\n        pcVar27 = pcStack_f0;\nLAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);\n        pcVar10 = pcVar33;\n        uVar26 = uStack_e8;\n        if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pcStack_f0 < end);\n  }\n  pcVar10 = (char *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar13) {\n    return pcVar10;\n  }\n  pcVar34 = *(code **)(puVar8 + 0x40f3c);\n  (*pcVar34)();\n  pvVar20 = *(void **)(pcVar34 + 0x403e8);\n  *(undefined4 *)((int)pvVar20 + 0x6040) = *(undefined4 *)(*(int *)(pcVar34 + 0x403e8) + 0x6044);\n  return pvVar20;\n}" primitive_type (pointer_declarator "* GEAcompile(char *pattern,size_t size,reg_syntax_t syntax_bits)" * (function_declarator "GEAcompile(char *pattern,size_t size,reg_syntax_t syntax_bits)" identifier (parameter_list "(char *pattern,size_t size,reg_syntax_t syntax_bits)" ( (parameter_declaration "char *pattern" primitive_type (pointer_declarator "*pattern" * identifier)) , (parameter_declaration "size_t size" primitive_type identifier) , (parameter_declaration "reg_syntax_t syntax_bits" type_identifier identifier) )))) (compound_statement "{\n  char cVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined3 extraout_var;\n  undefined4 *puVar5;\n  dfa *pdVar6;\n  int iVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *pcVar10;\n  int iVar11;\n  char *pcVar12;\n  dfamust *dm;\n  kwset_t kwset;\n  int *piVar13;\n  _Bool _Var16;\n  ptrdiff_t pVar14;\n  size_t sVar15;\n  char *pcVar17;\n  uint uVar18;\n  uint uVar19;\n  void *pvVar20;\n  char *pcVar21;\n  int iVar22;\n  uint *puVar23;\n  char *cur;\n  char *pcVar24;\n  dfa *d;\n  int iVar25;\n  uint uVar26;\n  char *pcVar27;\n  char *end;\n  char *pcVar28;\n  char *pcVar29;\n  uint uVar30;\n  uint uVar31;\n  undefined4 *puVar32;\n  char *pcVar33;\n  code *pcVar34;\n  reg_syntax_t local_res8;\n  char *pcStack_f0;\n  uint uStack_e8;\n  char *pcStack_d8;\n  _Bool _Stack_a9;\n  char *pcStack_a8;\n  size_t sStack_a4;\n  kwsmatch kStack_a0;\n  int iStack_94;\n  undefined4 *puStack_90;\n  dfamust *pdStack_8c;\n  kwset_t pkStack_88;\n  char *pcStack_84;\n  size_t *psStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  char *pcStack_74;\n  char *pcStack_70;\n  code *pcStack_6c;\n  char *local_58;\n  int local_54;\n  size_t lineno;\n  undefined4 *local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_000564b4;\n  kwset = (kwset_t)PTR_match_icase_00056190;\n  local_2c = *(undefined4 **)PTR___stack_chk_guard_000564b4;\n  puVar5 = (undefined4 *)xcalloc(1,0x24);\n  pdVar6 = dfaalloc();\n  cVar1 = *(char *)kwset;\n  puVar5[1] = pdVar6;\n  puVar8 = PTR_eolbyte_00056138;\n  local_res8 = syntax_bits;\n  if (cVar1 != '\0') {\n    local_res8 = syntax_bits | 0x400000;\n  }\n  pcVar28 = pattern + size;\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  iVar7 = 2;\n  uVar26 = 0;\n  if (*puVar8 != '\0') {\n    iVar7 = 0;\n  }\n  dfasyntax((dfa *)puVar5[1],(localeinfo *)PTR_localeinfo_00056174,local_res8,iVar7);\n  uVar31 = puVar5[3];\n  bVar2 = false;\n  puVar8 = PTR_wcrtomb_00056118 + 0x734;\n  puVar9 = PTR_wcrtomb_00056118 + 0x830;\n  pcVar12 = pattern;\n  do {\n    iVar7 = (int)pcVar28 - (int)pcVar12;\n    pcVar10 = (char *)(*(code *)PTR_rpl_memchr_00056120)(pcVar12,10,iVar7);\n    if (pcVar10 != (char *)0x0) {\n      iVar7 = (int)pcVar10 - (int)pcVar12;\n      pcVar10 = pcVar10 + 1;\n    }\n    pvVar20 = (void *)puVar5[2];\n    if (uVar26 <= uVar31) {\n      if (pvVar20 == (void *)0x0) {\n        sVar15 = 0x40;\n        if (uVar26 == 0) {\n          uVar26 = 2;\n        }\n        else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar26 = uVar26 + 1 + (uVar26 >> 1);\n        sVar15 = uVar26 * 0x20;\n      }\n      pvVar20 = xrealloc(pvVar20,sVar15);\n      uVar31 = puVar5[3];\n      puVar5[2] = pvVar20;\n    }\n    cVar1 = *(char *)kwset;\n    puVar32 = (undefined4 *)((int)pvVar20 + uVar31 * 0x20);\n    *puVar32 = 0;\n    puVar32[1] = 0;\n    puVar3 = PTR_re_compile_pattern_00056374;\n    if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      xmalloc(0x100);\n    }\n    puVar32[4] = 0;\n    puVar32[5] = 0;\n    iVar11 = (*(code *)puVar3)(pcVar12,iVar7,puVar32);\n    if (iVar11 != 0) {\n      pcVar12 = pattern_file_name(puVar5[3] + 1,&lineno);\n      if (*pcVar12 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);\n      }\n      else {\n        local_58 = (char *)lineno;\n        local_54 = iVar11;\n        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);\n      }\n      bVar2 = true;\n    }\n    uVar31 = puVar5[3] + 1;\n    puVar5[3] = uVar31;\n    pcVar12 = pcVar10;\n  } while (pcVar10 != (char *)0x0);\n  if (bVar2) {\n    pvVar20 = (void *)(*(code *)PTR_exit_00056430)(2);\n    return pvVar20;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') || (*PTR_match_lines_000561b8 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n    xmalloc(size + 0x2d);\n  }\n  puVar23 = (uint *)0x1;\n  pdVar6 = (dfa *)puVar5[1];\n  dfacomp(pattern,size,pdVar6,true);\n  dm = dfamust((dfa *)puVar5[1]);\n  if (dm != (dfamust *)0x0) {\n    kwset = kwsinit(false);\n    _Var16 = dm->exact;\n    *puVar5 = kwset;\n    puVar8 = PTR_strlen_00056424;\n    if (_Var16 != false) {\n      pcVar28 = dm->must;\n      puVar5[7] = puVar5[7] + 1;\n      iVar7 = (*(code *)puVar8)(pcVar28);\n                    /* WARNING: Subroutine does not return */\n      xmalloc((uint)dm->begline + iVar7 + (uint)dm->endline);\n    }\n    pcVar28 = dm->must;\n    pdVar6 = (dfa *)(*(code *)PTR_strlen_00056424)(pcVar28);\n    size = (size_t)pcVar28;\n    kwsincr(kwset,pcVar28,(ptrdiff_t)pdVar6);\n    kwsprep((kwset_t)*puVar5);\n    dfamustfree(dm);\n  }\n  (*(code *)PTR_free_000564c0)(0);\n  if (local_2c == *(undefined4 **)puVar4) {\n    return puVar5;\n  }\n  pcVar34 = EGexecute;\n  puVar32 = local_2c;\n  puVar8 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pcVar12 = local_58;\n  piVar13 = *(int **)(puVar8 + 0x40f5c);\n  end = (char *)(size + (int)pdVar6);\n  pcVar29 = *(char **)(puVar8 + 0x40be0);\n  d = (dfa *)puVar32[1];\n  iStack_94 = *piVar13;\n  puStack_90 = puVar5;\n  pdStack_8c = dm;\n  pkStack_88 = kwset;\n  pcStack_84 = pcVar28;\n  psStack_80 = &lineno;\n  iStack_7c = iVar7;\n  uStack_78 = uVar31;\n  pcStack_74 = pcVar10;\n  pcStack_70 = pcVar10;\n  pcStack_6c = pcVar34;\n  pdVar6 = dfasuperset(d);\n  iVar7 = (int)*pcVar29;\n  _Var16 = dfaisfast(d);\n  pcStack_a8 = (char *)size;\n  if (size < end) {\n    pcVar28 = *(char **)(puVar8 + 0x40c60);\n    pcStack_f0 = (char *)size;\n    do {\n      if (pcVar12 == (char *)0x0) {\n        sStack_a4 = 0;\n        _Stack_a9 = false;\n        pcVar27 = pcStack_f0;\n        pcVar17 = end;\n        if ((kwset_t)*puVar32 != (kwset_t)0x0) {\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pcStack_f0 = pcVar17;\n        pcVar17 = pcStack_f0;\n        pcVar10 = pcVar27;\n        if (pdVar6 == (dfa *)0x0) {\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        pcVar10 = (char *)0xffffffff;\n        if (puVar32[3] == 0) goto LAB_00015bec;\n        pcStack_d8 = pcVar12;\n        pcVar10 = pcStack_f0;\n        pcStack_f0 = end;\nLAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);\n        puVar5 = puVar32 + 4;\n        uStack_e8 = 0;\n        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;\n        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;\n        pcVar17 = pcStack_f0 + -1;\n        uVar30 = 0;\n        pcVar27 = pcStack_f0;\nLAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);\n        pcVar10 = pcVar33;\n        uVar26 = uStack_e8;\n        if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pcStack_f0 < end);\n  }\n  pcVar10 = (char *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar13) {\n    return pcVar10;\n  }\n  pcVar34 = *(code **)(puVar8 + 0x40f3c);\n  (*pcVar34)();\n  pvVar20 = *(void **)(pcVar34 + 0x403e8);\n  *(undefined4 *)((int)pvVar20 + 0x6040) = *(undefined4 *)(*(int *)(pcVar34 + 0x403e8) + 0x6044);\n  return pvVar20;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "dfa *pdVar6;" type_identifier (pointer_declarator "*pdVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "dfamust *dm;" type_identifier (pointer_declarator "*dm" * identifier) ;) (declaration "kwset_t kwset;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "_Bool _Var16;" type_identifier identifier ;) (declaration "ptrdiff_t pVar14;" primitive_type identifier ;) (declaration "size_t sVar15;" primitive_type identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "void *pvVar20;" primitive_type (pointer_declarator "*pvVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "char *cur;" primitive_type (pointer_declarator "*cur" * identifier) ;) (declaration "char *pcVar24;" primitive_type (pointer_declarator "*pcVar24" * identifier) ;) (declaration "dfa *d;" type_identifier (pointer_declarator "*d" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "char *end;" primitive_type (pointer_declarator "*end" * identifier) ;) (declaration "char *pcVar28;" primitive_type (pointer_declarator "*pcVar28" * identifier) ;) (declaration "char *pcVar29;" primitive_type (pointer_declarator "*pcVar29" * identifier) ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "uint uVar31;" type_identifier identifier ;) (declaration "undefined4 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "char *pcVar33;" primitive_type (pointer_declarator "*pcVar33" * identifier) ;) (declaration "code *pcVar34;" type_identifier (pointer_declarator "*pcVar34" * identifier) ;) (declaration "reg_syntax_t local_res8;" type_identifier identifier ;) (declaration "char *pcStack_f0;" primitive_type (pointer_declarator "*pcStack_f0" * identifier) ;) (declaration "uint uStack_e8;" type_identifier identifier ;) (declaration "char *pcStack_d8;" primitive_type (pointer_declarator "*pcStack_d8" * identifier) ;) (declaration "_Bool _Stack_a9;" type_identifier identifier ;) (declaration "char *pcStack_a8;" primitive_type (pointer_declarator "*pcStack_a8" * identifier) ;) (declaration "size_t sStack_a4;" primitive_type identifier ;) (declaration "kwsmatch kStack_a0;" type_identifier identifier ;) (declaration "int iStack_94;" primitive_type identifier ;) (declaration "undefined4 *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "dfamust *pdStack_8c;" type_identifier (pointer_declarator "*pdStack_8c" * identifier) ;) (declaration "kwset_t pkStack_88;" type_identifier identifier ;) (declaration "char *pcStack_84;" primitive_type (pointer_declarator "*pcStack_84" * identifier) ;) (declaration "size_t *psStack_80;" primitive_type (pointer_declarator "*psStack_80" * identifier) ;) (declaration "int iStack_7c;" primitive_type identifier ;) (declaration "uint uStack_78;" type_identifier identifier ;) (declaration "char *pcStack_74;" primitive_type (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "char *pcStack_70;" primitive_type (pointer_declarator "*pcStack_70" * identifier) ;) (declaration "code *pcStack_6c;" type_identifier (pointer_declarator "*pcStack_6c" * identifier) ;) (declaration "char *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "size_t lineno;" primitive_type identifier ;) (declaration "undefined4 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar4 = PTR___stack_chk_guard_000564b4;" (assignment_expression "puVar4 = PTR___stack_chk_guard_000564b4" identifier = identifier) ;) (expression_statement "kwset = (kwset_t)PTR_match_icase_00056190;" (assignment_expression "kwset = (kwset_t)PTR_match_icase_00056190" identifier = (cast_expression "(kwset_t)PTR_match_icase_00056190" ( (type_descriptor "kwset_t" type_identifier) ) identifier)) ;) (expression_statement "local_2c = *(undefined4 **)PTR___stack_chk_guard_000564b4;" (assignment_expression "local_2c = *(undefined4 **)PTR___stack_chk_guard_000564b4" identifier = (pointer_expression "*(undefined4 **)PTR___stack_chk_guard_000564b4" * (cast_expression "(undefined4 **)PTR___stack_chk_guard_000564b4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar5 = (undefined4 *)xcalloc(1,0x24);" (assignment_expression "puVar5 = (undefined4 *)xcalloc(1,0x24)" identifier = (cast_expression "(undefined4 *)xcalloc(1,0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xcalloc(1,0x24)" identifier (argument_list "(1,0x24)" ( number_literal , number_literal ))))) ;) (expression_statement "pdVar6 = dfaalloc();" (assignment_expression "pdVar6 = dfaalloc()" identifier = (call_expression "dfaalloc()" identifier (argument_list "()" ( )))) ;) (expression_statement "cVar1 = *(char *)kwset;" (assignment_expression "cVar1 = *(char *)kwset" identifier = (pointer_expression "*(char *)kwset" * (cast_expression "(char *)kwset" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar5[1] = pdVar6;" (assignment_expression "puVar5[1] = pdVar6" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8 = PTR_eolbyte_00056138;" (assignment_expression "puVar8 = PTR_eolbyte_00056138" identifier = identifier) ;) (expression_statement "local_res8 = syntax_bits;" (assignment_expression "local_res8 = syntax_bits" identifier = identifier) ;) (if_statement "if (cVar1 != '\0') {\n    local_res8 = syntax_bits | 0x400000;\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_res8 = syntax_bits | 0x400000;\n  }" { (expression_statement "local_res8 = syntax_bits | 0x400000;" (assignment_expression "local_res8 = syntax_bits | 0x400000" identifier = (binary_expression "syntax_bits | 0x400000" identifier | number_literal)) ;) })) (expression_statement "pcVar28 = pattern + size;" (assignment_expression "pcVar28 = pattern + size" identifier = (binary_expression "pattern + size" identifier + identifier)) ;) (expression_statement "(*(code *)PTR_re_set_syntax_00056360)(local_res8);" (call_expression "(*(code *)PTR_re_set_syntax_00056360)(local_res8)" (parenthesized_expression "(*(code *)PTR_re_set_syntax_00056360)" ( (pointer_expression "*(code *)PTR_re_set_syntax_00056360" * (cast_expression "(code *)PTR_re_set_syntax_00056360" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_res8)" ( identifier ))) ;) (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (if_statement "if (*puVar8 != '\0') {\n    iVar7 = 0;\n  }" if (parenthesized_expression "(*puVar8 != '\0')" ( (binary_expression "*puVar8 != '\0'" (pointer_expression "*puVar8" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar7 = 0;\n  }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) })) (expression_statement "dfasyntax((dfa *)puVar5[1],(localeinfo *)PTR_localeinfo_00056174,local_res8,iVar7);" (call_expression "dfasyntax((dfa *)puVar5[1],(localeinfo *)PTR_localeinfo_00056174,local_res8,iVar7)" identifier (argument_list "((dfa *)puVar5[1],(localeinfo *)PTR_localeinfo_00056174,local_res8,iVar7)" ( (cast_expression "(dfa *)puVar5[1]" ( (type_descriptor "dfa *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ])) , (cast_expression "(localeinfo *)PTR_localeinfo_00056174" ( (type_descriptor "localeinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;) (expression_statement "uVar31 = puVar5[3];" (assignment_expression "uVar31 = puVar5[3]" identifier = (subscript_expression "puVar5[3]" identifier [ number_literal ])) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "puVar8 = PTR_wcrtomb_00056118 + 0x734;" (assignment_expression "puVar8 = PTR_wcrtomb_00056118 + 0x734" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x734" identifier + number_literal)) ;) (expression_statement "puVar9 = PTR_wcrtomb_00056118 + 0x830;" (assignment_expression "puVar9 = PTR_wcrtomb_00056118 + 0x830" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x830" identifier + number_literal)) ;) (expression_statement "pcVar12 = pattern;" (assignment_expression "pcVar12 = pattern" identifier = identifier) ;) (do_statement "do {\n    iVar7 = (int)pcVar28 - (int)pcVar12;\n    pcVar10 = (char *)(*(code *)PTR_rpl_memchr_00056120)(pcVar12,10,iVar7);\n    if (pcVar10 != (char *)0x0) {\n      iVar7 = (int)pcVar10 - (int)pcVar12;\n      pcVar10 = pcVar10 + 1;\n    }\n    pvVar20 = (void *)puVar5[2];\n    if (uVar26 <= uVar31) {\n      if (pvVar20 == (void *)0x0) {\n        sVar15 = 0x40;\n        if (uVar26 == 0) {\n          uVar26 = 2;\n        }\n        else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar26 = uVar26 + 1 + (uVar26 >> 1);\n        sVar15 = uVar26 * 0x20;\n      }\n      pvVar20 = xrealloc(pvVar20,sVar15);\n      uVar31 = puVar5[3];\n      puVar5[2] = pvVar20;\n    }\n    cVar1 = *(char *)kwset;\n    puVar32 = (undefined4 *)((int)pvVar20 + uVar31 * 0x20);\n    *puVar32 = 0;\n    puVar32[1] = 0;\n    puVar3 = PTR_re_compile_pattern_00056374;\n    if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      xmalloc(0x100);\n    }\n    puVar32[4] = 0;\n    puVar32[5] = 0;\n    iVar11 = (*(code *)puVar3)(pcVar12,iVar7,puVar32);\n    if (iVar11 != 0) {\n      pcVar12 = pattern_file_name(puVar5[3] + 1,&lineno);\n      if (*pcVar12 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);\n      }\n      else {\n        local_58 = (char *)lineno;\n        local_54 = iVar11;\n        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);\n      }\n      bVar2 = true;\n    }\n    uVar31 = puVar5[3] + 1;\n    puVar5[3] = uVar31;\n    pcVar12 = pcVar10;\n  } while (pcVar10 != (char *)0x0);" do (compound_statement "{\n    iVar7 = (int)pcVar28 - (int)pcVar12;\n    pcVar10 = (char *)(*(code *)PTR_rpl_memchr_00056120)(pcVar12,10,iVar7);\n    if (pcVar10 != (char *)0x0) {\n      iVar7 = (int)pcVar10 - (int)pcVar12;\n      pcVar10 = pcVar10 + 1;\n    }\n    pvVar20 = (void *)puVar5[2];\n    if (uVar26 <= uVar31) {\n      if (pvVar20 == (void *)0x0) {\n        sVar15 = 0x40;\n        if (uVar26 == 0) {\n          uVar26 = 2;\n        }\n        else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar26 = uVar26 + 1 + (uVar26 >> 1);\n        sVar15 = uVar26 * 0x20;\n      }\n      pvVar20 = xrealloc(pvVar20,sVar15);\n      uVar31 = puVar5[3];\n      puVar5[2] = pvVar20;\n    }\n    cVar1 = *(char *)kwset;\n    puVar32 = (undefined4 *)((int)pvVar20 + uVar31 * 0x20);\n    *puVar32 = 0;\n    puVar32[1] = 0;\n    puVar3 = PTR_re_compile_pattern_00056374;\n    if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      xmalloc(0x100);\n    }\n    puVar32[4] = 0;\n    puVar32[5] = 0;\n    iVar11 = (*(code *)puVar3)(pcVar12,iVar7,puVar32);\n    if (iVar11 != 0) {\n      pcVar12 = pattern_file_name(puVar5[3] + 1,&lineno);\n      if (*pcVar12 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);\n      }\n      else {\n        local_58 = (char *)lineno;\n        local_54 = iVar11;\n        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);\n      }\n      bVar2 = true;\n    }\n    uVar31 = puVar5[3] + 1;\n    puVar5[3] = uVar31;\n    pcVar12 = pcVar10;\n  }" { (expression_statement "iVar7 = (int)pcVar28 - (int)pcVar12;" (assignment_expression "iVar7 = (int)pcVar28 - (int)pcVar12" identifier = (binary_expression "(int)pcVar28 - (int)pcVar12" (cast_expression "(int)pcVar28" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar10 = (char *)(*(code *)PTR_rpl_memchr_00056120)(pcVar12,10,iVar7);" (assignment_expression "pcVar10 = (char *)(*(code *)PTR_rpl_memchr_00056120)(pcVar12,10,iVar7)" identifier = (cast_expression "(char *)(*(code *)PTR_rpl_memchr_00056120)(pcVar12,10,iVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_rpl_memchr_00056120)(pcVar12,10,iVar7)" (parenthesized_expression "(*(code *)PTR_rpl_memchr_00056120)" ( (pointer_expression "*(code *)PTR_rpl_memchr_00056120" * (cast_expression "(code *)PTR_rpl_memchr_00056120" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12,10,iVar7)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (pcVar10 != (char *)0x0) {\n      iVar7 = (int)pcVar10 - (int)pcVar12;\n      pcVar10 = pcVar10 + 1;\n    }" if (parenthesized_expression "(pcVar10 != (char *)0x0)" ( (binary_expression "pcVar10 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar7 = (int)pcVar10 - (int)pcVar12;\n      pcVar10 = pcVar10 + 1;\n    }" { (expression_statement "iVar7 = (int)pcVar10 - (int)pcVar12;" (assignment_expression "iVar7 = (int)pcVar10 - (int)pcVar12" identifier = (binary_expression "(int)pcVar10 - (int)pcVar12" (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) })) (expression_statement "pvVar20 = (void *)puVar5[2];" (assignment_expression "pvVar20 = (void *)puVar5[2]" identifier = (cast_expression "(void *)puVar5[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[2]" identifier [ number_literal ]))) ;) (if_statement "if (uVar26 <= uVar31) {\n      if (pvVar20 == (void *)0x0) {\n        sVar15 = 0x40;\n        if (uVar26 == 0) {\n          uVar26 = 2;\n        }\n        else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar26 = uVar26 + 1 + (uVar26 >> 1);\n        sVar15 = uVar26 * 0x20;\n      }\n      pvVar20 = xrealloc(pvVar20,sVar15);\n      uVar31 = puVar5[3];\n      puVar5[2] = pvVar20;\n    }" if (parenthesized_expression "(uVar26 <= uVar31)" ( (binary_expression "uVar26 <= uVar31" identifier <= identifier) )) (compound_statement "{\n      if (pvVar20 == (void *)0x0) {\n        sVar15 = 0x40;\n        if (uVar26 == 0) {\n          uVar26 = 2;\n        }\n        else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar26 = uVar26 + 1 + (uVar26 >> 1);\n        sVar15 = uVar26 * 0x20;\n      }\n      pvVar20 = xrealloc(pvVar20,sVar15);\n      uVar31 = puVar5[3];\n      puVar5[2] = pvVar20;\n    }" { (if_statement "if (pvVar20 == (void *)0x0) {\n        sVar15 = 0x40;\n        if (uVar26 == 0) {\n          uVar26 = 2;\n        }\n        else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar26 = uVar26 + 1 + (uVar26 >> 1);\n        sVar15 = uVar26 * 0x20;\n      }" if (parenthesized_expression "(pvVar20 == (void *)0x0)" ( (binary_expression "pvVar20 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        sVar15 = 0x40;\n        if (uVar26 == 0) {\n          uVar26 = 2;\n        }\n        else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }" { (expression_statement "sVar15 = 0x40;" (assignment_expression "sVar15 = 0x40" identifier = number_literal) ;) (if_statement "if (uVar26 == 0) {\n          uVar26 = 2;\n        }\n        else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }" if (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar26 = 2;\n        }" { (expression_statement "uVar26 = 2;" (assignment_expression "uVar26 = 2" identifier = number_literal) ;) }) (else_clause "else {\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }" else (compound_statement "{\n          sVar15 = uVar26 << 5;\n          if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;\n        }" { (expression_statement "sVar15 = uVar26 << 5;" (assignment_expression "sVar15 = uVar26 << 5" identifier = (binary_expression "uVar26 << 5" identifier << number_literal)) ;) (if_statement "if (((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)) goto LAB_000152e8;" if (parenthesized_expression "(((int)sVar15 < 0) || (uVar26 >> 0x1b != 0))" ( (binary_expression "((int)sVar15 < 0) || (uVar26 >> 0x1b != 0)" (parenthesized_expression "((int)sVar15 < 0)" ( (binary_expression "(int)sVar15 < 0" (cast_expression "(int)sVar15" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(uVar26 >> 0x1b != 0)" ( (binary_expression "uVar26 >> 0x1b != 0" (binary_expression "uVar26 >> 0x1b" identifier >> number_literal) != number_literal) ))) )) (goto_statement "goto LAB_000152e8;" goto statement_identifier ;)) }))) }) (else_clause "else {\n        if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar26 = uVar26 + 1 + (uVar26 >> 1);\n        sVar15 = uVar26 * 0x20;\n      }" else (compound_statement "{\n        if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }\n        uVar26 = uVar26 + 1 + (uVar26 >> 1);\n        sVar15 = uVar26 * 0x20;\n      }" { (if_statement "if (0x2aaaaa9 < uVar26) {\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }" if (parenthesized_expression "(0x2aaaaa9 < uVar26)" ( (binary_expression "0x2aaaaa9 < uVar26" number_literal < identifier) )) (compound_statement "{\nLAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();\n        }" { (labeled_statement "LAB_000152e8:\n                    /* WARNING: Subroutine does not return */\n          xalloc_die();" statement_identifier : comment (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "uVar26 = uVar26 + 1 + (uVar26 >> 1);" (assignment_expression "uVar26 = uVar26 + 1 + (uVar26 >> 1)" identifier = (binary_expression "uVar26 + 1 + (uVar26 >> 1)" (binary_expression "uVar26 + 1" identifier + number_literal) + (parenthesized_expression "(uVar26 >> 1)" ( (binary_expression "uVar26 >> 1" identifier >> number_literal) )))) ;) (expression_statement "sVar15 = uVar26 * 0x20;" (assignment_expression "sVar15 = uVar26 * 0x20" identifier = (binary_expression "uVar26 * 0x20" identifier * number_literal)) ;) }))) (expression_statement "pvVar20 = xrealloc(pvVar20,sVar15);" (assignment_expression "pvVar20 = xrealloc(pvVar20,sVar15)" identifier = (call_expression "xrealloc(pvVar20,sVar15)" identifier (argument_list "(pvVar20,sVar15)" ( identifier , identifier )))) ;) (expression_statement "uVar31 = puVar5[3];" (assignment_expression "uVar31 = puVar5[3]" identifier = (subscript_expression "puVar5[3]" identifier [ number_literal ])) ;) (expression_statement "puVar5[2] = pvVar20;" (assignment_expression "puVar5[2] = pvVar20" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "cVar1 = *(char *)kwset;" (assignment_expression "cVar1 = *(char *)kwset" identifier = (pointer_expression "*(char *)kwset" * (cast_expression "(char *)kwset" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar32 = (undefined4 *)((int)pvVar20 + uVar31 * 0x20);" (assignment_expression "puVar32 = (undefined4 *)((int)pvVar20 + uVar31 * 0x20)" identifier = (cast_expression "(undefined4 *)((int)pvVar20 + uVar31 * 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar20 + uVar31 * 0x20)" ( (binary_expression "(int)pvVar20 + uVar31 * 0x20" (cast_expression "(int)pvVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar31 * 0x20" identifier * number_literal)) )))) ;) (expression_statement "*puVar32 = 0;" (assignment_expression "*puVar32 = 0" (pointer_expression "*puVar32" * identifier) = number_literal) ;) (expression_statement "puVar32[1] = 0;" (assignment_expression "puVar32[1] = 0" (subscript_expression "puVar32[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3 = PTR_re_compile_pattern_00056374;" (assignment_expression "puVar3 = PTR_re_compile_pattern_00056374" identifier = identifier) ;) (if_statement "if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n      xmalloc(0x100);\n    }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      xmalloc(0x100);\n    }" { comment (expression_statement "xmalloc(0x100);" (call_expression "xmalloc(0x100)" identifier (argument_list "(0x100)" ( number_literal ))) ;) })) (expression_statement "puVar32[4] = 0;" (assignment_expression "puVar32[4] = 0" (subscript_expression "puVar32[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar32[5] = 0;" (assignment_expression "puVar32[5] = 0" (subscript_expression "puVar32[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar11 = (*(code *)puVar3)(pcVar12,iVar7,puVar32);" (assignment_expression "iVar11 = (*(code *)puVar3)(pcVar12,iVar7,puVar32)" identifier = (call_expression "(*(code *)puVar3)(pcVar12,iVar7,puVar32)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12,iVar7,puVar32)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar11 != 0) {\n      pcVar12 = pattern_file_name(puVar5[3] + 1,&lineno);\n      if (*pcVar12 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);\n      }\n      else {\n        local_58 = (char *)lineno;\n        local_54 = iVar11;\n        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);\n      }\n      bVar2 = true;\n    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar12 = pattern_file_name(puVar5[3] + 1,&lineno);\n      if (*pcVar12 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);\n      }\n      else {\n        local_58 = (char *)lineno;\n        local_54 = iVar11;\n        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);\n      }\n      bVar2 = true;\n    }" { (expression_statement "pcVar12 = pattern_file_name(puVar5[3] + 1,&lineno);" (assignment_expression "pcVar12 = pattern_file_name(puVar5[3] + 1,&lineno)" identifier = (call_expression "pattern_file_name(puVar5[3] + 1,&lineno)" identifier (argument_list "(puVar5[3] + 1,&lineno)" ( (binary_expression "puVar5[3] + 1" (subscript_expression "puVar5[3]" identifier [ number_literal ]) + number_literal) , (pointer_expression "&lineno" & identifier) )))) ;) (if_statement "if (*pcVar12 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);\n      }\n      else {\n        local_58 = (char *)lineno;\n        local_54 = iVar11;\n        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);\n      }" if (parenthesized_expression "(*pcVar12 == '\0')" ( (binary_expression "*pcVar12 == '\0'" (pointer_expression "*pcVar12" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);\n      }" { (expression_statement "(*(code *)PTR_error_00056450)(0,0,puVar9,iVar11);" (call_expression "(*(code *)PTR_error_00056450)(0,0,puVar9,iVar11)" (parenthesized_expression "(*(code *)PTR_error_00056450)" ( (pointer_expression "*(code *)PTR_error_00056450" * (cast_expression "(code *)PTR_error_00056450" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,puVar9,iVar11)" ( number_literal , number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n        local_58 = (char *)lineno;\n        local_54 = iVar11;\n        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);\n      }" else (compound_statement "{\n        local_58 = (char *)lineno;\n        local_54 = iVar11;\n        (*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);\n      }" { (expression_statement "local_58 = (char *)lineno;" (assignment_expression "local_58 = (char *)lineno" identifier = (cast_expression "(char *)lineno" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_54 = iVar11;" (assignment_expression "local_54 = iVar11" identifier = identifier) ;) (expression_statement "(*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12);" (call_expression "(*(code *)PTR_error_00056450)(0,0,puVar8,pcVar12)" (parenthesized_expression "(*(code *)PTR_error_00056450)" ( (pointer_expression "*(code *)PTR_error_00056450" * (cast_expression "(code *)PTR_error_00056450" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,puVar8,pcVar12)" ( number_literal , number_literal , identifier , identifier ))) ;) }))) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) })) (expression_statement "uVar31 = puVar5[3] + 1;" (assignment_expression "uVar31 = puVar5[3] + 1" identifier = (binary_expression "puVar5[3] + 1" (subscript_expression "puVar5[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "puVar5[3] = uVar31;" (assignment_expression "puVar5[3] = uVar31" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar12 = pcVar10;" (assignment_expression "pcVar12 = pcVar10" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar10 != (char *)0x0)" ( (binary_expression "pcVar10 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (bVar2) {\n    pvVar20 = (void *)(*(code *)PTR_exit_00056430)(2);\n    return pvVar20;\n  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n    pvVar20 = (void *)(*(code *)PTR_exit_00056430)(2);\n    return pvVar20;\n  }" { (expression_statement "pvVar20 = (void *)(*(code *)PTR_exit_00056430)(2);" (assignment_expression "pvVar20 = (void *)(*(code *)PTR_exit_00056430)(2)" identifier = (cast_expression "(void *)(*(code *)PTR_exit_00056430)(2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_exit_00056430)(2)" (parenthesized_expression "(*(code *)PTR_exit_00056430)" ( (pointer_expression "*(code *)PTR_exit_00056430" * (cast_expression "(code *)PTR_exit_00056430" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))))) ;) (return_statement "return pvVar20;" return identifier ;) })) (if_statement "if ((*PTR_match_words_000561b4 != '\0') || (*PTR_match_lines_000561b8 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n    xmalloc(size + 0x2d);\n  }" if (parenthesized_expression "((*PTR_match_words_000561b4 != '\0') || (*PTR_match_lines_000561b8 != '\0'))" ( (binary_expression "(*PTR_match_words_000561b4 != '\0') || (*PTR_match_lines_000561b8 != '\0')" (parenthesized_expression "(*PTR_match_words_000561b4 != '\0')" ( (binary_expression "*PTR_match_words_000561b4 != '\0'" (pointer_expression "*PTR_match_words_000561b4" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*PTR_match_lines_000561b8 != '\0')" ( (binary_expression "*PTR_match_lines_000561b8 != '\0'" (pointer_expression "*PTR_match_lines_000561b8" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    xmalloc(size + 0x2d);\n  }" { comment (expression_statement "xmalloc(size + 0x2d);" (call_expression "xmalloc(size + 0x2d)" identifier (argument_list "(size + 0x2d)" ( (binary_expression "size + 0x2d" identifier + number_literal) ))) ;) })) (expression_statement "puVar23 = (uint *)0x1;" (assignment_expression "puVar23 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar6 = (dfa *)puVar5[1];" (assignment_expression "pdVar6 = (dfa *)puVar5[1]" identifier = (cast_expression "(dfa *)puVar5[1]" ( (type_descriptor "dfa *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ]))) ;) (expression_statement "dfacomp(pattern,size,pdVar6,true);" (call_expression "dfacomp(pattern,size,pdVar6,true)" identifier (argument_list "(pattern,size,pdVar6,true)" ( identifier , identifier , identifier , true ))) ;) (expression_statement "dm = dfamust((dfa *)puVar5[1]);" (assignment_expression "dm = dfamust((dfa *)puVar5[1])" identifier = (call_expression "dfamust((dfa *)puVar5[1])" identifier (argument_list "((dfa *)puVar5[1])" ( (cast_expression "(dfa *)puVar5[1]" ( (type_descriptor "dfa *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ])) )))) ;) (if_statement "if (dm != (dfamust *)0x0) {\n    kwset = kwsinit(false);\n    _Var16 = dm->exact;\n    *puVar5 = kwset;\n    puVar8 = PTR_strlen_00056424;\n    if (_Var16 != false) {\n      pcVar28 = dm->must;\n      puVar5[7] = puVar5[7] + 1;\n      iVar7 = (*(code *)puVar8)(pcVar28);\n                    /* WARNING: Subroutine does not return */\n      xmalloc((uint)dm->begline + iVar7 + (uint)dm->endline);\n    }\n    pcVar28 = dm->must;\n    pdVar6 = (dfa *)(*(code *)PTR_strlen_00056424)(pcVar28);\n    size = (size_t)pcVar28;\n    kwsincr(kwset,pcVar28,(ptrdiff_t)pdVar6);\n    kwsprep((kwset_t)*puVar5);\n    dfamustfree(dm);\n  }" if (parenthesized_expression "(dm != (dfamust *)0x0)" ( (binary_expression "dm != (dfamust *)0x0" identifier != (cast_expression "(dfamust *)0x0" ( (type_descriptor "dfamust *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    kwset = kwsinit(false);\n    _Var16 = dm->exact;\n    *puVar5 = kwset;\n    puVar8 = PTR_strlen_00056424;\n    if (_Var16 != false) {\n      pcVar28 = dm->must;\n      puVar5[7] = puVar5[7] + 1;\n      iVar7 = (*(code *)puVar8)(pcVar28);\n                    /* WARNING: Subroutine does not return */\n      xmalloc((uint)dm->begline + iVar7 + (uint)dm->endline);\n    }\n    pcVar28 = dm->must;\n    pdVar6 = (dfa *)(*(code *)PTR_strlen_00056424)(pcVar28);\n    size = (size_t)pcVar28;\n    kwsincr(kwset,pcVar28,(ptrdiff_t)pdVar6);\n    kwsprep((kwset_t)*puVar5);\n    dfamustfree(dm);\n  }" { (expression_statement "kwset = kwsinit(false);" (assignment_expression "kwset = kwsinit(false)" identifier = (call_expression "kwsinit(false)" identifier (argument_list "(false)" ( false )))) ;) (expression_statement "_Var16 = dm->exact;" (assignment_expression "_Var16 = dm->exact" identifier = (field_expression "dm->exact" identifier -> field_identifier)) ;) (expression_statement "*puVar5 = kwset;" (assignment_expression "*puVar5 = kwset" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "puVar8 = PTR_strlen_00056424;" (assignment_expression "puVar8 = PTR_strlen_00056424" identifier = identifier) ;) (if_statement "if (_Var16 != false) {\n      pcVar28 = dm->must;\n      puVar5[7] = puVar5[7] + 1;\n      iVar7 = (*(code *)puVar8)(pcVar28);\n                    /* WARNING: Subroutine does not return */\n      xmalloc((uint)dm->begline + iVar7 + (uint)dm->endline);\n    }" if (parenthesized_expression "(_Var16 != false)" ( (binary_expression "_Var16 != false" identifier != false) )) (compound_statement "{\n      pcVar28 = dm->must;\n      puVar5[7] = puVar5[7] + 1;\n      iVar7 = (*(code *)puVar8)(pcVar28);\n                    /* WARNING: Subroutine does not return */\n      xmalloc((uint)dm->begline + iVar7 + (uint)dm->endline);\n    }" { (expression_statement "pcVar28 = dm->must;" (assignment_expression "pcVar28 = dm->must" identifier = (field_expression "dm->must" identifier -> field_identifier)) ;) (expression_statement "puVar5[7] = puVar5[7] + 1;" (assignment_expression "puVar5[7] = puVar5[7] + 1" (subscript_expression "puVar5[7]" identifier [ number_literal ]) = (binary_expression "puVar5[7] + 1" (subscript_expression "puVar5[7]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar7 = (*(code *)puVar8)(pcVar28);" (assignment_expression "iVar7 = (*(code *)puVar8)(pcVar28)" identifier = (call_expression "(*(code *)puVar8)(pcVar28)" (parenthesized_expression "(*(code *)puVar8)" ( (pointer_expression "*(code *)puVar8" * (cast_expression "(code *)puVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar28)" ( identifier )))) ;) comment (expression_statement "xmalloc((uint)dm->begline + iVar7 + (uint)dm->endline);" (call_expression "xmalloc((uint)dm->begline + iVar7 + (uint)dm->endline)" identifier (argument_list "((uint)dm->begline + iVar7 + (uint)dm->endline)" ( (binary_expression "(uint)dm->begline + iVar7 + (uint)dm->endline" (binary_expression "(uint)dm->begline + iVar7" (cast_expression "(uint)dm->begline" ( (type_descriptor "uint" type_identifier) ) (field_expression "dm->begline" identifier -> field_identifier)) + identifier) + (cast_expression "(uint)dm->endline" ( (type_descriptor "uint" type_identifier) ) (field_expression "dm->endline" identifier -> field_identifier))) ))) ;) })) (expression_statement "pcVar28 = dm->must;" (assignment_expression "pcVar28 = dm->must" identifier = (field_expression "dm->must" identifier -> field_identifier)) ;) (expression_statement "pdVar6 = (dfa *)(*(code *)PTR_strlen_00056424)(pcVar28);" (assignment_expression "pdVar6 = (dfa *)(*(code *)PTR_strlen_00056424)(pcVar28)" identifier = (cast_expression "(dfa *)(*(code *)PTR_strlen_00056424)(pcVar28)" ( (type_descriptor "dfa *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_00056424)(pcVar28)" (parenthesized_expression "(*(code *)PTR_strlen_00056424)" ( (pointer_expression "*(code *)PTR_strlen_00056424" * (cast_expression "(code *)PTR_strlen_00056424" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar28)" ( identifier ))))) ;) (expression_statement "size = (size_t)pcVar28;" (assignment_expression "size = (size_t)pcVar28" identifier = (cast_expression "(size_t)pcVar28" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "kwsincr(kwset,pcVar28,(ptrdiff_t)pdVar6);" (call_expression "kwsincr(kwset,pcVar28,(ptrdiff_t)pdVar6)" identifier (argument_list "(kwset,pcVar28,(ptrdiff_t)pdVar6)" ( identifier , identifier , (cast_expression "(ptrdiff_t)pdVar6" ( (type_descriptor "ptrdiff_t" primitive_type) ) identifier) ))) ;) (expression_statement "kwsprep((kwset_t)*puVar5);" (call_expression "kwsprep((kwset_t)*puVar5)" identifier (argument_list "((kwset_t)*puVar5)" ( (binary_expression "(kwset_t)*puVar5" (parenthesized_expression "(kwset_t)" ( identifier )) * identifier) ))) ;) (expression_statement "dfamustfree(dm);" (call_expression "dfamustfree(dm)" identifier (argument_list "(dm)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_free_000564c0)(0);" (call_expression "(*(code *)PTR_free_000564c0)(0)" (parenthesized_expression "(*(code *)PTR_free_000564c0)" ( (pointer_expression "*(code *)PTR_free_000564c0" * (cast_expression "(code *)PTR_free_000564c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal ))) ;) (if_statement "if (local_2c == *(undefined4 **)puVar4) {\n    return puVar5;\n  }" if (parenthesized_expression "(local_2c == *(undefined4 **)puVar4)" ( (binary_expression "local_2c == *(undefined4 **)puVar4" identifier == (pointer_expression "*(undefined4 **)puVar4" * (cast_expression "(undefined4 **)puVar4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return puVar5;\n  }" { (return_statement "return puVar5;" return identifier ;) })) (expression_statement "pcVar34 = EGexecute;" (assignment_expression "pcVar34 = EGexecute" identifier = identifier) ;) (expression_statement "puVar32 = local_2c;" (assignment_expression "puVar32 = local_2c" identifier = identifier) ;) (expression_statement "puVar8 = PTR___stack_chk_fail_00056494;" (assignment_expression "puVar8 = PTR___stack_chk_fail_00056494" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00056494)();" (call_expression "(*(code *)PTR___stack_chk_fail_00056494)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00056494)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00056494" * (cast_expression "(code *)PTR___stack_chk_fail_00056494" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar12 = local_58;" (assignment_expression "pcVar12 = local_58" identifier = identifier) ;) (expression_statement "piVar13 = *(int **)(puVar8 + 0x40f5c);" (assignment_expression "piVar13 = *(int **)(puVar8 + 0x40f5c)" identifier = (pointer_expression "*(int **)(puVar8 + 0x40f5c)" * (cast_expression "(int **)(puVar8 + 0x40f5c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40f5c)" ( (binary_expression "puVar8 + 0x40f5c" identifier + number_literal) ))))) ;) (expression_statement "end = (char *)(size + (int)pdVar6);" (assignment_expression "end = (char *)(size + (int)pdVar6)" identifier = (cast_expression "(char *)(size + (int)pdVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(size + (int)pdVar6)" ( (binary_expression "size + (int)pdVar6" identifier + (cast_expression "(int)pdVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar29 = *(char **)(puVar8 + 0x40be0);" (assignment_expression "pcVar29 = *(char **)(puVar8 + 0x40be0)" identifier = (pointer_expression "*(char **)(puVar8 + 0x40be0)" * (cast_expression "(char **)(puVar8 + 0x40be0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40be0)" ( (binary_expression "puVar8 + 0x40be0" identifier + number_literal) ))))) ;) (expression_statement "d = (dfa *)puVar32[1];" (assignment_expression "d = (dfa *)puVar32[1]" identifier = (cast_expression "(dfa *)puVar32[1]" ( (type_descriptor "dfa *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar32[1]" identifier [ number_literal ]))) ;) (expression_statement "iStack_94 = *piVar13;" (assignment_expression "iStack_94 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "puStack_90 = puVar5;" (assignment_expression "puStack_90 = puVar5" identifier = identifier) ;) (expression_statement "pdStack_8c = dm;" (assignment_expression "pdStack_8c = dm" identifier = identifier) ;) (expression_statement "pkStack_88 = kwset;" (assignment_expression "pkStack_88 = kwset" identifier = identifier) ;) (expression_statement "pcStack_84 = pcVar28;" (assignment_expression "pcStack_84 = pcVar28" identifier = identifier) ;) (expression_statement "psStack_80 = &lineno;" (assignment_expression "psStack_80 = &lineno" identifier = (pointer_expression "&lineno" & identifier)) ;) (expression_statement "iStack_7c = iVar7;" (assignment_expression "iStack_7c = iVar7" identifier = identifier) ;) (expression_statement "uStack_78 = uVar31;" (assignment_expression "uStack_78 = uVar31" identifier = identifier) ;) (expression_statement "pcStack_74 = pcVar10;" (assignment_expression "pcStack_74 = pcVar10" identifier = identifier) ;) (expression_statement "pcStack_70 = pcVar10;" (assignment_expression "pcStack_70 = pcVar10" identifier = identifier) ;) (expression_statement "pcStack_6c = pcVar34;" (assignment_expression "pcStack_6c = pcVar34" identifier = identifier) ;) (expression_statement "pdVar6 = dfasuperset(d);" (assignment_expression "pdVar6 = dfasuperset(d)" identifier = (call_expression "dfasuperset(d)" identifier (argument_list "(d)" ( identifier )))) ;) (expression_statement "iVar7 = (int)*pcVar29;" (assignment_expression "iVar7 = (int)*pcVar29" identifier = (cast_expression "(int)*pcVar29" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar29" * identifier))) ;) (expression_statement "_Var16 = dfaisfast(d);" (assignment_expression "_Var16 = dfaisfast(d)" identifier = (call_expression "dfaisfast(d)" identifier (argument_list "(d)" ( identifier )))) ;) (expression_statement "pcStack_a8 = (char *)size;" (assignment_expression "pcStack_a8 = (char *)size" identifier = (cast_expression "(char *)size" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (size < end) {\n    pcVar28 = *(char **)(puVar8 + 0x40c60);\n    pcStack_f0 = (char *)size;\n    do {\n      if (pcVar12 == (char *)0x0) {\n        sStack_a4 = 0;\n        _Stack_a9 = false;\n        pcVar27 = pcStack_f0;\n        pcVar17 = end;\n        if ((kwset_t)*puVar32 != (kwset_t)0x0) {\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pcStack_f0 = pcVar17;\n        pcVar17 = pcStack_f0;\n        pcVar10 = pcVar27;\n        if (pdVar6 == (dfa *)0x0) {\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        pcVar10 = (char *)0xffffffff;\n        if (puVar32[3] == 0) goto LAB_00015bec;\n        pcStack_d8 = pcVar12;\n        pcVar10 = pcStack_f0;\n        pcStack_f0 = end;\nLAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);\n        puVar5 = puVar32 + 4;\n        uStack_e8 = 0;\n        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;\n        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;\n        pcVar17 = pcStack_f0 + -1;\n        uVar30 = 0;\n        pcVar27 = pcStack_f0;\nLAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);\n        pcVar10 = pcVar33;\n        uVar26 = uStack_e8;\n        if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pcStack_f0 < end);\n  }" if (parenthesized_expression "(size < end)" ( (binary_expression "size < end" identifier < identifier) )) (compound_statement "{\n    pcVar28 = *(char **)(puVar8 + 0x40c60);\n    pcStack_f0 = (char *)size;\n    do {\n      if (pcVar12 == (char *)0x0) {\n        sStack_a4 = 0;\n        _Stack_a9 = false;\n        pcVar27 = pcStack_f0;\n        pcVar17 = end;\n        if ((kwset_t)*puVar32 != (kwset_t)0x0) {\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pcStack_f0 = pcVar17;\n        pcVar17 = pcStack_f0;\n        pcVar10 = pcVar27;\n        if (pdVar6 == (dfa *)0x0) {\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        pcVar10 = (char *)0xffffffff;\n        if (puVar32[3] == 0) goto LAB_00015bec;\n        pcStack_d8 = pcVar12;\n        pcVar10 = pcStack_f0;\n        pcStack_f0 = end;\nLAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);\n        puVar5 = puVar32 + 4;\n        uStack_e8 = 0;\n        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;\n        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;\n        pcVar17 = pcStack_f0 + -1;\n        uVar30 = 0;\n        pcVar27 = pcStack_f0;\nLAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);\n        pcVar10 = pcVar33;\n        uVar26 = uStack_e8;\n        if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pcStack_f0 < end);\n  }" { (expression_statement "pcVar28 = *(char **)(puVar8 + 0x40c60);" (assignment_expression "pcVar28 = *(char **)(puVar8 + 0x40c60)" identifier = (pointer_expression "*(char **)(puVar8 + 0x40c60)" * (cast_expression "(char **)(puVar8 + 0x40c60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40c60)" ( (binary_expression "puVar8 + 0x40c60" identifier + number_literal) ))))) ;) (expression_statement "pcStack_f0 = (char *)size;" (assignment_expression "pcStack_f0 = (char *)size" identifier = (cast_expression "(char *)size" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      if (pcVar12 == (char *)0x0) {\n        sStack_a4 = 0;\n        _Stack_a9 = false;\n        pcVar27 = pcStack_f0;\n        pcVar17 = end;\n        if ((kwset_t)*puVar32 != (kwset_t)0x0) {\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pcStack_f0 = pcVar17;\n        pcVar17 = pcStack_f0;\n        pcVar10 = pcVar27;\n        if (pdVar6 == (dfa *)0x0) {\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        pcVar10 = (char *)0xffffffff;\n        if (puVar32[3] == 0) goto LAB_00015bec;\n        pcStack_d8 = pcVar12;\n        pcVar10 = pcStack_f0;\n        pcStack_f0 = end;\nLAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);\n        puVar5 = puVar32 + 4;\n        uStack_e8 = 0;\n        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;\n        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;\n        pcVar17 = pcStack_f0 + -1;\n        uVar30 = 0;\n        pcVar27 = pcStack_f0;\nLAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);\n        pcVar10 = pcVar33;\n        uVar26 = uStack_e8;\n        if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pcStack_f0 < end);" do (compound_statement "{\n      if (pcVar12 == (char *)0x0) {\n        sStack_a4 = 0;\n        _Stack_a9 = false;\n        pcVar27 = pcStack_f0;\n        pcVar17 = end;\n        if ((kwset_t)*puVar32 != (kwset_t)0x0) {\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pcStack_f0 = pcVar17;\n        pcVar17 = pcStack_f0;\n        pcVar10 = pcVar27;\n        if (pdVar6 == (dfa *)0x0) {\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        pcVar10 = (char *)0xffffffff;\n        if (puVar32[3] == 0) goto LAB_00015bec;\n        pcStack_d8 = pcVar12;\n        pcVar10 = pcStack_f0;\n        pcStack_f0 = end;\nLAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);\n        puVar5 = puVar32 + 4;\n        uStack_e8 = 0;\n        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;\n        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;\n        pcVar17 = pcStack_f0 + -1;\n        uVar30 = 0;\n        pcVar27 = pcStack_f0;\nLAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);\n        pcVar10 = pcVar33;\n        uVar26 = uStack_e8;\n        if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }\n      }\n    }" { (if_statement "if (pcVar12 == (char *)0x0) {\n        sStack_a4 = 0;\n        _Stack_a9 = false;\n        pcVar27 = pcStack_f0;\n        pcVar17 = end;\n        if ((kwset_t)*puVar32 != (kwset_t)0x0) {\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pcStack_f0 = pcVar17;\n        pcVar17 = pcStack_f0;\n        pcVar10 = pcVar27;\n        if (pdVar6 == (dfa *)0x0) {\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        pcVar10 = (char *)0xffffffff;\n        if (puVar32[3] == 0) goto LAB_00015bec;\n        pcStack_d8 = pcVar12;\n        pcVar10 = pcStack_f0;\n        pcStack_f0 = end;\nLAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);\n        puVar5 = puVar32 + 4;\n        uStack_e8 = 0;\n        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;\n        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;\n        pcVar17 = pcStack_f0 + -1;\n        uVar30 = 0;\n        pcVar27 = pcStack_f0;\nLAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);\n        pcVar10 = pcVar33;\n        uVar26 = uStack_e8;\n        if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }\n      }" if (parenthesized_expression "(pcVar12 == (char *)0x0)" ( (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        sStack_a4 = 0;\n        _Stack_a9 = false;\n        pcVar27 = pcStack_f0;\n        pcVar17 = end;\n        if ((kwset_t)*puVar32 != (kwset_t)0x0) {\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pcStack_f0 = pcVar17;\n        pcVar17 = pcStack_f0;\n        pcVar10 = pcVar27;\n        if (pdVar6 == (dfa *)0x0) {\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }" { (expression_statement "sStack_a4 = 0;" (assignment_expression "sStack_a4 = 0" identifier = number_literal) ;) (expression_statement "_Stack_a9 = false;" (assignment_expression "_Stack_a9 = false" identifier = false) ;) (expression_statement "pcVar27 = pcStack_f0;" (assignment_expression "pcVar27 = pcStack_f0" identifier = identifier) ;) (expression_statement "pcVar17 = end;" (assignment_expression "pcVar17 = end" identifier = identifier) ;) (if_statement "if ((kwset_t)*puVar32 != (kwset_t)0x0) {\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }" if (parenthesized_expression "((kwset_t)*puVar32 != (kwset_t)0x0)" ( (binary_expression "(kwset_t)*puVar32 != (kwset_t)0x0" (binary_expression "(kwset_t)*puVar32" (parenthesized_expression "(kwset_t)" ( identifier )) * identifier) != (cast_expression "(kwset_t)0x0" ( (type_descriptor "kwset_t" type_identifier) ) number_literal)) )) (compound_statement "{\n          pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);\n          if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }\n          break;\n        }" { (expression_statement "pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true);" (assignment_expression "pVar14 = kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true)" identifier = (call_expression "kwsexec((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true)" identifier (argument_list "((kwset_t)*puVar32,pcStack_f0 + -(uint)*(byte *)(puVar32 + 8),\n                           (uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0),&kStack_a0,\n                           true)" ( (binary_expression "(kwset_t)*puVar32" (parenthesized_expression "(kwset_t)" ( identifier )) * identifier) , (binary_expression "pcStack_f0 + -(uint)*(byte *)(puVar32 + 8)" identifier + (binary_expression "-(uint)*(byte *)(puVar32 + 8)" (unary_expression "-(uint)" - (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(puVar32 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 8)" ( (binary_expression "puVar32 + 8" identifier + number_literal) ))))) , (binary_expression "(uint)*(byte *)(puVar32 + 8) + ((int)end - (int)pcStack_f0)" (binary_expression "(uint)*(byte *)(puVar32 + 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(puVar32 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 8)" ( (binary_expression "puVar32 + 8" identifier + number_literal) )))) + (parenthesized_expression "((int)end - (int)pcStack_f0)" ( (binary_expression "(int)end - (int)pcStack_f0" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (pointer_expression "&kStack_a0" & identifier) , true )))) ;) (if_statement "if (-1 < pVar14) {\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }" if (parenthesized_expression "(-1 < pVar14)" ( (binary_expression "-1 < pVar14" number_literal < identifier) )) (compound_statement "{\n            pcVar27 = pcStack_f0 + pVar14;\n            iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n            pcVar10 = (char *)size;\n            if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;\n            goto LAB_00015bdc;\n          }" { (expression_statement "pcVar27 = pcStack_f0 + pVar14;" (assignment_expression "pcVar27 = pcStack_f0 + pVar14" identifier = (binary_expression "pcStack_f0 + pVar14" identifier + identifier)) ;) (expression_statement "iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);" (assignment_expression "iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size)" identifier = (call_expression "(**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size)" (parenthesized_expression "(**(code **)(puVar8 + 0x40ed0))" ( (pointer_expression "**(code **)(puVar8 + 0x40ed0)" * (pointer_expression "*(code **)(puVar8 + 0x40ed0)" * (cast_expression "(code **)(puVar8 + 0x40ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40ed0)" ( (binary_expression "puVar8 + 0x40ed0" identifier + number_literal) ))))) )) (argument_list "(size,iVar7,(int)pcVar27 - size)" ( identifier , identifier , (binary_expression "(int)pcVar27 - size" (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pcVar10 = (char *)size;" (assignment_expression "pcVar10 = (char *)size" identifier = (cast_expression "(char *)size" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar11 != 0) {\n              pcVar10 = (char *)(iVar11 + 1);\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar10 = (char *)(iVar11 + 1);\n            }" { (expression_statement "pcVar10 = (char *)(iVar11 + 1);" (assignment_expression "pcVar10 = (char *)(iVar11 + 1)" identifier = (cast_expression "(char *)(iVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1)" ( (binary_expression "iVar11 + 1" identifier + number_literal) )))) ;) })) (if_statement "if ((int)puVar32[7] <= kStack_a0.index) {\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }" if (parenthesized_expression "((int)puVar32[7] <= kStack_a0.index)" ( (binary_expression "(int)puVar32[7] <= kStack_a0.index" (cast_expression "(int)puVar32[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar32[7]" identifier [ number_literal ])) <= (field_expression "kStack_a0.index" identifier . field_identifier)) )) (compound_statement "{\n              iVar11 = (int)pcVar27 - (int)pcVar10;\n              if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);\n              pcVar27 = pcVar10;\n              if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }" { (expression_statement "iVar11 = (int)pcVar27 - (int)pcVar10;" (assignment_expression "iVar11 = (int)pcVar27 - (int)pcVar10" identifier = (binary_expression "(int)pcVar27 - (int)pcVar10" (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (CONCAT31(extraout_var,_Var16) == 0) {\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }\n              else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }" if (parenthesized_expression "(CONCAT31(extraout_var,_Var16) == 0)" ( (binary_expression "CONCAT31(extraout_var,_Var16) == 0" (call_expression "CONCAT31(extraout_var,_Var16)" identifier (argument_list "(extraout_var,_Var16)" ( identifier , identifier ))) == number_literal) )) (compound_statement "{\nLAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;\n              }" { (labeled_statement "LAB_000156c0:\n                iVar22 = (int)end - (int)pcVar27;" statement_identifier : (expression_statement "iVar22 = (int)end - (int)pcVar27;" (assignment_expression "iVar22 = (int)end - (int)pcVar27" identifier = (binary_expression "(int)end - (int)pcVar27" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }) (else_clause "else {\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }" else (compound_statement "{\n                if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }\n                if (iVar11 < pVar14 >> 2) goto LAB_000156c0;\n                iVar22 = 0;\n                pcVar27 = end;\n                if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }\n              }" { (if_statement "if (iVar11 < 0x10) {\n                  iVar11 = 0x10;\n                }" if (parenthesized_expression "(iVar11 < 0x10)" ( (binary_expression "iVar11 < 0x10" identifier < number_literal) )) (compound_statement "{\n                  iVar11 = 0x10;\n                }" { (expression_statement "iVar11 = 0x10;" (assignment_expression "iVar11 = 0x10" identifier = number_literal) ;) })) (if_statement "if (iVar11 < pVar14 >> 2) goto LAB_000156c0;" if (parenthesized_expression "(iVar11 < pVar14 >> 2)" ( (binary_expression "iVar11 < pVar14 >> 2" identifier < (binary_expression "pVar14 >> 2" identifier >> number_literal)) )) (goto_statement "goto LAB_000156c0;" goto statement_identifier ;)) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "pcVar27 = end;" (assignment_expression "pcVar27 = end" identifier = identifier) ;) (if_statement "if (iVar11 < (int)end - (int)pcStack_f0 >> 2) {\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }" if (parenthesized_expression "(iVar11 < (int)end - (int)pcStack_f0 >> 2)" ( (binary_expression "iVar11 < (int)end - (int)pcStack_f0 >> 2" identifier < (binary_expression "(int)end - (int)pcStack_f0 >> 2" (binary_expression "(int)end - (int)pcStack_f0" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) )) (compound_statement "{\n                  pcVar27 = pcStack_f0 + iVar11 * 4;\n                  goto LAB_000156c0;\n                }" { (expression_statement "pcVar27 = pcStack_f0 + iVar11 * 4;" (assignment_expression "pcVar27 = pcStack_f0 + iVar11 * 4" identifier = (binary_expression "pcStack_f0 + iVar11 * 4" identifier + (binary_expression "iVar11 * 4" identifier * number_literal))) ;) (goto_statement "goto LAB_000156c0;" goto statement_identifier ;) })) }))) (expression_statement "iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22);" (assignment_expression "iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22)" identifier = (call_expression "(**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,iVar22)" (parenthesized_expression "(**(code **)(puVar8 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar8 + 0x40bc8)" * (pointer_expression "*(code **)(puVar8 + 0x40bc8)" * (cast_expression "(code **)(puVar8 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40bc8)" ( (binary_expression "puVar8 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pcVar27,iVar7,iVar22)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar27 = pcVar10;" (assignment_expression "pcVar27 = pcVar10" identifier = identifier) ;) (if_statement "if (iVar11 != 0) {\n                pcVar17 = (char *)(iVar11 + 1);\n              }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                pcVar17 = (char *)(iVar11 + 1);\n              }" { (expression_statement "pcVar17 = (char *)(iVar11 + 1);" (assignment_expression "pcVar17 = (char *)(iVar11 + 1)" identifier = (cast_expression "(char *)(iVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1)" ( (binary_expression "iVar11 + 1" identifier + number_literal) )))) ;) })) (goto_statement "goto joined_r0x00015ca0;" goto statement_identifier ;) })) (expression_statement "iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);" (assignment_expression "iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27)" identifier = (call_expression "(**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27)" (parenthesized_expression "(**(code **)(puVar8 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar8 + 0x40bc8)" * (pointer_expression "*(code **)(puVar8 + 0x40bc8)" * (cast_expression "(code **)(puVar8 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40bc8)" ( (binary_expression "puVar8 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pcVar27,iVar7,(int)end - (int)pcVar27)" ( identifier , identifier , (binary_expression "(int)end - (int)pcVar27" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcStack_f0 = end;" (assignment_expression "pcStack_f0 = end" identifier = identifier) ;) (if_statement "if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }" { (expression_statement "pcStack_f0 = (char *)(iVar11 + 1);" (assignment_expression "pcStack_f0 = (char *)(iVar11 + 1)" identifier = (cast_expression "(char *)(iVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1)" ( (binary_expression "iVar11 + 1" identifier + number_literal) )))) ;) })) (if_statement "if ((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')) {\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }" if (parenthesized_expression "((**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0'))" ( (binary_expression "(**(char **)(puVar8 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar8 + 0x40c1c))[1] == '\0')" (parenthesized_expression "(**(char **)(puVar8 + 0x40c1c) == '\x01')" ( (binary_expression "**(char **)(puVar8 + 0x40c1c) == '\x01'" (pointer_expression "**(char **)(puVar8 + 0x40c1c)" * (pointer_expression "*(char **)(puVar8 + 0x40c1c)" * (cast_expression "(char **)(puVar8 + 0x40c1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40c1c)" ( (binary_expression "puVar8 + 0x40c1c" identifier + number_literal) ))))) == (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "((*(char **)(puVar8 + 0x40c1c))[1] == '\0')" ( (binary_expression "(*(char **)(puVar8 + 0x40c1c))[1] == '\0'" (subscript_expression "(*(char **)(puVar8 + 0x40c1c))[1]" (parenthesized_expression "(*(char **)(puVar8 + 0x40c1c))" ( (pointer_expression "*(char **)(puVar8 + 0x40c1c)" * (cast_expression "(char **)(puVar8 + 0x40c1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40c1c)" ( (binary_expression "puVar8 + 0x40c1c" identifier + number_literal) )))) )) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }\n              pVar14 = mb_goback(&pcStack_a8,pcVar27,end);\n              pcVar17 = pcStack_f0;\n              pcVar27 = pcStack_a8;\n              if (pVar14 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }" { (if_statement "if (pcStack_a8 < pcVar10) {\n                pcStack_a8 = pcVar10;\n              }" if (parenthesized_expression "(pcStack_a8 < pcVar10)" ( (binary_expression "pcStack_a8 < pcVar10" identifier < identifier) )) (compound_statement "{\n                pcStack_a8 = pcVar10;\n              }" { (expression_statement "pcStack_a8 = pcVar10;" (assignment_expression "pcStack_a8 = pcVar10" identifier = identifier) ;) })) (expression_statement "pVar14 = mb_goback(&pcStack_a8,pcVar27,end);" (assignment_expression "pVar14 = mb_goback(&pcStack_a8,pcVar27,end)" identifier = (call_expression "mb_goback(&pcStack_a8,pcVar27,end)" identifier (argument_list "(&pcStack_a8,pcVar27,end)" ( (pointer_expression "&pcStack_a8" & identifier) , identifier , identifier )))) ;) (expression_statement "pcVar17 = pcStack_f0;" (assignment_expression "pcVar17 = pcStack_f0" identifier = identifier) ;) (expression_statement "pcVar27 = pcStack_a8;" (assignment_expression "pcVar27 = pcStack_a8" identifier = identifier) ;) (if_statement "if (pVar14 == 0) goto LAB_00015bc8;" if (parenthesized_expression "(pVar14 == 0)" ( (binary_expression "pVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00015bc8;" goto statement_identifier ;)) (goto_statement "goto LAB_00015b08;" goto statement_identifier ;) })) (labeled_statement "LAB_00015bc8:\n            uVar26 = (int)pcStack_f0 - (int)pcVar10;" statement_identifier : (expression_statement "uVar26 = (int)pcStack_f0 - (int)pcVar10;" (assignment_expression "uVar26 = (int)pcStack_f0 - (int)pcVar10" identifier = (binary_expression "(int)pcStack_f0 - (int)pcVar10" (cast_expression "(int)pcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (goto_statement "goto LAB_00015bdc;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (labeled_statement "joined_r0x00015ca0:\n        pcStack_f0 = pcVar17;" statement_identifier : (expression_statement "pcStack_f0 = pcVar17;" (assignment_expression "pcStack_f0 = pcVar17" identifier = identifier) ;)) (expression_statement "pcVar17 = pcStack_f0;" (assignment_expression "pcVar17 = pcStack_f0" identifier = identifier) ;) (expression_statement "pcVar10 = pcVar27;" (assignment_expression "pcVar10 = pcVar27" identifier = identifier) ;) (if_statement "if (pdVar6 == (dfa *)0x0) {\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" if (parenthesized_expression "(pdVar6 == (dfa *)0x0)" ( (binary_expression "pdVar6 == (dfa *)0x0" identifier == (cast_expression "(dfa *)0x0" ( (type_descriptor "dfa *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);\n          pcStack_f0 = pcVar17;\n          if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }\n        }" { (labeled_statement "LAB_00015b08:\n          pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);" statement_identifier : (expression_statement "pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9);" (assignment_expression "pcVar27 = dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9)" identifier = (call_expression "dfaexec((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9)" identifier (argument_list "((dfa *)puVar32[1],pcVar27,pcVar17,false,&sStack_a4,&_Stack_a9)" ( (cast_expression "(dfa *)puVar32[1]" ( (type_descriptor "dfa *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar32[1]" identifier [ number_literal ])) , identifier , identifier , false , (pointer_expression "&sStack_a4" & identifier) , (pointer_expression "&_Stack_a9" & identifier) )))) ;)) (expression_statement "pcStack_f0 = pcVar17;" (assignment_expression "pcStack_f0 = pcVar17" identifier = identifier) ;) (if_statement "if ((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)) {\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }" if (parenthesized_expression "((pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27))" ( (binary_expression "(pcVar27 != (char *)0x0) && (pcStack_f0 = pcVar27, pcVar17 != pcVar27)" (parenthesized_expression "(pcVar27 != (char *)0x0)" ( (binary_expression "pcVar27 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcStack_f0 = pcVar27, pcVar17 != pcVar27)" ( (comma_expression "pcStack_f0 = pcVar27, pcVar17 != pcVar27" (assignment_expression "pcStack_f0 = pcVar27" identifier = identifier) , (binary_expression "pcVar17 != pcVar27" identifier != identifier)) ))) )) (compound_statement "{\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);\n            pcStack_f0 = end;\n            if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            if (_Stack_a9 == false) goto LAB_00015bc8;\n            pcStack_d8 = pcVar10;\n            if (puVar32[3] != 0) goto LAB_00015714;\n          }" { (if_statement "if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }" if (parenthesized_expression "(sStack_a4 != 0)" ( (binary_expression "sStack_a4 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);\n              pcVar10 = (char *)(iVar11 + 1);\n            }" { (expression_statement "iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size);" (assignment_expression "iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size)" identifier = (call_expression "(**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar27 - size)" (parenthesized_expression "(**(code **)(puVar8 + 0x40ed0))" ( (pointer_expression "**(code **)(puVar8 + 0x40ed0)" * (pointer_expression "*(code **)(puVar8 + 0x40ed0)" * (cast_expression "(code **)(puVar8 + 0x40ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40ed0)" ( (binary_expression "puVar8 + 0x40ed0" identifier + number_literal) ))))) )) (argument_list "(size,iVar7,(int)pcVar27 - size)" ( identifier , identifier , (binary_expression "(int)pcVar27 - size" (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pcVar10 = (char *)(iVar11 + 1);" (assignment_expression "pcVar10 = (char *)(iVar11 + 1)" identifier = (cast_expression "(char *)(iVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1)" ( (binary_expression "iVar11 + 1" identifier + number_literal) )))) ;) })) (expression_statement "iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27);" (assignment_expression "iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27)" identifier = (call_expression "(**(code **)(puVar8 + 0x40bc8))(pcVar27,iVar7,(int)end - (int)pcVar27)" (parenthesized_expression "(**(code **)(puVar8 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar8 + 0x40bc8)" * (pointer_expression "*(code **)(puVar8 + 0x40bc8)" * (cast_expression "(code **)(puVar8 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40bc8)" ( (binary_expression "puVar8 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pcVar27,iVar7,(int)end - (int)pcVar27)" ( identifier , identifier , (binary_expression "(int)end - (int)pcVar27" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcStack_f0 = end;" (assignment_expression "pcStack_f0 = end" identifier = identifier) ;) (if_statement "if (iVar11 != 0) {\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }" { (expression_statement "pcStack_f0 = (char *)(iVar11 + 1);" (assignment_expression "pcStack_f0 = (char *)(iVar11 + 1)" identifier = (cast_expression "(char *)(iVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1)" ( (binary_expression "iVar11 + 1" identifier + number_literal) )))) ;) })) (if_statement "if (_Stack_a9 == false) goto LAB_00015bc8;" if (parenthesized_expression "(_Stack_a9 == false)" ( (binary_expression "_Stack_a9 == false" identifier == false) )) (goto_statement "goto LAB_00015bc8;" goto statement_identifier ;)) (expression_statement "pcStack_d8 = pcVar10;" (assignment_expression "pcStack_d8 = pcVar10" identifier = identifier) ;) (if_statement "if (puVar32[3] != 0) goto LAB_00015714;" if (parenthesized_expression "(puVar32[3] != 0)" ( (binary_expression "puVar32[3] != 0" (subscript_expression "puVar32[3]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00015714;" goto statement_identifier ;)) })) }) (else_clause "else {\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" else (compound_statement "{\n          pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);\n          if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" { (expression_statement "pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0);" (assignment_expression "pcVar10 = dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0)" identifier = (call_expression "dfaexec(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0)" identifier (argument_list "(pdVar6,pcVar27,pcStack_f0,false,&sStack_a4,(_Bool *)0x0)" ( identifier , identifier , identifier , false , (pointer_expression "&sStack_a4" & identifier) , (cast_expression "(_Bool *)0x0" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if ((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)) {\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }" if (parenthesized_expression "((pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10))" ( (binary_expression "(pcVar10 != (char *)0x0) && (pcStack_f0 != pcVar10)" (parenthesized_expression "(pcVar10 != (char *)0x0)" ( (binary_expression "pcVar10 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcStack_f0 != pcVar10)" ( (binary_expression "pcStack_f0 != pcVar10" identifier != identifier) ))) )) (compound_statement "{\n            pcStack_f0 = pcVar27;\n            if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }\n            iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);\n            pcVar27 = pcStack_f0;\n            pcVar10 = pcStack_f0;\n            if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }\n            goto LAB_00015b08;\n          }" { (expression_statement "pcStack_f0 = pcVar27;" (assignment_expression "pcStack_f0 = pcVar27" identifier = identifier) ;) (if_statement "if (sStack_a4 != 0) {\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }" if (parenthesized_expression "(sStack_a4 != 0)" ( (binary_expression "sStack_a4 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);\n              pcStack_f0 = (char *)(iVar11 + 1);\n            }" { (expression_statement "iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size);" (assignment_expression "iVar11 = (**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size)" identifier = (call_expression "(**(code **)(puVar8 + 0x40ed0))(size,iVar7,(int)pcVar10 - size)" (parenthesized_expression "(**(code **)(puVar8 + 0x40ed0))" ( (pointer_expression "**(code **)(puVar8 + 0x40ed0)" * (pointer_expression "*(code **)(puVar8 + 0x40ed0)" * (cast_expression "(code **)(puVar8 + 0x40ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40ed0)" ( (binary_expression "puVar8 + 0x40ed0" identifier + number_literal) ))))) )) (argument_list "(size,iVar7,(int)pcVar10 - size)" ( identifier , identifier , (binary_expression "(int)pcVar10 - size" (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pcStack_f0 = (char *)(iVar11 + 1);" (assignment_expression "pcStack_f0 = (char *)(iVar11 + 1)" identifier = (cast_expression "(char *)(iVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1)" ( (binary_expression "iVar11 + 1" identifier + number_literal) )))) ;) })) (expression_statement "iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10);" (assignment_expression "iVar11 = (**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10)" identifier = (call_expression "(**(code **)(puVar8 + 0x40bc8))(pcVar10,iVar7,(int)end - (int)pcVar10)" (parenthesized_expression "(**(code **)(puVar8 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar8 + 0x40bc8)" * (pointer_expression "*(code **)(puVar8 + 0x40bc8)" * (cast_expression "(code **)(puVar8 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40bc8)" ( (binary_expression "puVar8 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pcVar10,iVar7,(int)end - (int)pcVar10)" ( identifier , identifier , (binary_expression "(int)end - (int)pcVar10" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar27 = pcStack_f0;" (assignment_expression "pcVar27 = pcStack_f0" identifier = identifier) ;) (expression_statement "pcVar10 = pcStack_f0;" (assignment_expression "pcVar10 = pcStack_f0" identifier = identifier) ;) (if_statement "if (iVar11 == 0) {\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }\n            else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n              sStack_a4 = 0;\n              pcVar17 = end;\n            }" { (expression_statement "sStack_a4 = 0;" (assignment_expression "sStack_a4 = 0" identifier = number_literal) ;) (expression_statement "pcVar17 = end;" (assignment_expression "pcVar17 = end" identifier = identifier) ;) }) (else_clause "else {\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }" else (compound_statement "{\n              sStack_a4 = 0;\n              pcVar17 = (char *)(iVar11 + 1);\n            }" { (expression_statement "sStack_a4 = 0;" (assignment_expression "sStack_a4 = 0" identifier = number_literal) ;) (expression_statement "pcVar17 = (char *)(iVar11 + 1);" (assignment_expression "pcVar17 = (char *)(iVar11 + 1)" identifier = (cast_expression "(char *)(iVar11 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1)" ( (binary_expression "iVar11 + 1" identifier + number_literal) )))) ;) }))) (goto_statement "goto LAB_00015b08;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n        pcVar10 = (char *)0xffffffff;\n        if (puVar32[3] == 0) goto LAB_00015bec;\n        pcStack_d8 = pcVar12;\n        pcVar10 = pcStack_f0;\n        pcStack_f0 = end;\nLAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);\n        puVar5 = puVar32 + 4;\n        uStack_e8 = 0;\n        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;\n        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;\n        pcVar17 = pcStack_f0 + -1;\n        uVar30 = 0;\n        pcVar27 = pcStack_f0;\nLAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);\n        pcVar10 = pcVar33;\n        uVar26 = uStack_e8;\n        if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }\n      }" else (compound_statement "{\n        pcVar10 = (char *)0xffffffff;\n        if (puVar32[3] == 0) goto LAB_00015bec;\n        pcStack_d8 = pcVar12;\n        pcVar10 = pcStack_f0;\n        pcStack_f0 = end;\nLAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);\n        puVar5 = puVar32 + 4;\n        uStack_e8 = 0;\n        uVar31 = (int)pcStack_f0 - (int)pcStack_d8;\n        iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;\n        pcVar17 = pcStack_f0 + -1;\n        uVar30 = 0;\n        pcVar27 = pcStack_f0;\nLAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);\n        pcVar10 = pcVar33;\n        uVar26 = uStack_e8;\n        if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }\n      }" { (expression_statement "pcVar10 = (char *)0xffffffff;" (assignment_expression "pcVar10 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar32[3] == 0) goto LAB_00015bec;" if (parenthesized_expression "(puVar32[3] == 0)" ( (binary_expression "puVar32[3] == 0" (subscript_expression "puVar32[3]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00015bec;" goto statement_identifier ;)) (expression_statement "pcStack_d8 = pcVar12;" (assignment_expression "pcStack_d8 = pcVar12" identifier = identifier) ;) (expression_statement "pcVar10 = pcStack_f0;" (assignment_expression "pcVar10 = pcStack_f0" identifier = identifier) ;) (expression_statement "pcStack_f0 = end;" (assignment_expression "pcStack_f0 = end" identifier = identifier) ;) (labeled_statement "LAB_00015714:\n        pcVar21 = *(char **)(puVar8 + 0x40c5c);" statement_identifier : (expression_statement "pcVar21 = *(char **)(puVar8 + 0x40c5c);" (assignment_expression "pcVar21 = *(char **)(puVar8 + 0x40c5c)" identifier = (pointer_expression "*(char **)(puVar8 + 0x40c5c)" * (cast_expression "(char **)(puVar8 + 0x40c5c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40c5c)" ( (binary_expression "puVar8 + 0x40c5c" identifier + number_literal) ))))) ;)) (expression_statement "puVar5 = puVar32 + 4;" (assignment_expression "puVar5 = puVar32 + 4" identifier = (binary_expression "puVar32 + 4" identifier + number_literal)) ;) (expression_statement "uStack_e8 = 0;" (assignment_expression "uStack_e8 = 0" identifier = number_literal) ;) (expression_statement "uVar31 = (int)pcStack_f0 - (int)pcStack_d8;" (assignment_expression "uVar31 = (int)pcStack_f0 - (int)pcStack_d8" identifier = (binary_expression "(int)pcStack_f0 - (int)pcStack_d8" (cast_expression "(int)pcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1;" (assignment_expression "iVar11 = ((int)pcStack_f0 - (int)pcVar10) - 1" identifier = (binary_expression "((int)pcStack_f0 - (int)pcVar10) - 1" (parenthesized_expression "((int)pcStack_f0 - (int)pcVar10)" ( (binary_expression "(int)pcStack_f0 - (int)pcVar10" (cast_expression "(int)pcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) ;) (expression_statement "pcVar17 = pcStack_f0 + -1;" (assignment_expression "pcVar17 = pcStack_f0 + -1" identifier = (binary_expression "pcStack_f0 + -1" identifier + number_literal)) ;) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (expression_statement "pcVar27 = pcStack_f0;" (assignment_expression "pcVar27 = pcStack_f0" identifier = identifier) ;) (labeled_statement "LAB_00015868:\n        do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);" statement_identifier : (do_statement "do {\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        } while (uVar30 < (uint)puVar32[3]);" do (compound_statement "{\n          iVar25 = uVar30 * 0x20;\n          pcVar34 = *(code **)(puVar8 + 0x40eb8);\n          iVar22 = puVar32[2] + iVar25;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';\n          iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }\n          cur = pcVar10 + iVar22;\n          pcVar33 = pcVar27;\n          uVar26 = uStack_e8;\n          if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar26;\n          uVar30 = uVar30 + 1;\n          pcVar27 = pcVar33;\n        }" { (expression_statement "iVar25 = uVar30 * 0x20;" (assignment_expression "iVar25 = uVar30 * 0x20" identifier = (binary_expression "uVar30 * 0x20" identifier * number_literal)) ;) (expression_statement "pcVar34 = *(code **)(puVar8 + 0x40eb8);" (assignment_expression "pcVar34 = *(code **)(puVar8 + 0x40eb8)" identifier = (pointer_expression "*(code **)(puVar8 + 0x40eb8)" * (cast_expression "(code **)(puVar8 + 0x40eb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40eb8)" ( (binary_expression "puVar8 + 0x40eb8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = puVar32[2] + iVar25;" (assignment_expression "iVar22 = puVar32[2] + iVar25" identifier = (binary_expression "puVar32[2] + iVar25" (subscript_expression "puVar32[2]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n';" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n'" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar29 == '\n'" (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfc" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) & number_literal) | (binary_expression "*pcVar29 == '\n'" (pointer_expression "*pcVar29" * identifier) == (char_literal "'\n'" ' escape_sequence ')))) ;) (expression_statement "iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             );" (assignment_expression "iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             )" identifier = (call_expression "(*pcVar34)(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             )" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(iVar22,pcVar10,iVar11,(int)pcStack_d8 - (int)pcVar10,uVar31 - 1,puVar5\n                             )" ( identifier , identifier , identifier , (binary_expression "(int)pcStack_d8 - (int)pcVar10" (cast_expression "(int)pcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "uVar31 - 1" identifier - number_literal) , identifier )))) ;) (if_statement "if (iVar22 < -1) {\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }" if (parenthesized_expression "(iVar22 < -1)" ( (binary_expression "iVar22 < -1" identifier < number_literal) )) (compound_statement "{\nLAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();\n          }" { (labeled_statement "LAB_00015cdc:\n                    /* WARNING: Subroutine does not return */\n            xalloc_die();" statement_identifier : comment (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "cur = pcVar10 + iVar22;" (assignment_expression "cur = pcVar10 + iVar22" identifier = (binary_expression "pcVar10 + iVar22" identifier + identifier)) ;) (expression_statement "pcVar33 = pcVar27;" (assignment_expression "pcVar33 = pcVar27" identifier = identifier) ;) (expression_statement "uVar26 = uStack_e8;" (assignment_expression "uVar26 = uStack_e8" identifier = identifier) ;) (if_statement "if ((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)) {\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }" if (parenthesized_expression "((iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2))" ( (binary_expression "(iVar22 != -1) && (bVar2 = pcVar27 < cur, !bVar2)" (parenthesized_expression "(iVar22 != -1)" ( (binary_expression "iVar22 != -1" identifier != number_literal) )) && (parenthesized_expression "(bVar2 = pcVar27 < cur, !bVar2)" ( (comma_expression "bVar2 = pcVar27 < cur, !bVar2" (assignment_expression "bVar2 = pcVar27 < cur" identifier = (binary_expression "pcVar27 < cur" identifier < identifier)) , (unary_expression "!bVar2" ! identifier)) ))) )) (compound_statement "{\n            uVar18 = *(int *)puVar32[6] - iVar22;\n            uVar19 = uVar31;\n            pcVar24 = pcStack_d8;\n            if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pcVar33 = cur;\n            uVar26 = uVar18;\n            if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }\n          }" { (expression_statement "uVar18 = *(int *)puVar32[6] - iVar22;" (assignment_expression "uVar18 = *(int *)puVar32[6] - iVar22" identifier = (binary_expression "*(int *)puVar32[6] - iVar22" (pointer_expression "*(int *)puVar32[6]" * (cast_expression "(int *)puVar32[6]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar32[6]" identifier [ number_literal ]))) - identifier)) ;) (expression_statement "uVar19 = uVar31;" (assignment_expression "uVar19 = uVar31" identifier = identifier) ;) (expression_statement "pcVar24 = pcStack_d8;" (assignment_expression "pcVar24 = pcStack_d8" identifier = identifier) ;) (if_statement "if (pcVar12 == (char *)0x0) {\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" if (parenthesized_expression "(pcVar12 == (char *)0x0)" ( (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar18 = uVar19;\n              uVar26 = (int)pcStack_f0 - (int)pcVar10;\n              cur = pcVar24;\n              if (pcVar12 == (char *)0x0) goto LAB_00015bdc;\n            }" { (if_statement "if (*pcVar28 == '\0') {\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }" if (parenthesized_expression "(*pcVar28 == '\0')" ( (binary_expression "*pcVar28 == '\0'" (pointer_expression "*pcVar28" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }\n              }" { (if_statement "if (*pcVar21 != '\0') {\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }" if (parenthesized_expression "(*pcVar21 != '\0')" ( (binary_expression "*pcVar21 != '\0'" (pointer_expression "*pcVar21" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);\n                  goto LAB_00015854;\n                }" { (labeled_statement "LAB_000157a0:\n                  do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);" statement_identifier : (do_statement "do {\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar2);" do (compound_statement "{\n                    sVar15 = wordchar_next(cur + uVar18,pcVar17);\n                    if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;\n                    if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }\n                  }" { (expression_statement "sVar15 = wordchar_next(cur + uVar18,pcVar17);" (assignment_expression "sVar15 = wordchar_next(cur + uVar18,pcVar17)" identifier = (call_expression "wordchar_next(cur + uVar18,pcVar17)" identifier (argument_list "(cur + uVar18,pcVar17)" ( (binary_expression "cur + uVar18" identifier + identifier) , identifier )))) ;) (if_statement "if ((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)) goto LAB_00015914;" if (parenthesized_expression "((sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0))" ( (binary_expression "(sVar15 == 0) &&\n                       (sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)" (parenthesized_expression "(sVar15 == 0)" ( (binary_expression "sVar15 == 0" identifier == number_literal) )) && (parenthesized_expression "(sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0)" ( (comma_expression "sVar15 = wordchar_prev(pcVar10,cur,pcVar17), uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0" (assignment_expression "sVar15 = wordchar_prev(pcVar10,cur,pcVar17)" identifier = (call_expression "wordchar_prev(pcVar10,cur,pcVar17)" identifier (argument_list "(pcVar10,cur,pcVar17)" ( identifier , identifier , identifier )))) , (comma_expression "uVar19 = uVar18, pcVar24 = cur,\n                       sVar15 == 0" (assignment_expression "uVar19 = uVar18" identifier = identifier) , (comma_expression "pcVar24 = cur,\n                       sVar15 == 0" (assignment_expression "pcVar24 = cur" identifier = identifier) , (binary_expression "sVar15 == 0" identifier == number_literal)))) ))) )) (goto_statement "goto LAB_00015914;" goto statement_identifier ;)) (if_statement "if (uVar18 == 0) {\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }\n                    else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000157d8:\n                      if (pcVar17 == cur) break;\n                      pcVar34 = *(code **)(puVar8 + 0x40eb8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      cur = pcVar10 + iVar22;\n                      bVar2 = pcVar27 < cur;\n                      uVar18 = *(int *)puVar32[6] - iVar22;\n                    }" { (labeled_statement "LAB_000157d8:\n                      if (pcVar17 == cur) break;" statement_identifier : (if_statement "if (pcVar17 == cur) break;" if (parenthesized_expression "(pcVar17 == cur)" ( (binary_expression "pcVar17 == cur" identifier == identifier) )) (break_statement "break;" break ;))) (expression_statement "pcVar34 = *(code **)(puVar8 + 0x40eb8);" (assignment_expression "pcVar34 = *(code **)(puVar8 + 0x40eb8)" identifier = (pointer_expression "*(code **)(puVar8 + 0x40eb8)" * (cast_expression "(code **)(puVar8 + 0x40eb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40eb8)" ( (binary_expression "puVar8 + 0x40eb8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = puVar32[2] + iVar25;" (assignment_expression "iVar22 = puVar32[2] + iVar25" identifier = (binary_expression "puVar32[2] + iVar25" (subscript_expression "puVar32[2]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5);" (assignment_expression "iVar22 = (*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5)" identifier = (call_expression "(*pcVar34)(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(iVar22,pcVar10,iVar11,(int)(cur + 1) - (int)pcVar10,\n                                          pcStack_f0 + (-1 - (int)(cur + 1)),puVar5)" ( identifier , identifier , identifier , (binary_expression "(int)(cur + 1) - (int)pcVar10" (cast_expression "(int)(cur + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(cur + 1)" ( (binary_expression "cur + 1" identifier + number_literal) ))) - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "pcStack_f0 + (-1 - (int)(cur + 1))" identifier + (parenthesized_expression "(-1 - (int)(cur + 1))" ( (binary_expression "-1 - (int)(cur + 1)" number_literal - (cast_expression "(int)(cur + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(cur + 1)" ( (binary_expression "cur + 1" identifier + number_literal) )))) ))) , identifier )))) ;) (if_statement "if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }" if (parenthesized_expression "(iVar22 < 0)" ( (binary_expression "iVar22 < 0" identifier < number_literal) )) (compound_statement "{\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }" { (if_statement "if (iVar22 != -1) goto LAB_00015cdc;" if (parenthesized_expression "(iVar22 != -1)" ( (binary_expression "iVar22 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00015cdc;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "cur = pcVar10 + iVar22;" (assignment_expression "cur = pcVar10 + iVar22" identifier = (binary_expression "pcVar10 + iVar22" identifier + identifier)) ;) (expression_statement "bVar2 = pcVar27 < cur;" (assignment_expression "bVar2 = pcVar27 < cur" identifier = (binary_expression "pcVar27 < cur" identifier < identifier)) ;) (expression_statement "uVar18 = *(int *)puVar32[6] - iVar22;" (assignment_expression "uVar18 = *(int *)puVar32[6] - iVar22" identifier = (binary_expression "*(int *)puVar32[6] - iVar22" (pointer_expression "*(int *)puVar32[6]" * (cast_expression "(int *)puVar32[6]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar32[6]" identifier [ number_literal ]))) - identifier)) ;) }) (else_clause "else {\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }" else (compound_statement "{\n                      pcVar34 = *(code **)(puVar8 + 0x40ee8);\n                      iVar22 = puVar32[2] + iVar25;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);\n                      if ((int)uVar18 < -1) goto LAB_00015cdc;\n                      if ((int)uVar18 < 1) goto LAB_000157d8;\n                    }" { (expression_statement "pcVar34 = *(code **)(puVar8 + 0x40ee8);" (assignment_expression "pcVar34 = *(code **)(puVar8 + 0x40ee8)" identifier = (pointer_expression "*(code **)(puVar8 + 0x40ee8)" * (cast_expression "(code **)(puVar8 + 0x40ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40ee8)" ( (binary_expression "puVar8 + 0x40ee8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = puVar32[2] + iVar25;" (assignment_expression "iVar22 = puVar32[2] + iVar25" identifier = (binary_expression "puVar32[2] + iVar25" (subscript_expression "puVar32[2]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd | 2" (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5);" (assignment_expression "uVar18 = (*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5)" identifier = (call_expression "(*pcVar34)(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(iVar22,pcVar10,cur + ((uVar18 - 1) - (int)pcStack_d8),\n                                          (int)cur - (int)pcVar10,puVar5)" ( identifier , identifier , (binary_expression "cur + ((uVar18 - 1) - (int)pcStack_d8)" identifier + (parenthesized_expression "((uVar18 - 1) - (int)pcStack_d8)" ( (binary_expression "(uVar18 - 1) - (int)pcStack_d8" (parenthesized_expression "(uVar18 - 1)" ( (binary_expression "uVar18 - 1" identifier - number_literal) )) - (cast_expression "(int)pcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , (binary_expression "(int)cur - (int)pcVar10" (cast_expression "(int)cur" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier )))) ;) (if_statement "if ((int)uVar18 < -1) goto LAB_00015cdc;" if (parenthesized_expression "((int)uVar18 < -1)" ( (binary_expression "(int)uVar18 < -1" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00015cdc;" goto statement_identifier ;)) (if_statement "if ((int)uVar18 < 1) goto LAB_000157d8;" if (parenthesized_expression "((int)uVar18 < 1)" ( (binary_expression "(int)uVar18 < 1" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_000157d8;" goto statement_identifier ;)) }))) }) while (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) ;)) (goto_statement "goto LAB_00015854;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }" else (compound_statement "{\nLAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;\n              }" { (labeled_statement "LAB_0001597c:\n                if (uVar18 != uVar31 - 1) goto LAB_00015854;" statement_identifier : (if_statement "if (uVar18 != uVar31 - 1) goto LAB_00015854;" if (parenthesized_expression "(uVar18 != uVar31 - 1)" ( (binary_expression "uVar18 != uVar31 - 1" identifier != (binary_expression "uVar31 - 1" identifier - number_literal)) )) (goto_statement "goto LAB_00015854;" goto statement_identifier ;))) }))) (labeled_statement "LAB_00015914:\n              uVar18 = uVar19;" statement_identifier : (expression_statement "uVar18 = uVar19;" (assignment_expression "uVar18 = uVar19" identifier = identifier) ;)) (expression_statement "uVar26 = (int)pcStack_f0 - (int)pcVar10;" (assignment_expression "uVar26 = (int)pcStack_f0 - (int)pcVar10" identifier = (binary_expression "(int)pcStack_f0 - (int)pcVar10" (cast_expression "(int)pcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "cur = pcVar24;" (assignment_expression "cur = pcVar24" identifier = identifier) ;) (if_statement "if (pcVar12 == (char *)0x0) goto LAB_00015bdc;" if (parenthesized_expression "(pcVar12 == (char *)0x0)" ( (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00015bdc;" goto statement_identifier ;)) }) (else_clause "else if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" else (if_statement "if (*pcVar21 != '\0') {\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" if (parenthesized_expression "(*pcVar21 != '\0')" ( (binary_expression "*pcVar21 != '\0'" (pointer_expression "*pcVar21" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (*pcVar28 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" { (if_statement "if (*pcVar28 == '\0') goto LAB_000157a0;" if (parenthesized_expression "(*pcVar28 == '\0')" ( (binary_expression "*pcVar28 == '\0'" (pointer_expression "*pcVar28" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000157a0;" goto statement_identifier ;)) (goto_statement "goto LAB_0001597c;" goto statement_identifier ;) })))) (expression_statement "pcVar33 = cur;" (assignment_expression "pcVar33 = cur" identifier = identifier) ;) (expression_statement "uVar26 = uVar18;" (assignment_expression "uVar26 = uVar18" identifier = identifier) ;) (if_statement "if ((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)) {\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }" if (parenthesized_expression "((pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur))" ( (binary_expression "(pcVar27 <= cur) && (pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)" (parenthesized_expression "(pcVar27 <= cur)" ( (binary_expression "pcVar27 <= cur" identifier <= identifier) )) && (parenthesized_expression "(pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur)" ( (comma_expression "pcVar33 = pcVar27, uVar26 = uStack_e8, pcVar27 == cur" (assignment_expression "pcVar33 = pcVar27" identifier = identifier) , (comma_expression "uVar26 = uStack_e8, pcVar27 == cur" (assignment_expression "uVar26 = uStack_e8" identifier = identifier) , (binary_expression "pcVar27 == cur" identifier == identifier))) ))) )) (compound_statement "{\n              uVar30 = uVar30 + 1;\n              if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }\n              if ((uint)puVar32[3] <= uVar30) break;\n              goto LAB_00015868;\n            }" { (expression_statement "uVar30 = uVar30 + 1;" (assignment_expression "uVar30 = uVar30 + 1" identifier = (binary_expression "uVar30 + 1" identifier + number_literal)) ;) (if_statement "if (uStack_e8 < uVar18) {\n                uStack_e8 = uVar18;\n              }" if (parenthesized_expression "(uStack_e8 < uVar18)" ( (binary_expression "uStack_e8 < uVar18" identifier < identifier) )) (compound_statement "{\n                uStack_e8 = uVar18;\n              }" { (expression_statement "uStack_e8 = uVar18;" (assignment_expression "uStack_e8 = uVar18" identifier = identifier) ;) })) (if_statement "if ((uint)puVar32[3] <= uVar30) break;" if (parenthesized_expression "((uint)puVar32[3] <= uVar30)" ( (binary_expression "(uint)puVar32[3] <= uVar30" (cast_expression "(uint)puVar32[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar32[3]" identifier [ number_literal ])) <= identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_00015868;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00015854:\n          uStack_e8 = uVar26;" statement_identifier : (expression_statement "uStack_e8 = uVar26;" (assignment_expression "uStack_e8 = uVar26" identifier = identifier) ;)) (expression_statement "uVar30 = uVar30 + 1;" (assignment_expression "uVar30 = uVar30 + 1" identifier = (binary_expression "uVar30 + 1" identifier + number_literal)) ;) (expression_statement "pcVar27 = pcVar33;" (assignment_expression "pcVar27 = pcVar33" identifier = identifier) ;) }) while (parenthesized_expression "(uVar30 < (uint)puVar32[3])" ( (binary_expression "uVar30 < (uint)puVar32[3]" identifier < (cast_expression "(uint)puVar32[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar32[3]" identifier [ number_literal ]))) )) ;)) (expression_statement "pcVar10 = pcVar33;" (assignment_expression "pcVar10 = pcVar33" identifier = identifier) ;) (expression_statement "uVar26 = uStack_e8;" (assignment_expression "uVar26 = uStack_e8" identifier = identifier) ;) (if_statement "if (pcVar10 < pcStack_f0) {\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }" if (parenthesized_expression "(pcVar10 < pcStack_f0)" ( (binary_expression "pcVar10 < pcStack_f0" identifier < identifier) )) (compound_statement "{\nLAB_00015bdc:\n          pcVar10 = pcVar10 + -size;\n          *puVar23 = uVar26;\n          goto LAB_00015bec;\n        }" { (labeled_statement "LAB_00015bdc:\n          pcVar10 = pcVar10 + -size;" statement_identifier : (expression_statement "pcVar10 = pcVar10 + -size;" (assignment_expression "pcVar10 = pcVar10 + -size" identifier = (binary_expression "pcVar10 + -size" identifier + (unary_expression "-size" - identifier))) ;)) (expression_statement "*puVar23 = uVar26;" (assignment_expression "*puVar23 = uVar26" (pointer_expression "*puVar23" * identifier) = identifier) ;) (goto_statement "goto LAB_00015bec;" goto statement_identifier ;) })) }))) }) while (parenthesized_expression "(pcStack_f0 < end)" ( (binary_expression "pcStack_f0 < end" identifier < identifier) )) ;) })) (expression_statement "pcVar10 = (char *)0xffffffff;" (assignment_expression "pcVar10 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00015bec:\n  if (iStack_94 == *piVar13) {\n    return pcVar10;\n  }" statement_identifier : (if_statement "if (iStack_94 == *piVar13) {\n    return pcVar10;\n  }" if (parenthesized_expression "(iStack_94 == *piVar13)" ( (binary_expression "iStack_94 == *piVar13" identifier == (pointer_expression "*piVar13" * identifier)) )) (compound_statement "{\n    return pcVar10;\n  }" { (return_statement "return pcVar10;" return identifier ;) }))) (expression_statement "pcVar34 = *(code **)(puVar8 + 0x40f3c);" (assignment_expression "pcVar34 = *(code **)(puVar8 + 0x40f3c)" identifier = (pointer_expression "*(code **)(puVar8 + 0x40f3c)" * (cast_expression "(code **)(puVar8 + 0x40f3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x40f3c)" ( (binary_expression "puVar8 + 0x40f3c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar34)();" (call_expression "(*pcVar34)()" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pvVar20 = *(void **)(pcVar34 + 0x403e8);" (assignment_expression "pvVar20 = *(void **)(pcVar34 + 0x403e8)" identifier = (pointer_expression "*(void **)(pcVar34 + 0x403e8)" * (cast_expression "(void **)(pcVar34 + 0x403e8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x403e8)" ( (binary_expression "pcVar34 + 0x403e8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)pvVar20 + 0x6040) = *(undefined4 *)(*(int *)(pcVar34 + 0x403e8) + 0x6044);" (assignment_expression "*(undefined4 *)((int)pvVar20 + 0x6040) = *(undefined4 *)(*(int *)(pcVar34 + 0x403e8) + 0x6044)" (pointer_expression "*(undefined4 *)((int)pvVar20 + 0x6040)" * (cast_expression "(undefined4 *)((int)pvVar20 + 0x6040)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar20 + 0x6040)" ( (binary_expression "(int)pvVar20 + 0x6040" (cast_expression "(int)pvVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(pcVar34 + 0x403e8) + 0x6044)" * (cast_expression "(undefined4 *)(*(int *)(pcVar34 + 0x403e8) + 0x6044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar34 + 0x403e8) + 0x6044)" ( (binary_expression "*(int *)(pcVar34 + 0x403e8) + 0x6044" (pointer_expression "*(int *)(pcVar34 + 0x403e8)" * (cast_expression "(int *)(pcVar34 + 0x403e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x403e8)" ( (binary_expression "pcVar34 + 0x403e8" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pvVar20;" return identifier ;) })))
(translation_unit "undefined4 * GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined1 uVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined1 uVar6;\n  bool bVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *******pppppppcVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  char *******pppppppcVar23;\n  uint uVar24;\n  uint uVar25;\n  int iVar26;\n  int *piVar27;\n  undefined4 uVar28;\n  undefined4 uVar29;\n  uint *puVar30;\n  char *******pppppppcVar31;\n  char *******pppppppcVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  char *******pppppppcVar36;\n  char *******pppppppcVar37;\n  int *piVar38;\n  char *******pppppppcVar39;\n  int iVar40;\n  uint uVar41;\n  uint uVar42;\n  undefined4 *puVar43;\n  undefined *puVar44;\n  char *******pppppppcVar45;\n  code *pcVar46;\n  char *******local_res4;\n  uint local_res8;\n  char *******pppppppcStack_f0;\n  uint uStack_e8;\n  char *******pppppppcStack_d8;\n  char cStack_a9;\n  char *******pppppppcStack_a8;\n  int iStack_a4;\n  int aiStack_a0 [3];\n  int iStack_94;\n  undefined4 *puStack_90;\n  char *pcStack_8c;\n  char *pcStack_88;\n  char *******pppppppcStack_84;\n  char *******pppppppcStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  undefined4 *puStack_74;\n  undefined4 *puStack_70;\n  code *pcStack_6c;\n  char *******local_58;\n  int local_54;\n  undefined4 *local_44;\n  char *******local_30;\n  int *local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_000564b4;\n  pcVar18 = PTR_match_icase_00056190;\n  local_2c = *(int **)PTR___stack_chk_guard_000564b4;\n  puVar11 = (undefined4 *)xcalloc(1,0x24);\n  uVar12 = dfaalloc();\n  cVar1 = *pcVar18;\n  puVar11[1] = uVar12;\n  puVar44 = PTR_eolbyte_00056138;\n  local_res8 = param_3;\n  if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }\n  pppppppcVar36 = (char *******)&local_30;\n  pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  uVar12 = 2;\n  uVar35 = 0;\n  if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }\n  dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);\n  uVar42 = puVar11[3];\n  bVar7 = false;\n  puVar13 = PTR_wcrtomb_00056118 + 0x734;\n  puVar14 = PTR_wcrtomb_00056118 + 0x830;\n  puVar19 = param_1;\n  do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);\n  if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }\n  puVar30 = (uint *)0x1;\n  pcVar16 = (char *)puVar11[1];\n  dfacomp(local_44);\n  pcVar17 = (char *)dfamust(puVar11[1]);\n  if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }\n  (*(code *)PTR_free_000564c0)(puVar19);\n  if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }\n  pcVar46 = EGexecute;\n  piVar27 = local_2c;\n  puVar44 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pppppppcVar10 = local_58;\n  piVar20 = *(int **)(puVar44 + 0x40f5c);\n  pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);\n  pcVar16 = *(char **)(puVar44 + 0x40be0);\n  iVar33 = piVar27[1];\n  iStack_94 = *piVar20;\n  puStack_90 = puVar11;\n  pcStack_8c = pcVar17;\n  pcStack_88 = pcVar18;\n  pppppppcStack_84 = pppppppcVar39;\n  pppppppcStack_80 = pppppppcVar36;\n  iStack_7c = iVar40;\n  uStack_78 = uVar42;\n  puStack_74 = puVar19;\n  puStack_70 = puVar15;\n  pcStack_6c = pcVar46;\n  iVar40 = dfasuperset(iVar33);\n  iVar26 = (int)*pcVar16;\n  iVar33 = dfaisfast(iVar33);\n  pppppppcStack_a8 = local_res4;\n  if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }\n  puVar11 = (undefined4 *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }\n  pcVar46 = *(code **)(puVar44 + 0x40f3c);\n  (*pcVar46)();\n  puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);\n  puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);\n  return puVar11;\n}\n\n" (function_definition "undefined4 * GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined1 uVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined1 uVar6;\n  bool bVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *******pppppppcVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  char *******pppppppcVar23;\n  uint uVar24;\n  uint uVar25;\n  int iVar26;\n  int *piVar27;\n  undefined4 uVar28;\n  undefined4 uVar29;\n  uint *puVar30;\n  char *******pppppppcVar31;\n  char *******pppppppcVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  char *******pppppppcVar36;\n  char *******pppppppcVar37;\n  int *piVar38;\n  char *******pppppppcVar39;\n  int iVar40;\n  uint uVar41;\n  uint uVar42;\n  undefined4 *puVar43;\n  undefined *puVar44;\n  char *******pppppppcVar45;\n  code *pcVar46;\n  char *******local_res4;\n  uint local_res8;\n  char *******pppppppcStack_f0;\n  uint uStack_e8;\n  char *******pppppppcStack_d8;\n  char cStack_a9;\n  char *******pppppppcStack_a8;\n  int iStack_a4;\n  int aiStack_a0 [3];\n  int iStack_94;\n  undefined4 *puStack_90;\n  char *pcStack_8c;\n  char *pcStack_88;\n  char *******pppppppcStack_84;\n  char *******pppppppcStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  undefined4 *puStack_74;\n  undefined4 *puStack_70;\n  code *pcStack_6c;\n  char *******local_58;\n  int local_54;\n  undefined4 *local_44;\n  char *******local_30;\n  int *local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_000564b4;\n  pcVar18 = PTR_match_icase_00056190;\n  local_2c = *(int **)PTR___stack_chk_guard_000564b4;\n  puVar11 = (undefined4 *)xcalloc(1,0x24);\n  uVar12 = dfaalloc();\n  cVar1 = *pcVar18;\n  puVar11[1] = uVar12;\n  puVar44 = PTR_eolbyte_00056138;\n  local_res8 = param_3;\n  if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }\n  pppppppcVar36 = (char *******)&local_30;\n  pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  uVar12 = 2;\n  uVar35 = 0;\n  if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }\n  dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);\n  uVar42 = puVar11[3];\n  bVar7 = false;\n  puVar13 = PTR_wcrtomb_00056118 + 0x734;\n  puVar14 = PTR_wcrtomb_00056118 + 0x830;\n  puVar19 = param_1;\n  do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);\n  if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }\n  puVar30 = (uint *)0x1;\n  pcVar16 = (char *)puVar11[1];\n  dfacomp(local_44);\n  pcVar17 = (char *)dfamust(puVar11[1]);\n  if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }\n  (*(code *)PTR_free_000564c0)(puVar19);\n  if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }\n  pcVar46 = EGexecute;\n  piVar27 = local_2c;\n  puVar44 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pppppppcVar10 = local_58;\n  piVar20 = *(int **)(puVar44 + 0x40f5c);\n  pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);\n  pcVar16 = *(char **)(puVar44 + 0x40be0);\n  iVar33 = piVar27[1];\n  iStack_94 = *piVar20;\n  puStack_90 = puVar11;\n  pcStack_8c = pcVar17;\n  pcStack_88 = pcVar18;\n  pppppppcStack_84 = pppppppcVar39;\n  pppppppcStack_80 = pppppppcVar36;\n  iStack_7c = iVar40;\n  uStack_78 = uVar42;\n  puStack_74 = puVar19;\n  puStack_70 = puVar15;\n  pcStack_6c = pcVar46;\n  iVar40 = dfasuperset(iVar33);\n  iVar26 = (int)*pcVar16;\n  iVar33 = dfaisfast(iVar33);\n  pppppppcStack_a8 = local_res4;\n  if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }\n  puVar11 = (undefined4 *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }\n  pcVar46 = *(code **)(puVar44 + 0x40f3c);\n  (*pcVar46)();\n  puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);\n  puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);\n  return puVar11;\n}" type_identifier (pointer_declarator "* GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)" * (function_declarator "GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)" identifier (parameter_list "(undefined4 *param_1,char *******param_2,uint param_3)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *******param_2" primitive_type (pointer_declarator "*******param_2" * (pointer_declarator "******param_2" * (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier)))))))) , (parameter_declaration "uint param_3" type_identifier identifier) )))) (compound_statement "{\n  char cVar1;\n  undefined1 uVar2;\n  undefined1 uVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined1 uVar6;\n  bool bVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *******pppppppcVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  char *******pppppppcVar23;\n  uint uVar24;\n  uint uVar25;\n  int iVar26;\n  int *piVar27;\n  undefined4 uVar28;\n  undefined4 uVar29;\n  uint *puVar30;\n  char *******pppppppcVar31;\n  char *******pppppppcVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  char *******pppppppcVar36;\n  char *******pppppppcVar37;\n  int *piVar38;\n  char *******pppppppcVar39;\n  int iVar40;\n  uint uVar41;\n  uint uVar42;\n  undefined4 *puVar43;\n  undefined *puVar44;\n  char *******pppppppcVar45;\n  code *pcVar46;\n  char *******local_res4;\n  uint local_res8;\n  char *******pppppppcStack_f0;\n  uint uStack_e8;\n  char *******pppppppcStack_d8;\n  char cStack_a9;\n  char *******pppppppcStack_a8;\n  int iStack_a4;\n  int aiStack_a0 [3];\n  int iStack_94;\n  undefined4 *puStack_90;\n  char *pcStack_8c;\n  char *pcStack_88;\n  char *******pppppppcStack_84;\n  char *******pppppppcStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  undefined4 *puStack_74;\n  undefined4 *puStack_70;\n  code *pcStack_6c;\n  char *******local_58;\n  int local_54;\n  undefined4 *local_44;\n  char *******local_30;\n  int *local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_000564b4;\n  pcVar18 = PTR_match_icase_00056190;\n  local_2c = *(int **)PTR___stack_chk_guard_000564b4;\n  puVar11 = (undefined4 *)xcalloc(1,0x24);\n  uVar12 = dfaalloc();\n  cVar1 = *pcVar18;\n  puVar11[1] = uVar12;\n  puVar44 = PTR_eolbyte_00056138;\n  local_res8 = param_3;\n  if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }\n  pppppppcVar36 = (char *******)&local_30;\n  pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  uVar12 = 2;\n  uVar35 = 0;\n  if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }\n  dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);\n  uVar42 = puVar11[3];\n  bVar7 = false;\n  puVar13 = PTR_wcrtomb_00056118 + 0x734;\n  puVar14 = PTR_wcrtomb_00056118 + 0x830;\n  puVar19 = param_1;\n  do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);\n  if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }\n  puVar30 = (uint *)0x1;\n  pcVar16 = (char *)puVar11[1];\n  dfacomp(local_44);\n  pcVar17 = (char *)dfamust(puVar11[1]);\n  if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }\n  (*(code *)PTR_free_000564c0)(puVar19);\n  if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }\n  pcVar46 = EGexecute;\n  piVar27 = local_2c;\n  puVar44 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pppppppcVar10 = local_58;\n  piVar20 = *(int **)(puVar44 + 0x40f5c);\n  pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);\n  pcVar16 = *(char **)(puVar44 + 0x40be0);\n  iVar33 = piVar27[1];\n  iStack_94 = *piVar20;\n  puStack_90 = puVar11;\n  pcStack_8c = pcVar17;\n  pcStack_88 = pcVar18;\n  pppppppcStack_84 = pppppppcVar39;\n  pppppppcStack_80 = pppppppcVar36;\n  iStack_7c = iVar40;\n  uStack_78 = uVar42;\n  puStack_74 = puVar19;\n  puStack_70 = puVar15;\n  pcStack_6c = pcVar46;\n  iVar40 = dfasuperset(iVar33);\n  iVar26 = (int)*pcVar16;\n  iVar33 = dfaisfast(iVar33);\n  pppppppcStack_a8 = local_res4;\n  if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }\n  puVar11 = (undefined4 *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }\n  pcVar46 = *(code **)(puVar44 + 0x40f3c);\n  (*pcVar46)();\n  puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);\n  puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);\n  return puVar11;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined1 uVar2;" type_identifier identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "undefined1 uVar6;" type_identifier identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char *******pppppppcVar10;" primitive_type (pointer_declarator "*******pppppppcVar10" * (pointer_declarator "******pppppppcVar10" * (pointer_declarator "*****pppppppcVar10" * (pointer_declarator "****pppppppcVar10" * (pointer_declarator "***pppppppcVar10" * (pointer_declarator "**pppppppcVar10" * (pointer_declarator "*pppppppcVar10" * identifier))))))) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "char *******pppppppcVar23;" primitive_type (pointer_declarator "*******pppppppcVar23" * (pointer_declarator "******pppppppcVar23" * (pointer_declarator "*****pppppppcVar23" * (pointer_declarator "****pppppppcVar23" * (pointer_declarator "***pppppppcVar23" * (pointer_declarator "**pppppppcVar23" * (pointer_declarator "*pppppppcVar23" * identifier))))))) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "undefined4 uVar28;" type_identifier identifier ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "uint *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "char *******pppppppcVar31;" primitive_type (pointer_declarator "*******pppppppcVar31" * (pointer_declarator "******pppppppcVar31" * (pointer_declarator "*****pppppppcVar31" * (pointer_declarator "****pppppppcVar31" * (pointer_declarator "***pppppppcVar31" * (pointer_declarator "**pppppppcVar31" * (pointer_declarator "*pppppppcVar31" * identifier))))))) ;) (declaration "char *******pppppppcVar32;" primitive_type (pointer_declarator "*******pppppppcVar32" * (pointer_declarator "******pppppppcVar32" * (pointer_declarator "*****pppppppcVar32" * (pointer_declarator "****pppppppcVar32" * (pointer_declarator "***pppppppcVar32" * (pointer_declarator "**pppppppcVar32" * (pointer_declarator "*pppppppcVar32" * identifier))))))) ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "char *******pppppppcVar36;" primitive_type (pointer_declarator "*******pppppppcVar36" * (pointer_declarator "******pppppppcVar36" * (pointer_declarator "*****pppppppcVar36" * (pointer_declarator "****pppppppcVar36" * (pointer_declarator "***pppppppcVar36" * (pointer_declarator "**pppppppcVar36" * (pointer_declarator "*pppppppcVar36" * identifier))))))) ;) (declaration "char *******pppppppcVar37;" primitive_type (pointer_declarator "*******pppppppcVar37" * (pointer_declarator "******pppppppcVar37" * (pointer_declarator "*****pppppppcVar37" * (pointer_declarator "****pppppppcVar37" * (pointer_declarator "***pppppppcVar37" * (pointer_declarator "**pppppppcVar37" * (pointer_declarator "*pppppppcVar37" * identifier))))))) ;) (declaration "int *piVar38;" primitive_type (pointer_declarator "*piVar38" * identifier) ;) (declaration "char *******pppppppcVar39;" primitive_type (pointer_declarator "*******pppppppcVar39" * (pointer_declarator "******pppppppcVar39" * (pointer_declarator "*****pppppppcVar39" * (pointer_declarator "****pppppppcVar39" * (pointer_declarator "***pppppppcVar39" * (pointer_declarator "**pppppppcVar39" * (pointer_declarator "*pppppppcVar39" * identifier))))))) ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "uint uVar41;" type_identifier identifier ;) (declaration "uint uVar42;" type_identifier identifier ;) (declaration "undefined4 *puVar43;" type_identifier (pointer_declarator "*puVar43" * identifier) ;) (declaration "undefined *puVar44;" type_identifier (pointer_declarator "*puVar44" * identifier) ;) (declaration "char *******pppppppcVar45;" primitive_type (pointer_declarator "*******pppppppcVar45" * (pointer_declarator "******pppppppcVar45" * (pointer_declarator "*****pppppppcVar45" * (pointer_declarator "****pppppppcVar45" * (pointer_declarator "***pppppppcVar45" * (pointer_declarator "**pppppppcVar45" * (pointer_declarator "*pppppppcVar45" * identifier))))))) ;) (declaration "code *pcVar46;" type_identifier (pointer_declarator "*pcVar46" * identifier) ;) (declaration "char *******local_res4;" primitive_type (pointer_declarator "*******local_res4" * (pointer_declarator "******local_res4" * (pointer_declarator "*****local_res4" * (pointer_declarator "****local_res4" * (pointer_declarator "***local_res4" * (pointer_declarator "**local_res4" * (pointer_declarator "*local_res4" * identifier))))))) ;) (declaration "uint local_res8;" type_identifier identifier ;) (declaration "char *******pppppppcStack_f0;" primitive_type (pointer_declarator "*******pppppppcStack_f0" * (pointer_declarator "******pppppppcStack_f0" * (pointer_declarator "*****pppppppcStack_f0" * (pointer_declarator "****pppppppcStack_f0" * (pointer_declarator "***pppppppcStack_f0" * (pointer_declarator "**pppppppcStack_f0" * (pointer_declarator "*pppppppcStack_f0" * identifier))))))) ;) (declaration "uint uStack_e8;" type_identifier identifier ;) (declaration "char *******pppppppcStack_d8;" primitive_type (pointer_declarator "*******pppppppcStack_d8" * (pointer_declarator "******pppppppcStack_d8" * (pointer_declarator "*****pppppppcStack_d8" * (pointer_declarator "****pppppppcStack_d8" * (pointer_declarator "***pppppppcStack_d8" * (pointer_declarator "**pppppppcStack_d8" * (pointer_declarator "*pppppppcStack_d8" * identifier))))))) ;) (declaration "char cStack_a9;" primitive_type identifier ;) (declaration "char *******pppppppcStack_a8;" primitive_type (pointer_declarator "*******pppppppcStack_a8" * (pointer_declarator "******pppppppcStack_a8" * (pointer_declarator "*****pppppppcStack_a8" * (pointer_declarator "****pppppppcStack_a8" * (pointer_declarator "***pppppppcStack_a8" * (pointer_declarator "**pppppppcStack_a8" * (pointer_declarator "*pppppppcStack_a8" * identifier))))))) ;) (declaration "int iStack_a4;" primitive_type identifier ;) (declaration "int aiStack_a0 [3];" primitive_type (array_declarator "aiStack_a0 [3]" identifier [ number_literal ]) ;) (declaration "int iStack_94;" primitive_type identifier ;) (declaration "undefined4 *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "char *pcStack_8c;" primitive_type (pointer_declarator "*pcStack_8c" * identifier) ;) (declaration "char *pcStack_88;" primitive_type (pointer_declarator "*pcStack_88" * identifier) ;) (declaration "char *******pppppppcStack_84;" primitive_type (pointer_declarator "*******pppppppcStack_84" * (pointer_declarator "******pppppppcStack_84" * (pointer_declarator "*****pppppppcStack_84" * (pointer_declarator "****pppppppcStack_84" * (pointer_declarator "***pppppppcStack_84" * (pointer_declarator "**pppppppcStack_84" * (pointer_declarator "*pppppppcStack_84" * identifier))))))) ;) (declaration "char *******pppppppcStack_80;" primitive_type (pointer_declarator "*******pppppppcStack_80" * (pointer_declarator "******pppppppcStack_80" * (pointer_declarator "*****pppppppcStack_80" * (pointer_declarator "****pppppppcStack_80" * (pointer_declarator "***pppppppcStack_80" * (pointer_declarator "**pppppppcStack_80" * (pointer_declarator "*pppppppcStack_80" * identifier))))))) ;) (declaration "int iStack_7c;" primitive_type identifier ;) (declaration "uint uStack_78;" type_identifier identifier ;) (declaration "undefined4 *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "undefined4 *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "code *pcStack_6c;" type_identifier (pointer_declarator "*pcStack_6c" * identifier) ;) (declaration "char *******local_58;" primitive_type (pointer_declarator "*******local_58" * (pointer_declarator "******local_58" * (pointer_declarator "*****local_58" * (pointer_declarator "****local_58" * (pointer_declarator "***local_58" * (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier))))))) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char *******local_30;" primitive_type (pointer_declarator "*******local_30" * (pointer_declarator "******local_30" * (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier))))))) ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar9 = PTR___stack_chk_guard_000564b4;" (assignment_expression "puVar9 = PTR___stack_chk_guard_000564b4" identifier = identifier) ;) (expression_statement "pcVar18 = PTR_match_icase_00056190;" (assignment_expression "pcVar18 = PTR_match_icase_00056190" identifier = identifier) ;) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_000564b4;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_000564b4" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_000564b4" * (cast_expression "(int **)PTR___stack_chk_guard_000564b4" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar11 = (undefined4 *)xcalloc(1,0x24);" (assignment_expression "puVar11 = (undefined4 *)xcalloc(1,0x24)" identifier = (cast_expression "(undefined4 *)xcalloc(1,0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xcalloc(1,0x24)" identifier (argument_list "(1,0x24)" ( number_literal , number_literal ))))) ;) (expression_statement "uVar12 = dfaalloc();" (assignment_expression "uVar12 = dfaalloc()" identifier = (call_expression "dfaalloc()" identifier (argument_list "()" ( )))) ;) (expression_statement "cVar1 = *pcVar18;" (assignment_expression "cVar1 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (expression_statement "puVar11[1] = uVar12;" (assignment_expression "puVar11[1] = uVar12" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar44 = PTR_eolbyte_00056138;" (assignment_expression "puVar44 = PTR_eolbyte_00056138" identifier = identifier) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (if_statement "if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_res8 = param_3 | 0x400000;\n  }" { (expression_statement "local_res8 = param_3 | 0x400000;" (assignment_expression "local_res8 = param_3 | 0x400000" identifier = (binary_expression "param_3 | 0x400000" identifier | number_literal)) ;) })) (expression_statement "pppppppcVar36 = (char *******)&local_30;" (assignment_expression "pppppppcVar36 = (char *******)&local_30" identifier = (cast_expression "(char *******)&local_30" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&local_30" & identifier))) ;) (expression_statement "pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);" (assignment_expression "pppppppcVar39 = (char *******)((int)param_1 + (int)param_2)" identifier = (cast_expression "(char *******)((int)param_1 + (int)param_2)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (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 "(*(code *)PTR_re_set_syntax_00056360)(local_res8);" (call_expression "(*(code *)PTR_re_set_syntax_00056360)(local_res8)" (parenthesized_expression "(*(code *)PTR_re_set_syntax_00056360)" ( (pointer_expression "*(code *)PTR_re_set_syntax_00056360" * (cast_expression "(code *)PTR_re_set_syntax_00056360" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_res8)" ( identifier ))) ;) (expression_statement "uVar12 = 2;" (assignment_expression "uVar12 = 2" identifier = number_literal) ;) (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;) (if_statement "if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }" if (parenthesized_expression "(*puVar44 != '\0')" ( (binary_expression "*puVar44 != '\0'" (pointer_expression "*puVar44" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar12 = 0;\n  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) })) (expression_statement "dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);" (call_expression "dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12)" identifier (argument_list "(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12)" ( (subscript_expression "puVar11[1]" identifier [ number_literal ]) , identifier , identifier , identifier ))) ;) (expression_statement "uVar42 = puVar11[3];" (assignment_expression "uVar42 = puVar11[3]" identifier = (subscript_expression "puVar11[3]" identifier [ number_literal ])) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x734;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x734" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x734" identifier + number_literal)) ;) (expression_statement "puVar14 = PTR_wcrtomb_00056118 + 0x830;" (assignment_expression "puVar14 = PTR_wcrtomb_00056118 + 0x830" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x830" identifier + number_literal)) ;) (expression_statement "puVar19 = param_1;" (assignment_expression "puVar19 = param_1" identifier = identifier) ;) (do_statement "do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);" do (compound_statement "{\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  }" { (expression_statement "iVar40 = (int)pppppppcVar39 - (int)puVar19;" (assignment_expression "iVar40 = (int)pppppppcVar39 - (int)puVar19" identifier = (binary_expression "(int)pppppppcVar39 - (int)puVar19" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);" (assignment_expression "puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40)" (parenthesized_expression "(*(code *)PTR_rpl_memchr_00056120)" ( (pointer_expression "*(code *)PTR_rpl_memchr_00056120" * (cast_expression "(code *)PTR_rpl_memchr_00056120" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19,10,iVar40)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }" if (parenthesized_expression "(puVar15 != (undefined4 *)0x0)" ( (binary_expression "puVar15 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }" { (expression_statement "iVar40 = (int)puVar15 - (int)puVar19;" (assignment_expression "iVar40 = (int)puVar15 - (int)puVar19" identifier = (binary_expression "(int)puVar15 - (int)puVar19" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar15 = (undefined4 *)((int)puVar15 + 1);" (assignment_expression "puVar15 = (undefined4 *)((int)puVar15 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar15 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 1)" ( (binary_expression "(int)puVar15 + 1" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar26 = puVar11[2];" (assignment_expression "iVar26 = puVar11[2]" identifier = (subscript_expression "puVar11[2]" identifier [ number_literal ])) ;) (if_statement "if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }" if (parenthesized_expression "(uVar35 <= uVar42)" ( (binary_expression "uVar35 <= uVar42" identifier <= identifier) )) (compound_statement "{\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }" { (if_statement "if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }" { (expression_statement "iVar33 = 0x40;" (assignment_expression "iVar33 = 0x40" identifier = number_literal) ;) (if_statement "if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }" if (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar35 = 2;\n        }" { (expression_statement "uVar35 = 2;" (assignment_expression "uVar35 = 2" identifier = number_literal) ;) }) (else_clause "else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }" else (compound_statement "{\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }" { (expression_statement "iVar33 = uVar35 << 5;" (assignment_expression "iVar33 = uVar35 << 5" identifier = (binary_expression "uVar35 << 5" identifier << number_literal)) ;) (if_statement "if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;" if (parenthesized_expression "((iVar33 < 0) || (uVar35 >> 0x1b != 0))" ( (binary_expression "(iVar33 < 0) || (uVar35 >> 0x1b != 0)" (parenthesized_expression "(iVar33 < 0)" ( (binary_expression "iVar33 < 0" identifier < number_literal) )) || (parenthesized_expression "(uVar35 >> 0x1b != 0)" ( (binary_expression "uVar35 >> 0x1b != 0" (binary_expression "uVar35 >> 0x1b" identifier >> number_literal) != number_literal) ))) )) (goto_statement "goto LAB_000152e8;" goto statement_identifier ;)) }))) }) (else_clause "else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }" else (compound_statement "{\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }" { (if_statement "if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }" if (parenthesized_expression "(0x2aaaaa9 < uVar35)" ( (binary_expression "0x2aaaaa9 < uVar35" number_literal < identifier) )) (compound_statement "{\nLAB_000152e8:\n                    \n          xalloc_die();\n        }" { (labeled_statement "LAB_000152e8:\n                    \n          xalloc_die();" statement_identifier : (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "uVar35 = uVar35 + 1 + (uVar35 >> 1);" (assignment_expression "uVar35 = uVar35 + 1 + (uVar35 >> 1)" identifier = (binary_expression "uVar35 + 1 + (uVar35 >> 1)" (binary_expression "uVar35 + 1" identifier + number_literal) + (parenthesized_expression "(uVar35 >> 1)" ( (binary_expression "uVar35 >> 1" identifier >> number_literal) )))) ;) (expression_statement "iVar33 = uVar35 * 0x20;" (assignment_expression "iVar33 = uVar35 * 0x20" identifier = (binary_expression "uVar35 * 0x20" identifier * number_literal)) ;) }))) (expression_statement "iVar26 = xrealloc(iVar26,iVar33);" (assignment_expression "iVar26 = xrealloc(iVar26,iVar33)" identifier = (call_expression "xrealloc(iVar26,iVar33)" identifier (argument_list "(iVar26,iVar33)" ( identifier , identifier )))) ;) (expression_statement "uVar42 = puVar11[3];" (assignment_expression "uVar42 = puVar11[3]" identifier = (subscript_expression "puVar11[3]" identifier [ number_literal ])) ;) (expression_statement "puVar11[2] = iVar26;" (assignment_expression "puVar11[2] = iVar26" (subscript_expression "puVar11[2]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "cVar1 = *pcVar18;" (assignment_expression "cVar1 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (expression_statement "puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);" (assignment_expression "puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20)" identifier = (cast_expression "(undefined4 *)(iVar26 + uVar42 * 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + uVar42 * 0x20)" ( (binary_expression "iVar26 + uVar42 * 0x20" identifier + (binary_expression "uVar42 * 0x20" identifier * number_literal)) )))) ;) (expression_statement "*puVar43 = 0;" (assignment_expression "*puVar43 = 0" (pointer_expression "*puVar43" * identifier) = number_literal) ;) (expression_statement "puVar43[1] = 0;" (assignment_expression "puVar43[1] = 0" (subscript_expression "puVar43[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar12 = xmalloc(0x100);\n    }" { (expression_statement "uVar12 = xmalloc(0x100);" (assignment_expression "uVar12 = xmalloc(0x100)" identifier = (call_expression "xmalloc(0x100)" identifier (argument_list "(0x100)" ( number_literal )))) ;) }) (else_clause "else {\n      uVar12 = 0;\n    }" else (compound_statement "{\n      uVar12 = 0;\n    }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) }))) (expression_statement "puVar8 = PTR_re_compile_pattern_00056374;" (assignment_expression "puVar8 = PTR_re_compile_pattern_00056374" identifier = identifier) ;) (expression_statement "puVar43[4] = uVar12;" (assignment_expression "puVar43[4] = uVar12" (subscript_expression "puVar43[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar43[5] = 0;" (assignment_expression "puVar43[5] = 0" (subscript_expression "puVar43[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);" (assignment_expression "iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43)" identifier = (call_expression "(*(code *)puVar8)(puVar19,iVar40,puVar43)" (parenthesized_expression "(*(code *)puVar8)" ( (pointer_expression "*(code *)puVar8" * (cast_expression "(code *)puVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19,iVar40,puVar43)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }" { (expression_statement "pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);" (assignment_expression "pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36)" identifier = (cast_expression "(char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "pattern_file_name(puVar11[3] + 1,pppppppcVar36)" identifier (argument_list "(puVar11[3] + 1,pppppppcVar36)" ( (binary_expression "puVar11[3] + 1" (subscript_expression "puVar11[3]" identifier [ number_literal ]) + number_literal) , identifier ))))) ;) (if_statement "if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }" if (parenthesized_expression "(*pcVar16 == '\0')" ( (binary_expression "*pcVar16 == '\0'" (pointer_expression "*pcVar16" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }" { (expression_statement "(*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);" (call_expression "(*(code *)PTR_error_00056450)(0,0,puVar14,iVar26)" (parenthesized_expression "(*(code *)PTR_error_00056450)" ( (pointer_expression "*(code *)PTR_error_00056450" * (cast_expression "(code *)PTR_error_00056450" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,puVar14,iVar26)" ( number_literal , number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }" else (compound_statement "{\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }" { (expression_statement "local_58 = local_30;" (assignment_expression "local_58 = local_30" identifier = identifier) ;) (expression_statement "local_54 = iVar26;" (assignment_expression "local_54 = iVar26" identifier = identifier) ;) (expression_statement "(*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);" (call_expression "(*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16)" (parenthesized_expression "(*(code *)PTR_error_00056450)" ( (pointer_expression "*(code *)PTR_error_00056450" * (cast_expression "(code *)PTR_error_00056450" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,puVar13,pcVar16)" ( number_literal , number_literal , identifier , identifier ))) ;) }))) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) })) (expression_statement "uVar42 = puVar11[3] + 1;" (assignment_expression "uVar42 = puVar11[3] + 1" identifier = (binary_expression "puVar11[3] + 1" (subscript_expression "puVar11[3]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "puVar11[3] = uVar42;" (assignment_expression "puVar11[3] = uVar42" (subscript_expression "puVar11[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8 = PTR_match_lines_000561b8;" (assignment_expression "puVar8 = PTR_match_lines_000561b8" identifier = identifier) ;) (expression_statement "puVar19 = puVar15;" (assignment_expression "puVar19 = puVar15" identifier = identifier) ;) }) while (parenthesized_expression "(puVar15 != (undefined4 *)0x0)" ( (binary_expression "puVar15 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }" { (expression_statement "puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);" (assignment_expression "puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_exit_00056430)(2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_exit_00056430)(2)" (parenthesized_expression "(*(code *)PTR_exit_00056430)" ( (pointer_expression "*(code *)PTR_exit_00056430" * (cast_expression "(code *)PTR_exit_00056430" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))))) ;) (return_statement "return puVar11;" return identifier ;) })) (if_statement "if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }" if (parenthesized_expression "((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'))" ( (binary_expression "(*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')" (parenthesized_expression "(*PTR_match_words_000561b4 != '\0')" ( (binary_expression "*PTR_match_words_000561b4 != '\0'" (pointer_expression "*PTR_match_words_000561b4" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')" ( (comma_expression "puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'" (assignment_expression "puVar19 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (comma_expression "local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'" (assignment_expression "local_res4 = param_2" identifier = identifier) , (comma_expression "local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'" (assignment_expression "local_44 = param_1" identifier = identifier) , (binary_expression "*PTR_match_lines_000561b8 != '\0'" (pointer_expression "*PTR_match_lines_000561b8" * identifier) != (char_literal "'\0'" ' escape_sequence '))))) ))) )) (compound_statement "{\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }" { (expression_statement "uVar42 = local_res8 & 0x2000;" (assignment_expression "uVar42 = local_res8 & 0x2000" identifier = (binary_expression "local_res8 & 0x2000" identifier & number_literal)) ;) (expression_statement "puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));" (assignment_expression "puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d))" identifier = (cast_expression "(undefined4 *)xmalloc((char *)((int)param_2 + 0x2d))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc((char *)((int)param_2 + 0x2d))" identifier (argument_list "((char *)((int)param_2 + 0x2d))" ( (cast_expression "(char *)((int)param_2 + 0x2d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2d)" ( (binary_expression "(int)param_2 + 0x2d" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))))) ;) (expression_statement "puVar14 = PTR_strlen_00056424;" (assignment_expression "puVar14 = PTR_strlen_00056424" identifier = identifier) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118" identifier = identifier) ;) (if_statement "if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" if (parenthesized_expression "(*puVar8 == '\0')" ( (binary_expression "*puVar8 == '\0'" (pointer_expression "*puVar8" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }" { (if_statement "if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }" if (parenthesized_expression "(uVar42 == 0)" ( (binary_expression "uVar42 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }" { (expression_statement "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);" (assignment_expression "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x78c)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x78c" identifier + number_literal) ))))) ;) (expression_statement "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);" (assignment_expression "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x790)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x790)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x790)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x790" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);" (assignment_expression "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x794)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x794)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x794)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x794" identifier + number_literal) ))))) ;) (expression_statement "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);" (assignment_expression "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788)" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x788)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x788)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x788)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x788" identifier + number_literal) ))))) ;) (expression_statement "puVar19[1] = uVar29;" (assignment_expression "puVar19[1] = uVar29" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[2] = uVar28;" (assignment_expression "puVar19[2] = uVar28" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[3] = uVar12;" (assignment_expression "puVar19[3] = uVar12" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = puVar13[0x79c];" (assignment_expression "uVar2 = puVar13[0x79c]" identifier = (subscript_expression "puVar13[0x79c]" identifier [ number_literal ])) ;) (expression_statement "puVar19[4] = *(undefined4 *)(puVar13 + 0x798);" (assignment_expression "puVar19[4] = *(undefined4 *)(puVar13 + 0x798)" (subscript_expression "puVar19[4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(puVar13 + 0x798)" * (cast_expression "(undefined4 *)(puVar13 + 0x798)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x798)" ( (binary_expression "puVar13 + 0x798" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(puVar19 + 5) = uVar2;" (assignment_expression "*(undefined1 *)(puVar19 + 5) = uVar2" (pointer_expression "*(undefined1 *)(puVar19 + 5)" * (cast_expression "(undefined1 *)(puVar19 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 5)" ( (binary_expression "puVar19 + 5" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar2 = puVar13[0x79e];" (assignment_expression "uVar2 = puVar13[0x79e]" identifier = (subscript_expression "puVar13[0x79e]" identifier [ number_literal ])) ;) (expression_statement "*(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];" (assignment_expression "*(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d]" (pointer_expression "*(undefined *)((int)puVar19 + 0x15)" * (cast_expression "(undefined *)((int)puVar19 + 0x15)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 0x15)" ( (binary_expression "(int)puVar19 + 0x15" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar13[0x79d]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 0x16) = uVar2;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0x16) = uVar2" (pointer_expression "*(undefined1 *)((int)puVar19 + 0x16)" * (cast_expression "(undefined1 *)((int)puVar19 + 0x16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 0x16)" ( (binary_expression "(int)puVar19 + 0x16" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" identifier = (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" ( (pointer_expression "*(code *)PTR_memcpy_000564b8" * (cast_expression "(code *)PTR_memcpy_000564b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" ( (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + iVar26)" ( (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier , identifier ))) ;) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" identifier = (cast_expression "(char *******)((int)param_2 + iVar26)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_2 + iVar26)" ( (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" identifier = (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" ( (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x754;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x754" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x754" identifier + number_literal)) ;) }) (else_clause "else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }" else (compound_statement "{\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }" { (expression_statement "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);" (assignment_expression "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x778)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x778)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x778)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x778" identifier + number_literal) ))))) ;) (expression_statement "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);" (assignment_expression "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x77c)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x77c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);" (assignment_expression "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780)" identifier = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x780)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x780)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x780)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x780" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = PTR_wcrtomb_00056118[0x784];" (assignment_expression "uVar2 = PTR_wcrtomb_00056118[0x784]" identifier = (subscript_expression "PTR_wcrtomb_00056118[0x784]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = PTR_wcrtomb_00056118[0x785];" (assignment_expression "uVar3 = PTR_wcrtomb_00056118[0x785]" identifier = (subscript_expression "PTR_wcrtomb_00056118[0x785]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = PTR_wcrtomb_00056118[0x786];" (assignment_expression "uVar6 = PTR_wcrtomb_00056118[0x786]" identifier = (subscript_expression "PTR_wcrtomb_00056118[0x786]" identifier [ number_literal ])) ;) (expression_statement "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);" (assignment_expression "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774)" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x774)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x774)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x774)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x774" identifier + number_literal) ))))) ;) (expression_statement "puVar19[1] = uVar29;" (assignment_expression "puVar19[1] = uVar29" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[2] = uVar28;" (assignment_expression "puVar19[2] = uVar28" (subscript_expression "puVar19[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19[3] = uVar12;" (assignment_expression "puVar19[3] = uVar12" (subscript_expression "puVar19[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(puVar19 + 4) = uVar2;" (assignment_expression "*(undefined1 *)(puVar19 + 4) = uVar2" (pointer_expression "*(undefined1 *)(puVar19 + 4)" * (cast_expression "(undefined1 *)(puVar19 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 4)" ( (binary_expression "puVar19 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 0x11) = uVar3;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0x11) = uVar3" (pointer_expression "*(undefined1 *)((int)puVar19 + 0x11)" * (cast_expression "(undefined1 *)((int)puVar19 + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 0x11)" ( (binary_expression "(int)puVar19 + 0x11" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 0x12) = uVar6;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0x12) = uVar6" (pointer_expression "*(undefined1 *)((int)puVar19 + 0x12)" * (cast_expression "(undefined1 *)((int)puVar19 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 0x12)" ( (binary_expression "(int)puVar19 + 0x12" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" identifier = (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" ( (pointer_expression "*(code *)PTR_memcpy_000564b8" * (cast_expression "(code *)PTR_memcpy_000564b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" ( (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + iVar26)" ( (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier , identifier ))) ;) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" identifier = (cast_expression "(char *******)((int)param_2 + iVar26)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_2 + iVar26)" ( (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" identifier = (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" ( (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x740;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x740" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x740" identifier + number_literal)) ;) }))) }) (else_clause "else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" else (if_statement "if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" if (parenthesized_expression "(uVar42 == 0)" ( (binary_expression "uVar42 == 0" identifier == number_literal) )) (compound_statement "{\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }" { (expression_statement "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);" (assignment_expression "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4)" (pointer_expression "*puVar19" * identifier) = (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4)" * (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x7a4)" ( (binary_expression "PTR_wcrtomb_00056118 + 0x7a4" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" identifier = (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" ( (pointer_expression "*(code *)PTR_memcpy_000564b8" * (cast_expression "(code *)PTR_memcpy_000564b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" ( (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + iVar26)" ( (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier , identifier ))) ;) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" identifier = (cast_expression "(char *******)((int)param_2 + iVar26)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_2 + iVar26)" ( (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" identifier = (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" ( (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x770;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x770" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x770" identifier + number_literal)) ;) }) (else_clause "else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" else (compound_statement "{\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" { (expression_statement "uVar2 = PTR_wcrtomb_00056118[0x7a1];" (assignment_expression "uVar2 = PTR_wcrtomb_00056118[0x7a1]" identifier = (subscript_expression "PTR_wcrtomb_00056118[0x7a1]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = PTR_wcrtomb_00056118[0x7a2];" (assignment_expression "uVar3 = PTR_wcrtomb_00056118[0x7a2]" identifier = (subscript_expression "PTR_wcrtomb_00056118[0x7a2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];" (assignment_expression "*(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0]" (pointer_expression "*(undefined *)puVar19" * (cast_expression "(undefined *)puVar19" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (subscript_expression "PTR_wcrtomb_00056118[0x7a0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 1) = uVar2;" (assignment_expression "*(undefined1 *)((int)puVar19 + 1) = uVar2" (pointer_expression "*(undefined1 *)((int)puVar19 + 1)" * (cast_expression "(undefined1 *)((int)puVar19 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 1)" ( (binary_expression "(int)puVar19 + 1" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)((int)puVar19 + 2) = uVar3;" (assignment_expression "*(undefined1 *)((int)puVar19 + 2) = uVar3" (pointer_expression "*(undefined1 *)((int)puVar19 + 2)" * (cast_expression "(undefined1 *)((int)puVar19 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + 2)" ( (binary_expression "(int)puVar19 + 2" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" identifier = (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" ( (pointer_expression "*(code *)PTR_memcpy_000564b8" * (cast_expression "(code *)PTR_memcpy_000564b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" ( (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + iVar26)" ( (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier , identifier ))) ;) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" identifier = (cast_expression "(char *******)((int)param_2 + iVar26)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_2 + iVar26)" ( (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" identifier = (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" ( (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x76c;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x76c" identifier = (binary_expression "PTR_wcrtomb_00056118 + 0x76c" identifier + number_literal)) ;) }))))) (expression_statement "iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);" (assignment_expression "iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13)" identifier = (call_expression "(*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13)" (parenthesized_expression "(*(code *)PTR_stpcpy_00056498)" ( (pointer_expression "*(code *)PTR_stpcpy_00056498" * (cast_expression "(code *)PTR_stpcpy_00056498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar16,puVar13)" ( identifier , identifier )))) ;) (expression_statement "local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));" (assignment_expression "local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16))" identifier = (cast_expression "(char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16))" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar36 + (iVar26 - (int)pcVar16))" ( (binary_expression "(int)pppppppcVar36 + (iVar26 - (int)pcVar16)" (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(iVar26 - (int)pcVar16)" ( (binary_expression "iVar26 - (int)pcVar16" identifier - (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "local_44 = puVar19;" (assignment_expression "local_44 = puVar19" identifier = identifier) ;) })) (expression_statement "puVar30 = (uint *)0x1;" (assignment_expression "puVar30 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar16 = (char *)puVar11[1];" (assignment_expression "pcVar16 = (char *)puVar11[1]" identifier = (cast_expression "(char *)puVar11[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "dfacomp(local_44);" (call_expression "dfacomp(local_44)" identifier (argument_list "(local_44)" ( identifier ))) ;) (expression_statement "pcVar17 = (char *)dfamust(puVar11[1]);" (assignment_expression "pcVar17 = (char *)dfamust(puVar11[1])" identifier = (cast_expression "(char *)dfamust(puVar11[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dfamust(puVar11[1])" identifier (argument_list "(puVar11[1])" ( (subscript_expression "puVar11[1]" identifier [ number_literal ]) ))))) ;) (if_statement "if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }" if (parenthesized_expression "(pcVar17 != (char *)0x0)" ( (binary_expression "pcVar17 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }" { (expression_statement "pcVar18 = (char *)kwsinit(0);" (assignment_expression "pcVar18 = (char *)kwsinit(0)" identifier = (cast_expression "(char *)kwsinit(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "kwsinit(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "cVar1 = *pcVar17;" (assignment_expression "cVar1 = *pcVar17" identifier = (pointer_expression "*pcVar17" * identifier)) ;) (expression_statement "*puVar11 = pcVar18;" (assignment_expression "*puVar11 = pcVar18" (pointer_expression "*puVar11" * identifier) = identifier) ;) (expression_statement "puVar13 = PTR_strlen_00056424;" (assignment_expression "puVar13 = PTR_strlen_00056424" identifier = identifier) ;) (if_statement "if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }" { (expression_statement "pppppppcVar39 = *(char ********)(pcVar17 + 4);" (assignment_expression "pppppppcVar39 = *(char ********)(pcVar17 + 4)" identifier = (pointer_expression "*(char ********)(pcVar17 + 4)" * (cast_expression "(char ********)(pcVar17 + 4)" ( (type_descriptor "char ********" primitive_type (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(pcVar17 + 4)" ( (binary_expression "pcVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);" (assignment_expression "pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39)" identifier = (cast_expression "(char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_00056424)(pppppppcVar39)" (parenthesized_expression "(*(code *)PTR_strlen_00056424)" ( (pointer_expression "*(code *)PTR_strlen_00056424" * (cast_expression "(code *)PTR_strlen_00056424" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppppcVar39)" ( identifier ))))) ;) (expression_statement "local_res4 = pppppppcVar39;" (assignment_expression "local_res4 = pppppppcVar39" identifier = identifier) ;) (expression_statement "kwsincr(pcVar18);" (call_expression "kwsincr(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) }) (else_clause "else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }" else (compound_statement "{\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }" { (expression_statement "uVar12 = *(undefined4 *)(pcVar17 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(pcVar17 + 4)" identifier = (pointer_expression "*(undefined4 *)(pcVar17 + 4)" * (cast_expression "(undefined4 *)(pcVar17 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 4)" ( (binary_expression "pcVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar11[7] = puVar11[7] + 1;" (assignment_expression "puVar11[7] = puVar11[7] + 1" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = (binary_expression "puVar11[7] + 1" (subscript_expression "puVar11[7]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);" (assignment_expression "pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12)" identifier = (cast_expression "(char *******)(*(code *)puVar13)(uVar12)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)puVar13)(uVar12)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12)" ( identifier ))))) ;) (expression_statement "pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);" (assignment_expression "pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1])" identifier = (cast_expression "(char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1])" ( (binary_expression "(int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]" (binary_expression "(int)pppppppcVar39 + (uint)(byte)pcVar17[2]" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)(byte)pcVar17[2]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar17[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar17[2]" identifier [ number_literal ])))) + (cast_expression "(uint)(byte)pcVar17[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar17[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar17[1]" identifier [ number_literal ])))) )))) ;) (expression_statement "pppppppcVar36 = (char *******)xmalloc(pcVar18);" (assignment_expression "pppppppcVar36 = (char *******)xmalloc(pcVar18)" identifier = (cast_expression "(char *******)xmalloc(pcVar18)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "xmalloc(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))))) ;) (expression_statement "puVar13 = PTR_memcpy_000564b8;" (assignment_expression "puVar13 = PTR_memcpy_000564b8" identifier = identifier) ;) (expression_statement "bVar4 = *(byte *)(puVar11 + 8);" (assignment_expression "bVar4 = *(byte *)(puVar11 + 8)" identifier = (pointer_expression "*(byte *)(puVar11 + 8)" * (cast_expression "(byte *)(puVar11 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 8)" ( (binary_expression "puVar11 + 8" identifier + number_literal) ))))) ;) (expression_statement "cVar1 = *puVar44;" (assignment_expression "cVar1 = *puVar44" identifier = (pointer_expression "*puVar44" * identifier)) ;) (expression_statement "iVar40 = (int)cVar1;" (assignment_expression "iVar40 = (int)cVar1" identifier = (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(char *)pppppppcVar36 = cVar1;" (assignment_expression "*(char *)pppppppcVar36 = cVar1" (pointer_expression "*(char *)pppppppcVar36" * (cast_expression "(char *)pppppppcVar36" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "bVar5 = pcVar17[1];" (assignment_expression "bVar5 = pcVar17[1]" identifier = (subscript_expression "pcVar17[1]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = *(undefined4 *)(pcVar17 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(pcVar17 + 4)" identifier = (pointer_expression "*(undefined4 *)(pcVar17 + 4)" * (cast_expression "(undefined4 *)(pcVar17 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 4)" ( (binary_expression "pcVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(puVar11 + 8) = bVar5 | bVar4;" (assignment_expression "*(byte *)(puVar11 + 8) = bVar5 | bVar4" (pointer_expression "*(byte *)(puVar11 + 8)" * (cast_expression "(byte *)(puVar11 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 8)" ( (binary_expression "puVar11 + 8" identifier + number_literal) )))) = (binary_expression "bVar5 | bVar4" identifier | identifier)) ;) (expression_statement "iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);" (assignment_expression "iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39)" identifier = (call_expression "(*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39)" ( (cast_expression "(char *)((int)pppppppcVar36 + (uint)bVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar36 + (uint)bVar5)" ( (binary_expression "(int)pppppppcVar36 + (uint)bVar5" (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) , identifier , identifier )))) ;) (if_statement "if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }" if (parenthesized_expression "(pcVar17[2] != '\0')" ( (binary_expression "pcVar17[2] != '\0'" (subscript_expression "pcVar17[2]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }" { (expression_statement "pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);" (assignment_expression "pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26)" identifier = (cast_expression "(char *******)((int)pppppppcVar39 + iVar26)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar39 + iVar26)" ( (binary_expression "(int)pppppppcVar39 + iVar26" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "*(char *)pppppppcVar39 = cVar1;" (assignment_expression "*(char *)pppppppcVar39 = cVar1" (pointer_expression "*(char *)pppppppcVar39" * (cast_expression "(char *)pppppppcVar39" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) })) (expression_statement "local_res4 = pppppppcVar36;" (assignment_expression "local_res4 = pppppppcVar36" identifier = identifier) ;) (expression_statement "pcVar16 = pcVar18;" (assignment_expression "pcVar16 = pcVar18" identifier = identifier) ;) (expression_statement "kwsincr(*puVar11);" (call_expression "kwsincr(*puVar11)" identifier (argument_list "(*puVar11)" ( (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "(*(code *)PTR_free_000564c0)(pppppppcVar36);" (call_expression "(*(code *)PTR_free_000564c0)(pppppppcVar36)" (parenthesized_expression "(*(code *)PTR_free_000564c0)" ( (pointer_expression "*(code *)PTR_free_000564c0" * (cast_expression "(code *)PTR_free_000564c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppppcVar36)" ( identifier ))) ;) }))) (expression_statement "kwsprep(*puVar11);" (call_expression "kwsprep(*puVar11)" identifier (argument_list "(*puVar11)" ( (pointer_expression "*puVar11" * identifier) ))) ;) (expression_statement "dfamustfree(pcVar17);" (call_expression "dfamustfree(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_free_000564c0)(puVar19);" (call_expression "(*(code *)PTR_free_000564c0)(puVar19)" (parenthesized_expression "(*(code *)PTR_free_000564c0)" ( (pointer_expression "*(code *)PTR_free_000564c0" * (cast_expression "(code *)PTR_free_000564c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar19)" ( identifier ))) ;) (if_statement "if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }" if (parenthesized_expression "(local_2c == *(int **)puVar9)" ( (binary_expression "local_2c == *(int **)puVar9" identifier == (pointer_expression "*(int **)puVar9" * (cast_expression "(int **)puVar9" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return puVar11;\n  }" { (return_statement "return puVar11;" return identifier ;) })) (expression_statement "pcVar46 = EGexecute;" (assignment_expression "pcVar46 = EGexecute" identifier = identifier) ;) (expression_statement "piVar27 = local_2c;" (assignment_expression "piVar27 = local_2c" identifier = identifier) ;) (expression_statement "puVar44 = PTR___stack_chk_fail_00056494;" (assignment_expression "puVar44 = PTR___stack_chk_fail_00056494" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00056494)();" (call_expression "(*(code *)PTR___stack_chk_fail_00056494)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00056494)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00056494" * (cast_expression "(code *)PTR___stack_chk_fail_00056494" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pppppppcVar10 = local_58;" (assignment_expression "pppppppcVar10 = local_58" identifier = identifier) ;) (expression_statement "piVar20 = *(int **)(puVar44 + 0x40f5c);" (assignment_expression "piVar20 = *(int **)(puVar44 + 0x40f5c)" identifier = (pointer_expression "*(int **)(puVar44 + 0x40f5c)" * (cast_expression "(int **)(puVar44 + 0x40f5c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40f5c)" ( (binary_expression "puVar44 + 0x40f5c" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);" (assignment_expression "pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16)" identifier = (cast_expression "(char *******)((int)local_res4 + (int)pcVar16)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)local_res4 + (int)pcVar16)" ( (binary_expression "(int)local_res4 + (int)pcVar16" (cast_expression "(int)local_res4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar16 = *(char **)(puVar44 + 0x40be0);" (assignment_expression "pcVar16 = *(char **)(puVar44 + 0x40be0)" identifier = (pointer_expression "*(char **)(puVar44 + 0x40be0)" * (cast_expression "(char **)(puVar44 + 0x40be0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40be0)" ( (binary_expression "puVar44 + 0x40be0" identifier + number_literal) ))))) ;) (expression_statement "iVar33 = piVar27[1];" (assignment_expression "iVar33 = piVar27[1]" identifier = (subscript_expression "piVar27[1]" identifier [ number_literal ])) ;) (expression_statement "iStack_94 = *piVar20;" (assignment_expression "iStack_94 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "puStack_90 = puVar11;" (assignment_expression "puStack_90 = puVar11" identifier = identifier) ;) (expression_statement "pcStack_8c = pcVar17;" (assignment_expression "pcStack_8c = pcVar17" identifier = identifier) ;) (expression_statement "pcStack_88 = pcVar18;" (assignment_expression "pcStack_88 = pcVar18" identifier = identifier) ;) (expression_statement "pppppppcStack_84 = pppppppcVar39;" (assignment_expression "pppppppcStack_84 = pppppppcVar39" identifier = identifier) ;) (expression_statement "pppppppcStack_80 = pppppppcVar36;" (assignment_expression "pppppppcStack_80 = pppppppcVar36" identifier = identifier) ;) (expression_statement "iStack_7c = iVar40;" (assignment_expression "iStack_7c = iVar40" identifier = identifier) ;) (expression_statement "uStack_78 = uVar42;" (assignment_expression "uStack_78 = uVar42" identifier = identifier) ;) (expression_statement "puStack_74 = puVar19;" (assignment_expression "puStack_74 = puVar19" identifier = identifier) ;) (expression_statement "puStack_70 = puVar15;" (assignment_expression "puStack_70 = puVar15" identifier = identifier) ;) (expression_statement "pcStack_6c = pcVar46;" (assignment_expression "pcStack_6c = pcVar46" identifier = identifier) ;) (expression_statement "iVar40 = dfasuperset(iVar33);" (assignment_expression "iVar40 = dfasuperset(iVar33)" identifier = (call_expression "dfasuperset(iVar33)" identifier (argument_list "(iVar33)" ( identifier )))) ;) (expression_statement "iVar26 = (int)*pcVar16;" (assignment_expression "iVar26 = (int)*pcVar16" identifier = (cast_expression "(int)*pcVar16" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar16" * identifier))) ;) (expression_statement "iVar33 = dfaisfast(iVar33);" (assignment_expression "iVar33 = dfaisfast(iVar33)" identifier = (call_expression "dfaisfast(iVar33)" identifier (argument_list "(iVar33)" ( identifier )))) ;) (expression_statement "pppppppcStack_a8 = local_res4;" (assignment_expression "pppppppcStack_a8 = local_res4" identifier = identifier) ;) (if_statement "if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }" if (parenthesized_expression "(local_res4 < pppppppcVar37)" ( (binary_expression "local_res4 < pppppppcVar37" identifier < identifier) )) (compound_statement "{\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }" { (expression_statement "pcVar18 = *(char **)(puVar44 + 0x40c60);" (assignment_expression "pcVar18 = *(char **)(puVar44 + 0x40c60)" identifier = (pointer_expression "*(char **)(puVar44 + 0x40c60)" * (cast_expression "(char **)(puVar44 + 0x40c60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40c60)" ( (binary_expression "puVar44 + 0x40c60" identifier + number_literal) ))))) ;) (expression_statement "pppppppcStack_f0 = local_res4;" (assignment_expression "pppppppcStack_f0 = local_res4" identifier = identifier) ;) (do_statement "do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);" do (compound_statement "{\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    }" { (if_statement "if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }" if (parenthesized_expression "(pppppppcVar10 == (char *******)0x0)" ( (binary_expression "pppppppcVar10 == (char *******)0x0" identifier == (cast_expression "(char *******)0x0" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }" { (expression_statement "iStack_a4 = 0;" (assignment_expression "iStack_a4 = 0" identifier = number_literal) ;) (expression_statement "cStack_a9 = '\0';" (assignment_expression "cStack_a9 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pppppppcVar36 = pppppppcStack_f0;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcVar23 = pppppppcVar37;" (assignment_expression "pppppppcVar23 = pppppppcVar37" identifier = identifier) ;) (if_statement "if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }" if (parenthesized_expression "(*piVar27 != 0)" ( (binary_expression "*piVar27 != 0" (pointer_expression "*piVar27" * identifier) != number_literal) )) (compound_statement "{\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }" { (expression_statement "iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);" (assignment_expression "iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1)" identifier = (call_expression "kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1)" identifier (argument_list "(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1)" ( (pointer_expression "*piVar27" * identifier) , (binary_expression "(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8)" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "(uint)*(byte *)(piVar27 + 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(piVar27 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 8)" ( (binary_expression "piVar27 + 8" identifier + number_literal) ))))) , (binary_expression "(uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0)" (binary_expression "(uint)*(byte *)(piVar27 + 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(piVar27 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 8)" ( (binary_expression "piVar27 + 8" identifier + number_literal) )))) + (parenthesized_expression "((int)pppppppcVar37 - (int)pppppppcStack_f0)" ( (binary_expression "(int)pppppppcVar37 - (int)pppppppcStack_f0" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier , number_literal )))) ;) (if_statement "if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }" if (parenthesized_expression "(-1 < iVar21)" ( (binary_expression "-1 < iVar21" number_literal < identifier) )) (compound_statement "{\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }" { (expression_statement "pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);" (assignment_expression "pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21)" identifier = (cast_expression "(char *******)((int)pppppppcStack_f0 + iVar21)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcStack_f0 + iVar21)" ( (binary_expression "(int)pppppppcStack_f0 + iVar21" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);" (assignment_expression "iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" identifier = (call_expression "(**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" (parenthesized_expression "(**(code **)(puVar44 + 0x40ed0))" ( (pointer_expression "**(code **)(puVar44 + 0x40ed0)" * (pointer_expression "*(code **)(puVar44 + 0x40ed0)" * (cast_expression "(code **)(puVar44 + 0x40ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40ed0)" ( (binary_expression "puVar44 + 0x40ed0" identifier + number_literal) ))))) )) (argument_list "(local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" ( identifier , identifier , (binary_expression "(int)pppppppcVar36 - (int)local_res4" (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_res4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar39 = local_res4;" (assignment_expression "pppppppcVar39 = local_res4" identifier = identifier) ;) (if_statement "if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }" if (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (compound_statement "{\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }" { (expression_statement "pppppppcVar39 = (char *******)(iVar22 + 1);" (assignment_expression "pppppppcVar39 = (char *******)(iVar22 + 1)" identifier = (cast_expression "(char *******)(iVar22 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar22 + 1)" ( (binary_expression "iVar22 + 1" identifier + number_literal) )))) ;) })) (if_statement "if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }" if (parenthesized_expression "(piVar27[7] <= aiStack_a0[0])" ( (binary_expression "piVar27[7] <= aiStack_a0[0]" (subscript_expression "piVar27[7]" identifier [ number_literal ]) <= (subscript_expression "aiStack_a0[0]" identifier [ number_literal ])) )) (compound_statement "{\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }" { (expression_statement "iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;" (assignment_expression "iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39" identifier = (binary_expression "(int)pppppppcVar36 - (int)pppppppcVar39" (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }" if (parenthesized_expression "(iVar33 == 0)" ( (binary_expression "iVar33 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }" { (labeled_statement "LAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;" statement_identifier : (expression_statement "iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;" (assignment_expression "iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36" identifier = (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar36" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }) (else_clause "else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }" else (compound_statement "{\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }" { (if_statement "if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }" if (parenthesized_expression "(iVar22 < 0x10)" ( (binary_expression "iVar22 < 0x10" identifier < number_literal) )) (compound_statement "{\n                  iVar22 = 0x10;\n                }" { (expression_statement "iVar22 = 0x10;" (assignment_expression "iVar22 = 0x10" identifier = number_literal) ;) })) (if_statement "if (iVar22 < iVar21 >> 2) goto LAB_000156c0;" if (parenthesized_expression "(iVar22 < iVar21 >> 2)" ( (binary_expression "iVar22 < iVar21 >> 2" identifier < (binary_expression "iVar21 >> 2" identifier >> number_literal)) )) (goto_statement "goto LAB_000156c0;" goto statement_identifier ;)) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar36 = pppppppcVar37;" (assignment_expression "pppppppcVar36 = pppppppcVar37" identifier = identifier) ;) (if_statement "if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }" if (parenthesized_expression "(iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2)" ( (binary_expression "iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2" identifier < (binary_expression "(int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2" (binary_expression "(int)pppppppcVar37 - (int)pppppppcStack_f0" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) )) (compound_statement "{\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }" { (expression_statement "pppppppcVar36 = pppppppcStack_f0 + iVar22;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0 + iVar22" identifier = (binary_expression "pppppppcStack_f0 + iVar22" identifier + identifier)) ;) (goto_statement "goto LAB_000156c0;" goto statement_identifier ;) })) }))) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21)" identifier = (call_expression "(**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar44 + 0x40bc8)" * (pointer_expression "*(code **)(puVar44 + 0x40bc8)" * (cast_expression "(code **)(puVar44 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40bc8)" ( (binary_expression "puVar44 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar36,iVar26,iVar21)" ( identifier , identifier , identifier )))) ;) (expression_statement "pppppppcVar36 = pppppppcVar39;" (assignment_expression "pppppppcVar36 = pppppppcVar39" identifier = identifier) ;) (if_statement "if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }" { (expression_statement "pppppppcVar23 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcVar23 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) })) (goto_statement "goto joined_r0x00015ca0;" goto statement_identifier ;) })) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" identifier = (call_expression "(**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar44 + 0x40bc8)" * (pointer_expression "*(code **)(puVar44 + 0x40bc8)" * (cast_expression "(code **)(puVar44 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40bc8)" ( (binary_expression "puVar44 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" ( identifier , identifier , (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar36" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcStack_f0 = pppppppcVar37;" (assignment_expression "pppppppcStack_f0 = pppppppcVar37" identifier = identifier) ;) (if_statement "if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" { (expression_statement "pppppppcStack_f0 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcStack_f0 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) })) (if_statement "if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }" if (parenthesized_expression "((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0'))" ( (binary_expression "(**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')" (parenthesized_expression "(**(char **)(puVar44 + 0x40c1c) == '\x01')" ( (binary_expression "**(char **)(puVar44 + 0x40c1c) == '\x01'" (pointer_expression "**(char **)(puVar44 + 0x40c1c)" * (pointer_expression "*(char **)(puVar44 + 0x40c1c)" * (cast_expression "(char **)(puVar44 + 0x40c1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40c1c)" ( (binary_expression "puVar44 + 0x40c1c" identifier + number_literal) ))))) == (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "((*(char **)(puVar44 + 0x40c1c))[1] == '\0')" ( (binary_expression "(*(char **)(puVar44 + 0x40c1c))[1] == '\0'" (subscript_expression "(*(char **)(puVar44 + 0x40c1c))[1]" (parenthesized_expression "(*(char **)(puVar44 + 0x40c1c))" ( (pointer_expression "*(char **)(puVar44 + 0x40c1c)" * (cast_expression "(char **)(puVar44 + 0x40c1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40c1c)" ( (binary_expression "puVar44 + 0x40c1c" identifier + number_literal) )))) )) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }" { (if_statement "if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }" if (parenthesized_expression "(pppppppcStack_a8 < pppppppcVar39)" ( (binary_expression "pppppppcStack_a8 < pppppppcVar39" identifier < identifier) )) (compound_statement "{\n                pppppppcStack_a8 = pppppppcVar39;\n              }" { (expression_statement "pppppppcStack_a8 = pppppppcVar39;" (assignment_expression "pppppppcStack_a8 = pppppppcVar39" identifier = identifier) ;) })) (expression_statement "iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);" (assignment_expression "iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37)" identifier = (call_expression "mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37)" identifier (argument_list "(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37)" ( (pointer_expression "&pppppppcStack_a8" & identifier) , identifier , identifier )))) ;) (expression_statement "pppppppcVar23 = pppppppcStack_f0;" (assignment_expression "pppppppcVar23 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcVar36 = pppppppcStack_a8;" (assignment_expression "pppppppcVar36 = pppppppcStack_a8" identifier = identifier) ;) (if_statement "if (iVar21 == 0) goto LAB_00015bc8;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00015bc8;" goto statement_identifier ;)) (goto_statement "goto LAB_00015b08;" goto statement_identifier ;) })) (labeled_statement "LAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;" statement_identifier : (expression_statement "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;" (assignment_expression "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39" identifier = (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (goto_statement "goto LAB_00015bdc;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (labeled_statement "joined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;" statement_identifier : (expression_statement "pppppppcStack_f0 = pppppppcVar23;" (assignment_expression "pppppppcStack_f0 = pppppppcVar23" identifier = identifier) ;)) (expression_statement "pppppppcVar23 = pppppppcStack_f0;" (assignment_expression "pppppppcVar23 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcVar39 = pppppppcVar36;" (assignment_expression "pppppppcVar39 = pppppppcVar36" identifier = identifier) ;) (if_statement "if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" if (parenthesized_expression "(iVar40 == 0)" ( (binary_expression "iVar40 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }" { (labeled_statement "LAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;" statement_identifier : (expression_statement "pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;" (assignment_expression "pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" identifier = (cast_expression "(char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" identifier (argument_list "(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" ( (subscript_expression "piVar27[1]" identifier [ number_literal ]) , identifier , identifier , number_literal , (pointer_expression "&iStack_a4" & identifier) , (pointer_expression "&cStack_a9" & identifier) ))))) ;)) (expression_statement "pppppppcStack_f0 = pppppppcVar23;" (assignment_expression "pppppppcStack_f0 = pppppppcVar23" identifier = identifier) ;) (if_statement "if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }" if (parenthesized_expression "((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36))" ( (binary_expression "(pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)" (parenthesized_expression "(pppppppcVar36 != (char *******)0x0)" ( (binary_expression "pppppppcVar36 != (char *******)0x0" identifier != (cast_expression "(char *******)0x0" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)" ( (comma_expression "pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36" (assignment_expression "pppppppcStack_f0 = pppppppcVar36" identifier = identifier) , (binary_expression "pppppppcVar23 != pppppppcVar36" identifier != identifier)) ))) )) (compound_statement "{\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }" { (if_statement "if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }" if (parenthesized_expression "(iStack_a4 != 0)" ( (binary_expression "iStack_a4 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }" { (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" identifier = (call_expression "(**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" (parenthesized_expression "(**(code **)(puVar44 + 0x40ed0))" ( (pointer_expression "**(code **)(puVar44 + 0x40ed0)" * (pointer_expression "*(code **)(puVar44 + 0x40ed0)" * (cast_expression "(code **)(puVar44 + 0x40ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40ed0)" ( (binary_expression "puVar44 + 0x40ed0" identifier + number_literal) ))))) )) (argument_list "(local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" ( identifier , identifier , (binary_expression "(int)pppppppcVar36 - (int)local_res4" (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_res4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar39 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcVar39 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) })) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" identifier = (call_expression "(**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar44 + 0x40bc8)" * (pointer_expression "*(code **)(puVar44 + 0x40bc8)" * (cast_expression "(code **)(puVar44 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40bc8)" ( (binary_expression "puVar44 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" ( identifier , identifier , (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar36" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar36" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcStack_f0 = pppppppcVar37;" (assignment_expression "pppppppcStack_f0 = pppppppcVar37" identifier = identifier) ;) (if_statement "if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" { (expression_statement "pppppppcStack_f0 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcStack_f0 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) })) (if_statement "if (cStack_a9 == '\0') goto LAB_00015bc8;" if (parenthesized_expression "(cStack_a9 == '\0')" ( (binary_expression "cStack_a9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00015bc8;" goto statement_identifier ;)) (expression_statement "pppppppcStack_d8 = pppppppcVar39;" (assignment_expression "pppppppcStack_d8 = pppppppcVar39" identifier = identifier) ;) (if_statement "if (piVar27[3] != 0) goto LAB_00015714;" if (parenthesized_expression "(piVar27[3] != 0)" ( (binary_expression "piVar27[3] != 0" (subscript_expression "piVar27[3]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00015714;" goto statement_identifier ;)) })) }) (else_clause "else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" else (compound_statement "{\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" { (expression_statement "pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);" (assignment_expression "pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" identifier = (cast_expression "(char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" identifier (argument_list "(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" ( identifier , identifier , identifier , number_literal , (pointer_expression "&iStack_a4" & identifier) , number_literal ))))) ;) (if_statement "if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }" if (parenthesized_expression "((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39))" ( (binary_expression "(pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)" (parenthesized_expression "(pppppppcVar39 != (char *******)0x0)" ( (binary_expression "pppppppcVar39 != (char *******)0x0" identifier != (cast_expression "(char *******)0x0" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(pppppppcStack_f0 != pppppppcVar39)" ( (binary_expression "pppppppcStack_f0 != pppppppcVar39" identifier != identifier) ))) )) (compound_statement "{\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }" { (expression_statement "pppppppcStack_f0 = pppppppcVar36;" (assignment_expression "pppppppcStack_f0 = pppppppcVar36" identifier = identifier) ;) (if_statement "if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" if (parenthesized_expression "(iStack_a4 != 0)" ( (binary_expression "iStack_a4 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" { (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4)" identifier = (call_expression "(**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4)" (parenthesized_expression "(**(code **)(puVar44 + 0x40ed0))" ( (pointer_expression "**(code **)(puVar44 + 0x40ed0)" * (pointer_expression "*(code **)(puVar44 + 0x40ed0)" * (cast_expression "(code **)(puVar44 + 0x40ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40ed0)" ( (binary_expression "puVar44 + 0x40ed0" identifier + number_literal) ))))) )) (argument_list "(local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4)" ( identifier , identifier , (binary_expression "(int)pppppppcVar39 - (int)local_res4" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_res4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcStack_f0 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcStack_f0 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) })) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39)" identifier = (call_expression "(**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" ( (pointer_expression "**(code **)(puVar44 + 0x40bc8)" * (pointer_expression "*(code **)(puVar44 + 0x40bc8)" * (cast_expression "(code **)(puVar44 + 0x40bc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40bc8)" ( (binary_expression "puVar44 + 0x40bc8" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39)" ( identifier , identifier , (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar39" (cast_expression "(int)pppppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar36 = pppppppcStack_f0;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcVar39 = pppppppcStack_f0;" (assignment_expression "pppppppcVar39 = pppppppcStack_f0" identifier = identifier) ;) (if_statement "if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }" { (expression_statement "iStack_a4 = 0;" (assignment_expression "iStack_a4 = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar23 = pppppppcVar37;" (assignment_expression "pppppppcVar23 = pppppppcVar37" identifier = identifier) ;) }) (else_clause "else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }" else (compound_statement "{\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }" { (expression_statement "iStack_a4 = 0;" (assignment_expression "iStack_a4 = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar23 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcVar23 = (char *******)(iVar21 + 1)" identifier = (cast_expression "(char *******)(iVar21 + 1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar21 + 1)" ( (binary_expression "iVar21 + 1" identifier + number_literal) )))) ;) }))) (goto_statement "goto LAB_00015b08;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }" else (compound_statement "{\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }" { (expression_statement "puVar11 = (undefined4 *)0xffffffff;" (assignment_expression "puVar11 = (undefined4 *)0xffffffff" identifier = (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar27[3] == 0) goto LAB_00015bec;" if (parenthesized_expression "(piVar27[3] == 0)" ( (binary_expression "piVar27[3] == 0" (subscript_expression "piVar27[3]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00015bec;" goto statement_identifier ;)) (expression_statement "pppppppcStack_d8 = pppppppcVar10;" (assignment_expression "pppppppcStack_d8 = pppppppcVar10" identifier = identifier) ;) (expression_statement "pppppppcVar39 = pppppppcStack_f0;" (assignment_expression "pppppppcVar39 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcStack_f0 = pppppppcVar37;" (assignment_expression "pppppppcStack_f0 = pppppppcVar37" identifier = identifier) ;) (labeled_statement "LAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);" statement_identifier : (expression_statement "pcVar17 = *(char **)(puVar44 + 0x40c5c);" (assignment_expression "pcVar17 = *(char **)(puVar44 + 0x40c5c)" identifier = (pointer_expression "*(char **)(puVar44 + 0x40c5c)" * (cast_expression "(char **)(puVar44 + 0x40c5c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40c5c)" ( (binary_expression "puVar44 + 0x40c5c" identifier + number_literal) ))))) ;)) (expression_statement "piVar38 = piVar27 + 4;" (assignment_expression "piVar38 = piVar27 + 4" identifier = (binary_expression "piVar27 + 4" identifier + number_literal)) ;) (expression_statement "uStack_e8 = 0;" (assignment_expression "uStack_e8 = 0" identifier = number_literal) ;) (expression_statement "uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;" (assignment_expression "uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8" identifier = (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcStack_d8" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;" (assignment_expression "iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1" identifier = (binary_expression "((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1" (parenthesized_expression "((int)pppppppcStack_f0 - (int)pppppppcVar39)" ( (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) ;) (expression_statement "pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);" (assignment_expression "pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1)" identifier = (cast_expression "(char *******)((int)pppppppcStack_f0 + -1)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcStack_f0 + -1)" ( (binary_expression "(int)pppppppcStack_f0 + -1" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar41 = 0;" (assignment_expression "uVar41 = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar36 = pppppppcStack_f0;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0" identifier = identifier) ;) (labeled_statement "LAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);" statement_identifier : (do_statement "do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);" do (compound_statement "{\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        }" { (expression_statement "iVar34 = uVar41 * 0x20;" (assignment_expression "iVar34 = uVar41 * 0x20" identifier = (binary_expression "uVar41 * 0x20" identifier * number_literal)) ;) (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40eb8);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40eb8)" identifier = (pointer_expression "*(code **)(puVar44 + 0x40eb8)" * (cast_expression "(code **)(puVar44 + 0x40eb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40eb8)" ( (binary_expression "puVar44 + 0x40eb8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = piVar27[2] + iVar34;" (assignment_expression "iVar22 = piVar27[2] + iVar34" identifier = (binary_expression "piVar27[2] + iVar34" (subscript_expression "piVar27[2]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n'" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n'" (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfc" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) & number_literal) | (binary_expression "*pcVar16 == '\n'" (pointer_expression "*pcVar16" * identifier) == (char_literal "'\n'" ' escape_sequence ')))) ;) (expression_statement "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);" (assignment_expression "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38)" identifier = (call_expression "(*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38)" ( identifier , identifier , identifier , (binary_expression "(int)pppppppcStack_d8 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "uVar42 - 1" identifier - number_literal) , identifier )))) ;) (if_statement "if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }" if (parenthesized_expression "(iVar22 < -1)" ( (binary_expression "iVar22 < -1" identifier < number_literal) )) (compound_statement "{\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }" { (labeled_statement "LAB_00015cdc:\n                    \n            xalloc_die();" statement_identifier : (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);" (assignment_expression "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22)" identifier = (cast_expression "(char *******)((int)pppppppcVar39 + iVar22)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar39 + iVar22)" ( (binary_expression "(int)pppppppcVar39 + iVar22" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppppcVar45 = pppppppcVar36;" (assignment_expression "pppppppcVar45 = pppppppcVar36" identifier = identifier) ;) (expression_statement "uVar35 = uStack_e8;" (assignment_expression "uVar35 = uStack_e8" identifier = identifier) ;) (if_statement "if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }" if (parenthesized_expression "((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7))" ( (binary_expression "(iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)" (parenthesized_expression "(iVar22 != -1)" ( (binary_expression "iVar22 != -1" identifier != number_literal) )) && (parenthesized_expression "(bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)" ( (comma_expression "bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7" (assignment_expression "bVar7 = pppppppcVar36 < pppppppcVar31" identifier = (binary_expression "pppppppcVar36 < pppppppcVar31" identifier < identifier)) , (unary_expression "!bVar7" ! identifier)) ))) )) (compound_statement "{\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }" { (expression_statement "uVar24 = *(int *)piVar27[6] - iVar22;" (assignment_expression "uVar24 = *(int *)piVar27[6] - iVar22" identifier = (binary_expression "*(int *)piVar27[6] - iVar22" (pointer_expression "*(int *)piVar27[6]" * (cast_expression "(int *)piVar27[6]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[6]" identifier [ number_literal ]))) - identifier)) ;) (expression_statement "uVar25 = uVar42;" (assignment_expression "uVar25 = uVar42" identifier = identifier) ;) (expression_statement "pppppppcVar32 = pppppppcStack_d8;" (assignment_expression "pppppppcVar32 = pppppppcStack_d8" identifier = identifier) ;) (if_statement "if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" if (parenthesized_expression "(pppppppcVar10 == (char *******)0x0)" ( (binary_expression "pppppppcVar10 == (char *******)0x0" identifier == (cast_expression "(char *******)0x0" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }" { (if_statement "if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }" if (parenthesized_expression "(*pcVar18 == '\0')" ( (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }" { (if_statement "if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }" if (parenthesized_expression "(*pcVar17 != '\0')" ( (binary_expression "*pcVar17 != '\0'" (pointer_expression "*pcVar17" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }" { (labeled_statement "LAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);" statement_identifier : (do_statement "do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);" do (compound_statement "{\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  }" { (expression_statement "iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);" (assignment_expression "iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23)" identifier = (call_expression "wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23)" identifier (argument_list "((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23)" ( (cast_expression "(char *)((int)pppppppcVar31 + uVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar31 + uVar24)" ( (binary_expression "(int)pppppppcVar31 + uVar24" (cast_expression "(int)pppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier )))) ;) (if_statement "if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;" if (parenthesized_expression "((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))" ( (binary_expression "(iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0)" (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0)" ( (comma_expression "iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0" (assignment_expression "iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23)" identifier = (call_expression "wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23)" identifier (argument_list "(pppppppcVar39,pppppppcVar31,pppppppcVar23)" ( identifier , identifier , identifier )))) , (comma_expression "uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0" (assignment_expression "uVar25 = uVar24" identifier = identifier) , (comma_expression "pppppppcVar32 = pppppppcVar31, iVar22 == 0" (assignment_expression "pppppppcVar32 = pppppppcVar31" identifier = identifier) , (binary_expression "iVar22 == 0" identifier == number_literal)))) ))) )) (goto_statement "goto LAB_00015914;" goto statement_identifier ;)) (if_statement "if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }" { (labeled_statement "LAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;" statement_identifier : (if_statement "if (pppppppcVar23 == pppppppcVar31) break;" if (parenthesized_expression "(pppppppcVar23 == pppppppcVar31)" ( (binary_expression "pppppppcVar23 == pppppppcVar31" identifier == identifier) )) (break_statement "break;" break ;))) (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40eb8);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40eb8)" identifier = (pointer_expression "*(code **)(puVar44 + 0x40eb8)" * (cast_expression "(code **)(puVar44 + 0x40eb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40eb8)" ( (binary_expression "puVar44 + 0x40eb8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = piVar27[2] + iVar34;" (assignment_expression "iVar22 = piVar27[2] + iVar34" identifier = (binary_expression "piVar27[2] + iVar34" (subscript_expression "piVar27[2]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);" (assignment_expression "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38)" identifier = (call_expression "(*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38)" ( identifier , identifier , identifier , (binary_expression "((int)pppppppcVar31 + 1) - (int)pppppppcVar39" (parenthesized_expression "((int)pppppppcVar31 + 1)" ( (binary_expression "(int)pppppppcVar31 + 1" (cast_expression "(int)pppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1)))" ( (binary_expression "(int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-1 - (int)((int)pppppppcVar31 + 1))" ( (binary_expression "-1 - (int)((int)pppppppcVar31 + 1)" number_literal - (cast_expression "(int)((int)pppppppcVar31 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppppppcVar31 + 1)" ( (binary_expression "(int)pppppppcVar31 + 1" (cast_expression "(int)pppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ))) , identifier )))) ;) (if_statement "if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }" if (parenthesized_expression "(iVar22 < 0)" ( (binary_expression "iVar22 < 0" identifier < number_literal) )) (compound_statement "{\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }" { (if_statement "if (iVar22 != -1) goto LAB_00015cdc;" if (parenthesized_expression "(iVar22 != -1)" ( (binary_expression "iVar22 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00015cdc;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);" (assignment_expression "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22)" identifier = (cast_expression "(char *******)((int)pppppppcVar39 + iVar22)" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar39 + iVar22)" ( (binary_expression "(int)pppppppcVar39 + iVar22" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "bVar7 = pppppppcVar36 < pppppppcVar31;" (assignment_expression "bVar7 = pppppppcVar36 < pppppppcVar31" identifier = (binary_expression "pppppppcVar36 < pppppppcVar31" identifier < identifier)) ;) (expression_statement "uVar24 = *(int *)piVar27[6] - iVar22;" (assignment_expression "uVar24 = *(int *)piVar27[6] - iVar22" identifier = (binary_expression "*(int *)piVar27[6] - iVar22" (pointer_expression "*(int *)piVar27[6]" * (cast_expression "(int *)piVar27[6]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[6]" identifier [ number_literal ]))) - identifier)) ;) }) (else_clause "else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }" else (compound_statement "{\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }" { (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40ee8);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40ee8)" identifier = (pointer_expression "*(code **)(puVar44 + 0x40ee8)" * (cast_expression "(code **)(puVar44 + 0x40ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40ee8)" ( (binary_expression "puVar44 + 0x40ee8" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = piVar27[2] + iVar34;" (assignment_expression "iVar22 = piVar27[2] + iVar34" identifier = (binary_expression "piVar27[2] + iVar34" (subscript_expression "piVar27[2]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd | 2" (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" * (cast_expression "(byte *)(iVar22 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);" (assignment_expression "uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38)" identifier = (call_expression "(*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38)" ( identifier , identifier , (cast_expression "(char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8))" ( (binary_expression "(int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)" (cast_expression "(int)pppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((uVar24 - 1) - (int)pppppppcStack_d8)" ( (binary_expression "(uVar24 - 1) - (int)pppppppcStack_d8" (parenthesized_expression "(uVar24 - 1)" ( (binary_expression "uVar24 - 1" identifier - number_literal) )) - (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) , (binary_expression "(int)pppppppcVar31 - (int)pppppppcVar39" (cast_expression "(int)pppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier )))) ;) (if_statement "if ((int)uVar24 < -1) goto LAB_00015cdc;" if (parenthesized_expression "((int)uVar24 < -1)" ( (binary_expression "(int)uVar24 < -1" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00015cdc;" goto statement_identifier ;)) (if_statement "if ((int)uVar24 < 1) goto LAB_000157d8;" if (parenthesized_expression "((int)uVar24 < 1)" ( (binary_expression "(int)uVar24 < 1" (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_000157d8;" goto statement_identifier ;)) }))) }) while (parenthesized_expression "(!bVar7)" ( (unary_expression "!bVar7" ! identifier) )) ;)) (goto_statement "goto LAB_00015854;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }" else (compound_statement "{\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }" { (labeled_statement "LAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;" statement_identifier : (if_statement "if (uVar24 != uVar42 - 1) goto LAB_00015854;" if (parenthesized_expression "(uVar24 != uVar42 - 1)" ( (binary_expression "uVar24 != uVar42 - 1" identifier != (binary_expression "uVar42 - 1" identifier - number_literal)) )) (goto_statement "goto LAB_00015854;" goto statement_identifier ;))) }))) (labeled_statement "LAB_00015914:\n              uVar24 = uVar25;" statement_identifier : (expression_statement "uVar24 = uVar25;" (assignment_expression "uVar24 = uVar25" identifier = identifier) ;)) (expression_statement "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;" (assignment_expression "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39" identifier = (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_f0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppppcVar31 = pppppppcVar32;" (assignment_expression "pppppppcVar31 = pppppppcVar32" identifier = identifier) ;) (if_statement "if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;" if (parenthesized_expression "(pppppppcVar10 == (char *******)0x0)" ( (binary_expression "pppppppcVar10 == (char *******)0x0" identifier == (cast_expression "(char *******)0x0" ( (type_descriptor "char *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_00015bdc;" goto statement_identifier ;)) }) (else_clause "else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" else (if_statement "if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" if (parenthesized_expression "(*pcVar17 != '\0')" ( (binary_expression "*pcVar17 != '\0'" (pointer_expression "*pcVar17" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" { (if_statement "if (*pcVar18 == '\0') goto LAB_000157a0;" if (parenthesized_expression "(*pcVar18 == '\0')" ( (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000157a0;" goto statement_identifier ;)) (goto_statement "goto LAB_0001597c;" goto statement_identifier ;) })))) (expression_statement "pppppppcVar45 = pppppppcVar31;" (assignment_expression "pppppppcVar45 = pppppppcVar31" identifier = identifier) ;) (expression_statement "uVar35 = uVar24;" (assignment_expression "uVar35 = uVar24" identifier = identifier) ;) (if_statement "if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }" if (parenthesized_expression "((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))" ( (binary_expression "(pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31)" (parenthesized_expression "(pppppppcVar36 <= pppppppcVar31)" ( (binary_expression "pppppppcVar36 <= pppppppcVar31" identifier <= identifier) )) && (parenthesized_expression "(pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31)" ( (comma_expression "pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31" (assignment_expression "pppppppcVar45 = pppppppcVar36" identifier = identifier) , (comma_expression "uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31" (assignment_expression "uVar35 = uStack_e8" identifier = identifier) , (binary_expression "pppppppcVar36 == pppppppcVar31" identifier == identifier))) ))) )) (compound_statement "{\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }" { (expression_statement "uVar41 = uVar41 + 1;" (assignment_expression "uVar41 = uVar41 + 1" identifier = (binary_expression "uVar41 + 1" identifier + number_literal)) ;) (if_statement "if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }" if (parenthesized_expression "(uStack_e8 < uVar24)" ( (binary_expression "uStack_e8 < uVar24" identifier < identifier) )) (compound_statement "{\n                uStack_e8 = uVar24;\n              }" { (expression_statement "uStack_e8 = uVar24;" (assignment_expression "uStack_e8 = uVar24" identifier = identifier) ;) })) (if_statement "if ((uint)piVar27[3] <= uVar41) break;" if (parenthesized_expression "((uint)piVar27[3] <= uVar41)" ( (binary_expression "(uint)piVar27[3] <= uVar41" (cast_expression "(uint)piVar27[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar27[3]" identifier [ number_literal ])) <= identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_00015868;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00015854:\n          uStack_e8 = uVar35;" statement_identifier : (expression_statement "uStack_e8 = uVar35;" (assignment_expression "uStack_e8 = uVar35" identifier = identifier) ;)) (expression_statement "uVar41 = uVar41 + 1;" (assignment_expression "uVar41 = uVar41 + 1" identifier = (binary_expression "uVar41 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar36 = pppppppcVar45;" (assignment_expression "pppppppcVar36 = pppppppcVar45" identifier = identifier) ;) }) while (parenthesized_expression "(uVar41 < (uint)piVar27[3])" ( (binary_expression "uVar41 < (uint)piVar27[3]" identifier < (cast_expression "(uint)piVar27[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar27[3]" identifier [ number_literal ]))) )) ;)) (expression_statement "pppppppcVar39 = pppppppcVar45;" (assignment_expression "pppppppcVar39 = pppppppcVar45" identifier = identifier) ;) (expression_statement "uVar35 = uStack_e8;" (assignment_expression "uVar35 = uStack_e8" identifier = identifier) ;) (if_statement "if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }" if (parenthesized_expression "(pppppppcVar39 < pppppppcStack_f0)" ( (binary_expression "pppppppcVar39 < pppppppcStack_f0" identifier < identifier) )) (compound_statement "{\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }" { (labeled_statement "LAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);" statement_identifier : (expression_statement "puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);" (assignment_expression "puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4)" identifier = (cast_expression "(undefined4 *)((int)pppppppcVar39 - (int)local_res4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar39 - (int)local_res4)" ( (binary_expression "(int)pppppppcVar39 - (int)local_res4" (cast_expression "(int)pppppppcVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_res4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "*puVar30 = uVar35;" (assignment_expression "*puVar30 = uVar35" (pointer_expression "*puVar30" * identifier) = identifier) ;) (goto_statement "goto LAB_00015bec;" goto statement_identifier ;) })) }))) }) while (parenthesized_expression "(pppppppcStack_f0 < pppppppcVar37)" ( (binary_expression "pppppppcStack_f0 < pppppppcVar37" identifier < identifier) )) ;) })) (expression_statement "puVar11 = (undefined4 *)0xffffffff;" (assignment_expression "puVar11 = (undefined4 *)0xffffffff" identifier = (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }" statement_identifier : (if_statement "if (iStack_94 == *piVar20) {\n    return puVar11;\n  }" if (parenthesized_expression "(iStack_94 == *piVar20)" ( (binary_expression "iStack_94 == *piVar20" identifier == (pointer_expression "*piVar20" * identifier)) )) (compound_statement "{\n    return puVar11;\n  }" { (return_statement "return puVar11;" return identifier ;) }))) (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40f3c);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40f3c)" identifier = (pointer_expression "*(code **)(puVar44 + 0x40f3c)" * (cast_expression "(code **)(puVar44 + 0x40f3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar44 + 0x40f3c)" ( (binary_expression "puVar44 + 0x40f3c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar46)();" (call_expression "(*pcVar46)()" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);" (assignment_expression "puVar11 = *(undefined4 **)(pcVar46 + 0x403e8)" identifier = (pointer_expression "*(undefined4 **)(pcVar46 + 0x403e8)" * (cast_expression "(undefined4 **)(pcVar46 + 0x403e8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x403e8)" ( (binary_expression "pcVar46 + 0x403e8" identifier + number_literal) ))))) ;) (expression_statement "puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);" (assignment_expression "puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044)" (subscript_expression "puVar11[0x1810]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044)" * (cast_expression "(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar46 + 0x403e8) + 0x6044)" ( (binary_expression "*(int *)(pcVar46 + 0x403e8) + 0x6044" (pointer_expression "*(int *)(pcVar46 + 0x403e8)" * (cast_expression "(int *)(pcVar46 + 0x403e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0x403e8)" ( (binary_expression "pcVar46 + 0x403e8" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return puVar11;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))))) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) != LIT) ))) )) (goto_statement goto statement_identifier ;)) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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 ( LIT , LIT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = 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 ( LIT , LIT , IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( IDENT )) (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 ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence '))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_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 , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) 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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (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 ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT >> LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ]) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (goto_statement goto statement_identifier ;) })) (break_statement break ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , LIT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , (pointer_expression & IDENT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) (goto_statement goto statement_identifier ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression IDENT - LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT < IDENT)) , (unary_expression ! IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) - 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT)))) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) - IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) }))) }) while (parenthesized_expression ( (unary_expression ! IDENT) )) ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT - LIT)) )) (goto_statement goto statement_identifier ;))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 * GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)\n\n{\n  char cVar1;\n  undefined1 uVar2;\n  undefined1 uVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined1 uVar6;\n  bool bVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *******pppppppcVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  char *******pppppppcVar23;\n  uint uVar24;\n  uint uVar25;\n  int iVar26;\n  int *piVar27;\n  undefined4 uVar28;\n  undefined4 uVar29;\n  uint *puVar30;\n  char *******pppppppcVar31;\n  char *******pppppppcVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  char *******pppppppcVar36;\n  char *******pppppppcVar37;\n  int *piVar38;\n  char *******pppppppcVar39;\n  int iVar40;\n  uint uVar41;\n  uint uVar42;\n  undefined4 *puVar43;\n  undefined *puVar44;\n  char *******pppppppcVar45;\n  code *pcVar46;\n  char *******local_res4;\n  uint local_res8;\n  char *******pppppppcStack_f0;\n  uint uStack_e8;\n  char *******pppppppcStack_d8;\n  char cStack_a9;\n  char *******pppppppcStack_a8;\n  int iStack_a4;\n  int aiStack_a0 [3];\n  int iStack_94;\n  undefined4 *puStack_90;\n  char *pcStack_8c;\n  char *pcStack_88;\n  char *******pppppppcStack_84;\n  char *******pppppppcStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  undefined4 *puStack_74;\n  undefined4 *puStack_70;\n  code *pcStack_6c;\n  char *******local_58;\n  int local_54;\n  undefined4 *local_44;\n  char *******local_30;\n  int *local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_000564b4;\n  pcVar18 = PTR_match_icase_00056190;\n  local_2c = *(int **)PTR___stack_chk_guard_000564b4;\n  puVar11 = (undefined4 *)xcalloc(1,0x24);\n  uVar12 = dfaalloc();\n  cVar1 = *pcVar18;\n  puVar11[1] = uVar12;\n  puVar44 = PTR_eolbyte_00056138;\n  local_res8 = param_3;\n  if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }\n  pppppppcVar36 = (char *******)&local_30;\n  pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  uVar12 = 2;\n  uVar35 = 0;\n  if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }\n  dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);\n  uVar42 = puVar11[3];\n  bVar7 = false;\n  puVar13 = PTR_wcrtomb_00056118 + 0x734;\n  puVar14 = PTR_wcrtomb_00056118 + 0x830;\n  puVar19 = param_1;\n  do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);\n  if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }\n  puVar30 = (uint *)0x1;\n  pcVar16 = (char *)puVar11[1];\n  dfacomp(local_44);\n  pcVar17 = (char *)dfamust(puVar11[1]);\n  if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }\n  (*(code *)PTR_free_000564c0)(puVar19);\n  if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }\n  pcVar46 = EGexecute;\n  piVar27 = local_2c;\n  puVar44 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pppppppcVar10 = local_58;\n  piVar20 = *(int **)(puVar44 + 0x40f5c);\n  pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);\n  pcVar16 = *(char **)(puVar44 + 0x40be0);\n  iVar33 = piVar27[1];\n  iStack_94 = *piVar20;\n  puStack_90 = puVar11;\n  pcStack_8c = pcVar17;\n  pcStack_88 = pcVar18;\n  pppppppcStack_84 = pppppppcVar39;\n  pppppppcStack_80 = pppppppcVar36;\n  iStack_7c = iVar40;\n  uStack_78 = uVar42;\n  puStack_74 = puVar19;\n  puStack_70 = puVar15;\n  pcStack_6c = pcVar46;\n  iVar40 = dfasuperset(iVar33);\n  iVar26 = (int)*pcVar16;\n  iVar33 = dfaisfast(iVar33);\n  pppppppcStack_a8 = local_res4;\n  if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }\n  puVar11 = (undefined4 *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }\n  pcVar46 = *(code **)(puVar44 + 0x40f3c);\n  (*pcVar46)();\n  puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);\n  puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);\n  return puVar11;\n}" (type_identifier "undefined4") (pointer_declarator "* GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)" (* "*") (function_declarator "GEAcompile(undefined4 *param_1,char *******param_2,uint param_3)" (identifier "GEAcompile") (parameter_list "(undefined4 *param_1,char *******param_2,uint param_3)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char *******param_2" (primitive_type "char") (pointer_declarator "*******param_2" (* "*") (pointer_declarator "******param_2" (* "*") (pointer_declarator "*****param_2" (* "*") (pointer_declarator "****param_2" (* "*") (pointer_declarator "***param_2" (* "*") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))))))))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) () ")")))) (compound_statement "{\n  char cVar1;\n  undefined1 uVar2;\n  undefined1 uVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined1 uVar6;\n  bool bVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *******pppppppcVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  char *pcVar17;\n  char *pcVar18;\n  undefined4 *puVar19;\n  int *piVar20;\n  int iVar21;\n  int iVar22;\n  char *******pppppppcVar23;\n  uint uVar24;\n  uint uVar25;\n  int iVar26;\n  int *piVar27;\n  undefined4 uVar28;\n  undefined4 uVar29;\n  uint *puVar30;\n  char *******pppppppcVar31;\n  char *******pppppppcVar32;\n  int iVar33;\n  int iVar34;\n  uint uVar35;\n  char *******pppppppcVar36;\n  char *******pppppppcVar37;\n  int *piVar38;\n  char *******pppppppcVar39;\n  int iVar40;\n  uint uVar41;\n  uint uVar42;\n  undefined4 *puVar43;\n  undefined *puVar44;\n  char *******pppppppcVar45;\n  code *pcVar46;\n  char *******local_res4;\n  uint local_res8;\n  char *******pppppppcStack_f0;\n  uint uStack_e8;\n  char *******pppppppcStack_d8;\n  char cStack_a9;\n  char *******pppppppcStack_a8;\n  int iStack_a4;\n  int aiStack_a0 [3];\n  int iStack_94;\n  undefined4 *puStack_90;\n  char *pcStack_8c;\n  char *pcStack_88;\n  char *******pppppppcStack_84;\n  char *******pppppppcStack_80;\n  int iStack_7c;\n  uint uStack_78;\n  undefined4 *puStack_74;\n  undefined4 *puStack_70;\n  code *pcStack_6c;\n  char *******local_58;\n  int local_54;\n  undefined4 *local_44;\n  char *******local_30;\n  int *local_2c;\n  \n  puVar9 = PTR___stack_chk_guard_000564b4;\n  pcVar18 = PTR_match_icase_00056190;\n  local_2c = *(int **)PTR___stack_chk_guard_000564b4;\n  puVar11 = (undefined4 *)xcalloc(1,0x24);\n  uVar12 = dfaalloc();\n  cVar1 = *pcVar18;\n  puVar11[1] = uVar12;\n  puVar44 = PTR_eolbyte_00056138;\n  local_res8 = param_3;\n  if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }\n  pppppppcVar36 = (char *******)&local_30;\n  pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);\n  (*(code *)PTR_re_set_syntax_00056360)(local_res8);\n  uVar12 = 2;\n  uVar35 = 0;\n  if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }\n  dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);\n  uVar42 = puVar11[3];\n  bVar7 = false;\n  puVar13 = PTR_wcrtomb_00056118 + 0x734;\n  puVar14 = PTR_wcrtomb_00056118 + 0x830;\n  puVar19 = param_1;\n  do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);\n  if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }\n  if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }\n  puVar30 = (uint *)0x1;\n  pcVar16 = (char *)puVar11[1];\n  dfacomp(local_44);\n  pcVar17 = (char *)dfamust(puVar11[1]);\n  if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }\n  (*(code *)PTR_free_000564c0)(puVar19);\n  if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }\n  pcVar46 = EGexecute;\n  piVar27 = local_2c;\n  puVar44 = PTR___stack_chk_fail_00056494;\n  (*(code *)PTR___stack_chk_fail_00056494)();\n  pppppppcVar10 = local_58;\n  piVar20 = *(int **)(puVar44 + 0x40f5c);\n  pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);\n  pcVar16 = *(char **)(puVar44 + 0x40be0);\n  iVar33 = piVar27[1];\n  iStack_94 = *piVar20;\n  puStack_90 = puVar11;\n  pcStack_8c = pcVar17;\n  pcStack_88 = pcVar18;\n  pppppppcStack_84 = pppppppcVar39;\n  pppppppcStack_80 = pppppppcVar36;\n  iStack_7c = iVar40;\n  uStack_78 = uVar42;\n  puStack_74 = puVar19;\n  puStack_70 = puVar15;\n  pcStack_6c = pcVar46;\n  iVar40 = dfasuperset(iVar33);\n  iVar26 = (int)*pcVar16;\n  iVar33 = dfaisfast(iVar33);\n  pppppppcStack_a8 = local_res4;\n  if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }\n  puVar11 = (undefined4 *)0xffffffff;\nLAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }\n  pcVar46 = *(code **)(puVar44 + 0x40f3c);\n  (*pcVar46)();\n  puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);\n  puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);\n  return puVar11;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined1 uVar2;" (type_identifier "undefined1") (identifier "uVar2") (; ";")) (declaration "undefined1 uVar3;" (type_identifier "undefined1") (identifier "uVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "byte bVar5;" (type_identifier "byte") (identifier "bVar5") (; ";")) (declaration "undefined1 uVar6;" (type_identifier "undefined1") (identifier "uVar6") (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "char *******pppppppcVar10;" (primitive_type "char") (pointer_declarator "*******pppppppcVar10" (* "*") (pointer_declarator "******pppppppcVar10" (* "*") (pointer_declarator "*****pppppppcVar10" (* "*") (pointer_declarator "****pppppppcVar10" (* "*") (pointer_declarator "***pppppppcVar10" (* "*") (pointer_declarator "**pppppppcVar10" (* "*") (pointer_declarator "*pppppppcVar10" (* "*") (identifier "pppppppcVar10")))))))) (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "char *pcVar17;" (primitive_type "char") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (declaration "char *pcVar18;" (primitive_type "char") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "undefined4 *puVar19;" (type_identifier "undefined4") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "int *piVar20;" (primitive_type "int") (pointer_declarator "*piVar20" (* "*") (identifier "piVar20")) (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "char *******pppppppcVar23;" (primitive_type "char") (pointer_declarator "*******pppppppcVar23" (* "*") (pointer_declarator "******pppppppcVar23" (* "*") (pointer_declarator "*****pppppppcVar23" (* "*") (pointer_declarator "****pppppppcVar23" (* "*") (pointer_declarator "***pppppppcVar23" (* "*") (pointer_declarator "**pppppppcVar23" (* "*") (pointer_declarator "*pppppppcVar23" (* "*") (identifier "pppppppcVar23")))))))) (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "int *piVar27;" (primitive_type "int") (pointer_declarator "*piVar27" (* "*") (identifier "piVar27")) (; ";")) (declaration "undefined4 uVar28;" (type_identifier "undefined4") (identifier "uVar28") (; ";")) (declaration "undefined4 uVar29;" (type_identifier "undefined4") (identifier "uVar29") (; ";")) (declaration "uint *puVar30;" (type_identifier "uint") (pointer_declarator "*puVar30" (* "*") (identifier "puVar30")) (; ";")) (declaration "char *******pppppppcVar31;" (primitive_type "char") (pointer_declarator "*******pppppppcVar31" (* "*") (pointer_declarator "******pppppppcVar31" (* "*") (pointer_declarator "*****pppppppcVar31" (* "*") (pointer_declarator "****pppppppcVar31" (* "*") (pointer_declarator "***pppppppcVar31" (* "*") (pointer_declarator "**pppppppcVar31" (* "*") (pointer_declarator "*pppppppcVar31" (* "*") (identifier "pppppppcVar31")))))))) (; ";")) (declaration "char *******pppppppcVar32;" (primitive_type "char") (pointer_declarator "*******pppppppcVar32" (* "*") (pointer_declarator "******pppppppcVar32" (* "*") (pointer_declarator "*****pppppppcVar32" (* "*") (pointer_declarator "****pppppppcVar32" (* "*") (pointer_declarator "***pppppppcVar32" (* "*") (pointer_declarator "**pppppppcVar32" (* "*") (pointer_declarator "*pppppppcVar32" (* "*") (identifier "pppppppcVar32")))))))) (; ";")) (declaration "int iVar33;" (primitive_type "int") (identifier "iVar33") (; ";")) (declaration "int iVar34;" (primitive_type "int") (identifier "iVar34") (; ";")) (declaration "uint uVar35;" (type_identifier "uint") (identifier "uVar35") (; ";")) (declaration "char *******pppppppcVar36;" (primitive_type "char") (pointer_declarator "*******pppppppcVar36" (* "*") (pointer_declarator "******pppppppcVar36" (* "*") (pointer_declarator "*****pppppppcVar36" (* "*") (pointer_declarator "****pppppppcVar36" (* "*") (pointer_declarator "***pppppppcVar36" (* "*") (pointer_declarator "**pppppppcVar36" (* "*") (pointer_declarator "*pppppppcVar36" (* "*") (identifier "pppppppcVar36")))))))) (; ";")) (declaration "char *******pppppppcVar37;" (primitive_type "char") (pointer_declarator "*******pppppppcVar37" (* "*") (pointer_declarator "******pppppppcVar37" (* "*") (pointer_declarator "*****pppppppcVar37" (* "*") (pointer_declarator "****pppppppcVar37" (* "*") (pointer_declarator "***pppppppcVar37" (* "*") (pointer_declarator "**pppppppcVar37" (* "*") (pointer_declarator "*pppppppcVar37" (* "*") (identifier "pppppppcVar37")))))))) (; ";")) (declaration "int *piVar38;" (primitive_type "int") (pointer_declarator "*piVar38" (* "*") (identifier "piVar38")) (; ";")) (declaration "char *******pppppppcVar39;" (primitive_type "char") (pointer_declarator "*******pppppppcVar39" (* "*") (pointer_declarator "******pppppppcVar39" (* "*") (pointer_declarator "*****pppppppcVar39" (* "*") (pointer_declarator "****pppppppcVar39" (* "*") (pointer_declarator "***pppppppcVar39" (* "*") (pointer_declarator "**pppppppcVar39" (* "*") (pointer_declarator "*pppppppcVar39" (* "*") (identifier "pppppppcVar39")))))))) (; ";")) (declaration "int iVar40;" (primitive_type "int") (identifier "iVar40") (; ";")) (declaration "uint uVar41;" (type_identifier "uint") (identifier "uVar41") (; ";")) (declaration "uint uVar42;" (type_identifier "uint") (identifier "uVar42") (; ";")) (declaration "undefined4 *puVar43;" (type_identifier "undefined4") (pointer_declarator "*puVar43" (* "*") (identifier "puVar43")) (; ";")) (declaration "undefined *puVar44;" (type_identifier "undefined") (pointer_declarator "*puVar44" (* "*") (identifier "puVar44")) (; ";")) (declaration "char *******pppppppcVar45;" (primitive_type "char") (pointer_declarator "*******pppppppcVar45" (* "*") (pointer_declarator "******pppppppcVar45" (* "*") (pointer_declarator "*****pppppppcVar45" (* "*") (pointer_declarator "****pppppppcVar45" (* "*") (pointer_declarator "***pppppppcVar45" (* "*") (pointer_declarator "**pppppppcVar45" (* "*") (pointer_declarator "*pppppppcVar45" (* "*") (identifier "pppppppcVar45")))))))) (; ";")) (declaration "code *pcVar46;" (type_identifier "code") (pointer_declarator "*pcVar46" (* "*") (identifier "pcVar46")) (; ";")) (declaration "char *******local_res4;" (primitive_type "char") (pointer_declarator "*******local_res4" (* "*") (pointer_declarator "******local_res4" (* "*") (pointer_declarator "*****local_res4" (* "*") (pointer_declarator "****local_res4" (* "*") (pointer_declarator "***local_res4" (* "*") (pointer_declarator "**local_res4" (* "*") (pointer_declarator "*local_res4" (* "*") (identifier "local_res4")))))))) (; ";")) (declaration "uint local_res8;" (type_identifier "uint") (identifier "local_res8") (; ";")) (declaration "char *******pppppppcStack_f0;" (primitive_type "char") (pointer_declarator "*******pppppppcStack_f0" (* "*") (pointer_declarator "******pppppppcStack_f0" (* "*") (pointer_declarator "*****pppppppcStack_f0" (* "*") (pointer_declarator "****pppppppcStack_f0" (* "*") (pointer_declarator "***pppppppcStack_f0" (* "*") (pointer_declarator "**pppppppcStack_f0" (* "*") (pointer_declarator "*pppppppcStack_f0" (* "*") (identifier "pppppppcStack_f0")))))))) (; ";")) (declaration "uint uStack_e8;" (type_identifier "uint") (identifier "uStack_e8") (; ";")) (declaration "char *******pppppppcStack_d8;" (primitive_type "char") (pointer_declarator "*******pppppppcStack_d8" (* "*") (pointer_declarator "******pppppppcStack_d8" (* "*") (pointer_declarator "*****pppppppcStack_d8" (* "*") (pointer_declarator "****pppppppcStack_d8" (* "*") (pointer_declarator "***pppppppcStack_d8" (* "*") (pointer_declarator "**pppppppcStack_d8" (* "*") (pointer_declarator "*pppppppcStack_d8" (* "*") (identifier "pppppppcStack_d8")))))))) (; ";")) (declaration "char cStack_a9;" (primitive_type "char") (identifier "cStack_a9") (; ";")) (declaration "char *******pppppppcStack_a8;" (primitive_type "char") (pointer_declarator "*******pppppppcStack_a8" (* "*") (pointer_declarator "******pppppppcStack_a8" (* "*") (pointer_declarator "*****pppppppcStack_a8" (* "*") (pointer_declarator "****pppppppcStack_a8" (* "*") (pointer_declarator "***pppppppcStack_a8" (* "*") (pointer_declarator "**pppppppcStack_a8" (* "*") (pointer_declarator "*pppppppcStack_a8" (* "*") (identifier "pppppppcStack_a8")))))))) (; ";")) (declaration "int iStack_a4;" (primitive_type "int") (identifier "iStack_a4") (; ";")) (declaration "int aiStack_a0 [3];" (primitive_type "int") (array_declarator "aiStack_a0 [3]" (identifier "aiStack_a0") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "int iStack_94;" (primitive_type "int") (identifier "iStack_94") (; ";")) (declaration "undefined4 *puStack_90;" (type_identifier "undefined4") (pointer_declarator "*puStack_90" (* "*") (identifier "puStack_90")) (; ";")) (declaration "char *pcStack_8c;" (primitive_type "char") (pointer_declarator "*pcStack_8c" (* "*") (identifier "pcStack_8c")) (; ";")) (declaration "char *pcStack_88;" (primitive_type "char") (pointer_declarator "*pcStack_88" (* "*") (identifier "pcStack_88")) (; ";")) (declaration "char *******pppppppcStack_84;" (primitive_type "char") (pointer_declarator "*******pppppppcStack_84" (* "*") (pointer_declarator "******pppppppcStack_84" (* "*") (pointer_declarator "*****pppppppcStack_84" (* "*") (pointer_declarator "****pppppppcStack_84" (* "*") (pointer_declarator "***pppppppcStack_84" (* "*") (pointer_declarator "**pppppppcStack_84" (* "*") (pointer_declarator "*pppppppcStack_84" (* "*") (identifier "pppppppcStack_84")))))))) (; ";")) (declaration "char *******pppppppcStack_80;" (primitive_type "char") (pointer_declarator "*******pppppppcStack_80" (* "*") (pointer_declarator "******pppppppcStack_80" (* "*") (pointer_declarator "*****pppppppcStack_80" (* "*") (pointer_declarator "****pppppppcStack_80" (* "*") (pointer_declarator "***pppppppcStack_80" (* "*") (pointer_declarator "**pppppppcStack_80" (* "*") (pointer_declarator "*pppppppcStack_80" (* "*") (identifier "pppppppcStack_80")))))))) (; ";")) (declaration "int iStack_7c;" (primitive_type "int") (identifier "iStack_7c") (; ";")) (declaration "uint uStack_78;" (type_identifier "uint") (identifier "uStack_78") (; ";")) (declaration "undefined4 *puStack_74;" (type_identifier "undefined4") (pointer_declarator "*puStack_74" (* "*") (identifier "puStack_74")) (; ";")) (declaration "undefined4 *puStack_70;" (type_identifier "undefined4") (pointer_declarator "*puStack_70" (* "*") (identifier "puStack_70")) (; ";")) (declaration "code *pcStack_6c;" (type_identifier "code") (pointer_declarator "*pcStack_6c" (* "*") (identifier "pcStack_6c")) (; ";")) (declaration "char *******local_58;" (primitive_type "char") (pointer_declarator "*******local_58" (* "*") (pointer_declarator "******local_58" (* "*") (pointer_declarator "*****local_58" (* "*") (pointer_declarator "****local_58" (* "*") (pointer_declarator "***local_58" (* "*") (pointer_declarator "**local_58" (* "*") (pointer_declarator "*local_58" (* "*") (identifier "local_58")))))))) (; ";")) (declaration "int local_54;" (primitive_type "int") (identifier "local_54") (; ";")) (declaration "undefined4 *local_44;" (type_identifier "undefined4") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "char *******local_30;" (primitive_type "char") (pointer_declarator "*******local_30" (* "*") (pointer_declarator "******local_30" (* "*") (pointer_declarator "*****local_30" (* "*") (pointer_declarator "****local_30" (* "*") (pointer_declarator "***local_30" (* "*") (pointer_declarator "**local_30" (* "*") (pointer_declarator "*local_30" (* "*") (identifier "local_30")))))))) (; ";")) (declaration "int *local_2c;" (primitive_type "int") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (expression_statement "puVar9 = PTR___stack_chk_guard_000564b4;" (assignment_expression "puVar9 = PTR___stack_chk_guard_000564b4" (identifier "puVar9") (= "=") (identifier "PTR___stack_chk_guard_000564b4")) (; ";")) (expression_statement "pcVar18 = PTR_match_icase_00056190;" (assignment_expression "pcVar18 = PTR_match_icase_00056190" (identifier "pcVar18") (= "=") (identifier "PTR_match_icase_00056190")) (; ";")) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_000564b4;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_000564b4" (identifier "local_2c") (= "=") (pointer_expression "*(int **)PTR___stack_chk_guard_000564b4" (* "*") (cast_expression "(int **)PTR___stack_chk_guard_000564b4" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_000564b4")))) (; ";")) (expression_statement "puVar11 = (undefined4 *)xcalloc(1,0x24);" (assignment_expression "puVar11 = (undefined4 *)xcalloc(1,0x24)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)xcalloc(1,0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xcalloc(1,0x24)" (identifier "xcalloc") (argument_list "(1,0x24)" (( "(") (number_literal "1") (, ",") (number_literal "0x24") () ")"))))) (; ";")) (expression_statement "uVar12 = dfaalloc();" (assignment_expression "uVar12 = dfaalloc()" (identifier "uVar12") (= "=") (call_expression "dfaalloc()" (identifier "dfaalloc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "cVar1 = *pcVar18;" (assignment_expression "cVar1 = *pcVar18" (identifier "cVar1") (= "=") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18"))) (; ";")) (expression_statement "puVar11[1] = uVar12;" (assignment_expression "puVar11[1] = uVar12" (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "puVar44 = PTR_eolbyte_00056138;" (assignment_expression "puVar44 = PTR_eolbyte_00056138" (identifier "puVar44") (= "=") (identifier "PTR_eolbyte_00056138")) (; ";")) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" (identifier "local_res8") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (cVar1 != '\0') {\n    local_res8 = param_3 | 0x400000;\n  }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_res8 = param_3 | 0x400000;\n  }" ({ "{") (expression_statement "local_res8 = param_3 | 0x400000;" (assignment_expression "local_res8 = param_3 | 0x400000" (identifier "local_res8") (= "=") (binary_expression "param_3 | 0x400000" (identifier "param_3") (| "|") (number_literal "0x400000"))) (; ";")) (} "}"))) (expression_statement "pppppppcVar36 = (char *******)&local_30;" (assignment_expression "pppppppcVar36 = (char *******)&local_30" (identifier "pppppppcVar36") (= "=") (cast_expression "(char *******)&local_30" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_30" (& "&") (identifier "local_30")))) (; ";")) (expression_statement "pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);" (assignment_expression "pppppppcVar39 = (char *******)((int)param_1 + (int)param_2)" (identifier "pppppppcVar39") (= "=") (cast_expression "(char *******)((int)param_1 + (int)param_2)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (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 "(*(code *)PTR_re_set_syntax_00056360)(local_res8);" (call_expression "(*(code *)PTR_re_set_syntax_00056360)(local_res8)" (parenthesized_expression "(*(code *)PTR_re_set_syntax_00056360)" (( "(") (pointer_expression "*(code *)PTR_re_set_syntax_00056360" (* "*") (cast_expression "(code *)PTR_re_set_syntax_00056360" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_re_set_syntax_00056360"))) () ")")) (argument_list "(local_res8)" (( "(") (identifier "local_res8") () ")"))) (; ";")) (expression_statement "uVar12 = 2;" (assignment_expression "uVar12 = 2" (identifier "uVar12") (= "=") (number_literal "2")) (; ";")) (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" (identifier "uVar35") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*puVar44 != '\0') {\n    uVar12 = 0;\n  }" (if "if") (parenthesized_expression "(*puVar44 != '\0')" (( "(") (binary_expression "*puVar44 != '\0'" (pointer_expression "*puVar44" (* "*") (identifier "puVar44")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar12 = 0;\n  }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);" (call_expression "dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12)" (identifier "dfasyntax") (argument_list "(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12)" (( "(") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "PTR_localeinfo_00056174") (, ",") (identifier "local_res8") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "uVar42 = puVar11[3];" (assignment_expression "uVar42 = puVar11[3]" (identifier "uVar42") (= "=") (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x734;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x734" (identifier "puVar13") (= "=") (binary_expression "PTR_wcrtomb_00056118 + 0x734" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x734"))) (; ";")) (expression_statement "puVar14 = PTR_wcrtomb_00056118 + 0x830;" (assignment_expression "puVar14 = PTR_wcrtomb_00056118 + 0x830" (identifier "puVar14") (= "=") (binary_expression "PTR_wcrtomb_00056118 + 0x830" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x830"))) (; ";")) (expression_statement "puVar19 = param_1;" (assignment_expression "puVar19 = param_1" (identifier "puVar19") (= "=") (identifier "param_1")) (; ";")) (do_statement "do {\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  } while (puVar15 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n    iVar40 = (int)pppppppcVar39 - (int)puVar19;\n    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);\n    if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }\n    iVar26 = puVar11[2];\n    if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }\n    cVar1 = *pcVar18;\n    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);\n    *puVar43 = 0;\n    puVar43[1] = 0;\n    if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }\n    puVar8 = PTR_re_compile_pattern_00056374;\n    puVar43[4] = uVar12;\n    puVar43[5] = 0;\n    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);\n    if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }\n    uVar42 = puVar11[3] + 1;\n    puVar11[3] = uVar42;\n    puVar8 = PTR_match_lines_000561b8;\n    puVar19 = puVar15;\n  }" ({ "{") (expression_statement "iVar40 = (int)pppppppcVar39 - (int)puVar19;" (assignment_expression "iVar40 = (int)pppppppcVar39 - (int)puVar19" (identifier "iVar40") (= "=") (binary_expression "(int)pppppppcVar39 - (int)puVar19" (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39")) (- "-") (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")))) (; ";")) (expression_statement "puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);" (assignment_expression "puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40)" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40)" (parenthesized_expression "(*(code *)PTR_rpl_memchr_00056120)" (( "(") (pointer_expression "*(code *)PTR_rpl_memchr_00056120" (* "*") (cast_expression "(code *)PTR_rpl_memchr_00056120" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rpl_memchr_00056120"))) () ")")) (argument_list "(puVar19,10,iVar40)" (( "(") (identifier "puVar19") (, ",") (number_literal "10") (, ",") (identifier "iVar40") () ")"))))) (; ";")) (if_statement "if (puVar15 != (undefined4 *)0x0) {\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }" (if "if") (parenthesized_expression "(puVar15 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar15 != (undefined4 *)0x0" (identifier "puVar15") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar40 = (int)puVar15 - (int)puVar19;\n      puVar15 = (undefined4 *)((int)puVar15 + 1);\n    }" ({ "{") (expression_statement "iVar40 = (int)puVar15 - (int)puVar19;" (assignment_expression "iVar40 = (int)puVar15 - (int)puVar19" (identifier "iVar40") (= "=") (binary_expression "(int)puVar15 - (int)puVar19" (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15")) (- "-") (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")))) (; ";")) (expression_statement "puVar15 = (undefined4 *)((int)puVar15 + 1);" (assignment_expression "puVar15 = (undefined4 *)((int)puVar15 + 1)" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)((int)puVar15 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar15 + 1)" (( "(") (binary_expression "(int)puVar15 + 1" (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar26 = puVar11[2];" (assignment_expression "iVar26 = puVar11[2]" (identifier "iVar26") (= "=") (subscript_expression "puVar11[2]" (identifier "puVar11") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (uVar35 <= uVar42) {\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }" (if "if") (parenthesized_expression "(uVar35 <= uVar42)" (( "(") (binary_expression "uVar35 <= uVar42" (identifier "uVar35") (<= "<=") (identifier "uVar42")) () ")")) (compound_statement "{\n      if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }\n      iVar26 = xrealloc(iVar26,iVar33);\n      uVar42 = puVar11[3];\n      puVar11[2] = iVar26;\n    }" ({ "{") (if_statement "if (iVar26 == 0) {\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }\n      else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }" (if "if") (parenthesized_expression "(iVar26 == 0)" (( "(") (binary_expression "iVar26 == 0" (identifier "iVar26") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar33 = 0x40;\n        if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }\n      }" ({ "{") (expression_statement "iVar33 = 0x40;" (assignment_expression "iVar33 = 0x40" (identifier "iVar33") (= "=") (number_literal "0x40")) (; ";")) (if_statement "if (uVar35 == 0) {\n          uVar35 = 2;\n        }\n        else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }" (if "if") (parenthesized_expression "(uVar35 == 0)" (( "(") (binary_expression "uVar35 == 0" (identifier "uVar35") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar35 = 2;\n        }" ({ "{") (expression_statement "uVar35 = 2;" (assignment_expression "uVar35 = 2" (identifier "uVar35") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }" (else "else") (compound_statement "{\n          iVar33 = uVar35 << 5;\n          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;\n        }" ({ "{") (expression_statement "iVar33 = uVar35 << 5;" (assignment_expression "iVar33 = uVar35 << 5" (identifier "iVar33") (= "=") (binary_expression "uVar35 << 5" (identifier "uVar35") (<< "<<") (number_literal "5"))) (; ";")) (if_statement "if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;" (if "if") (parenthesized_expression "((iVar33 < 0) || (uVar35 >> 0x1b != 0))" (( "(") (binary_expression "(iVar33 < 0) || (uVar35 >> 0x1b != 0)" (parenthesized_expression "(iVar33 < 0)" (( "(") (binary_expression "iVar33 < 0" (identifier "iVar33") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar35 >> 0x1b != 0)" (( "(") (binary_expression "uVar35 >> 0x1b != 0" (binary_expression "uVar35 >> 0x1b" (identifier "uVar35") (>> ">>") (number_literal "0x1b")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000152e8;" (goto "goto") (statement_identifier "LAB_000152e8") (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }" (else "else") (compound_statement "{\n        if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }\n        uVar35 = uVar35 + 1 + (uVar35 >> 1);\n        iVar33 = uVar35 * 0x20;\n      }" ({ "{") (if_statement "if (0x2aaaaa9 < uVar35) {\nLAB_000152e8:\n                    \n          xalloc_die();\n        }" (if "if") (parenthesized_expression "(0x2aaaaa9 < uVar35)" (( "(") (binary_expression "0x2aaaaa9 < uVar35" (number_literal "0x2aaaaa9") (< "<") (identifier "uVar35")) () ")")) (compound_statement "{\nLAB_000152e8:\n                    \n          xalloc_die();\n        }" ({ "{") (labeled_statement "LAB_000152e8:\n                    \n          xalloc_die();" (statement_identifier "LAB_000152e8") (: ":") (expression_statement "xalloc_die();" (call_expression "xalloc_die()" (identifier "xalloc_die") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar35 = uVar35 + 1 + (uVar35 >> 1);" (assignment_expression "uVar35 = uVar35 + 1 + (uVar35 >> 1)" (identifier "uVar35") (= "=") (binary_expression "uVar35 + 1 + (uVar35 >> 1)" (binary_expression "uVar35 + 1" (identifier "uVar35") (+ "+") (number_literal "1")) (+ "+") (parenthesized_expression "(uVar35 >> 1)" (( "(") (binary_expression "uVar35 >> 1" (identifier "uVar35") (>> ">>") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar33 = uVar35 * 0x20;" (assignment_expression "iVar33 = uVar35 * 0x20" (identifier "iVar33") (= "=") (binary_expression "uVar35 * 0x20" (identifier "uVar35") (* "*") (number_literal "0x20"))) (; ";")) (} "}")))) (expression_statement "iVar26 = xrealloc(iVar26,iVar33);" (assignment_expression "iVar26 = xrealloc(iVar26,iVar33)" (identifier "iVar26") (= "=") (call_expression "xrealloc(iVar26,iVar33)" (identifier "xrealloc") (argument_list "(iVar26,iVar33)" (( "(") (identifier "iVar26") (, ",") (identifier "iVar33") () ")")))) (; ";")) (expression_statement "uVar42 = puVar11[3];" (assignment_expression "uVar42 = puVar11[3]" (identifier "uVar42") (= "=") (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "puVar11[2] = iVar26;" (assignment_expression "puVar11[2] = iVar26" (subscript_expression "puVar11[2]" (identifier "puVar11") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar26")) (; ";")) (} "}"))) (expression_statement "cVar1 = *pcVar18;" (assignment_expression "cVar1 = *pcVar18" (identifier "cVar1") (= "=") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18"))) (; ";")) (expression_statement "puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);" (assignment_expression "puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20)" (identifier "puVar43") (= "=") (cast_expression "(undefined4 *)(iVar26 + uVar42 * 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + uVar42 * 0x20)" (( "(") (binary_expression "iVar26 + uVar42 * 0x20" (identifier "iVar26") (+ "+") (binary_expression "uVar42 * 0x20" (identifier "uVar42") (* "*") (number_literal "0x20"))) () ")")))) (; ";")) (expression_statement "*puVar43 = 0;" (assignment_expression "*puVar43 = 0" (pointer_expression "*puVar43" (* "*") (identifier "puVar43")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar43[1] = 0;" (assignment_expression "puVar43[1] = 0" (subscript_expression "puVar43[1]" (identifier "puVar43") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (cVar1 == '\0') {\n      uVar12 = xmalloc(0x100);\n    }\n    else {\n      uVar12 = 0;\n    }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar12 = xmalloc(0x100);\n    }" ({ "{") (expression_statement "uVar12 = xmalloc(0x100);" (assignment_expression "uVar12 = xmalloc(0x100)" (identifier "uVar12") (= "=") (call_expression "xmalloc(0x100)" (identifier "xmalloc") (argument_list "(0x100)" (( "(") (number_literal "0x100") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar12 = 0;\n    }" (else "else") (compound_statement "{\n      uVar12 = 0;\n    }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "puVar8 = PTR_re_compile_pattern_00056374;" (assignment_expression "puVar8 = PTR_re_compile_pattern_00056374" (identifier "puVar8") (= "=") (identifier "PTR_re_compile_pattern_00056374")) (; ";")) (expression_statement "puVar43[4] = uVar12;" (assignment_expression "puVar43[4] = uVar12" (subscript_expression "puVar43[4]" (identifier "puVar43") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "puVar43[5] = 0;" (assignment_expression "puVar43[5] = 0" (subscript_expression "puVar43[5]" (identifier "puVar43") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);" (assignment_expression "iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43)" (identifier "iVar26") (= "=") (call_expression "(*(code *)puVar8)(puVar19,iVar40,puVar43)" (parenthesized_expression "(*(code *)puVar8)" (( "(") (pointer_expression "*(code *)puVar8" (* "*") (cast_expression "(code *)puVar8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8"))) () ")")) (argument_list "(puVar19,iVar40,puVar43)" (( "(") (identifier "puVar19") (, ",") (identifier "iVar40") (, ",") (identifier "puVar43") () ")")))) (; ";")) (if_statement "if (iVar26 != 0) {\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }" (if "if") (parenthesized_expression "(iVar26 != 0)" (( "(") (binary_expression "iVar26 != 0" (identifier "iVar26") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);\n      if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }\n      bVar7 = true;\n    }" ({ "{") (expression_statement "pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);" (assignment_expression "pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36)" (identifier "pcVar16") (= "=") (cast_expression "(char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "pattern_file_name(puVar11[3] + 1,pppppppcVar36)" (identifier "pattern_file_name") (argument_list "(puVar11[3] + 1,pppppppcVar36)" (( "(") (binary_expression "puVar11[3] + 1" (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "1")) (, ",") (identifier "pppppppcVar36") () ")"))))) (; ";")) (if_statement "if (*pcVar16 == '\0') {\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }\n      else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }" (if "if") (parenthesized_expression "(*pcVar16 == '\0')" (( "(") (binary_expression "*pcVar16 == '\0'" (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);\n      }" ({ "{") (expression_statement "(*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);" (call_expression "(*(code *)PTR_error_00056450)(0,0,puVar14,iVar26)" (parenthesized_expression "(*(code *)PTR_error_00056450)" (( "(") (pointer_expression "*(code *)PTR_error_00056450" (* "*") (cast_expression "(code *)PTR_error_00056450" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_00056450"))) () ")")) (argument_list "(0,0,puVar14,iVar26)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "puVar14") (, ",") (identifier "iVar26") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }" (else "else") (compound_statement "{\n        local_58 = local_30;\n        local_54 = iVar26;\n        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);\n      }" ({ "{") (expression_statement "local_58 = local_30;" (assignment_expression "local_58 = local_30" (identifier "local_58") (= "=") (identifier "local_30")) (; ";")) (expression_statement "local_54 = iVar26;" (assignment_expression "local_54 = iVar26" (identifier "local_54") (= "=") (identifier "iVar26")) (; ";")) (expression_statement "(*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);" (call_expression "(*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16)" (parenthesized_expression "(*(code *)PTR_error_00056450)" (( "(") (pointer_expression "*(code *)PTR_error_00056450" (* "*") (cast_expression "(code *)PTR_error_00056450" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_00056450"))) () ")")) (argument_list "(0,0,puVar13,pcVar16)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "puVar13") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (} "}")))) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (} "}"))) (expression_statement "uVar42 = puVar11[3] + 1;" (assignment_expression "uVar42 = puVar11[3] + 1" (identifier "uVar42") (= "=") (binary_expression "puVar11[3] + 1" (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar11[3] = uVar42;" (assignment_expression "puVar11[3] = uVar42" (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar42")) (; ";")) (expression_statement "puVar8 = PTR_match_lines_000561b8;" (assignment_expression "puVar8 = PTR_match_lines_000561b8" (identifier "puVar8") (= "=") (identifier "PTR_match_lines_000561b8")) (; ";")) (expression_statement "puVar19 = puVar15;" (assignment_expression "puVar19 = puVar15" (identifier "puVar19") (= "=") (identifier "puVar15")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar15 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar15 != (undefined4 *)0x0" (identifier "puVar15") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (bVar7) {\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }" (if "if") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);\n    return puVar11;\n  }" ({ "{") (expression_statement "puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);" (assignment_expression "puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_exit_00056430)(2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_exit_00056430)(2)" (parenthesized_expression "(*(code *)PTR_exit_00056430)" (( "(") (pointer_expression "*(code *)PTR_exit_00056430" (* "*") (cast_expression "(code *)PTR_exit_00056430" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_exit_00056430"))) () ")")) (argument_list "(2)" (( "(") (number_literal "2") () ")"))))) (; ";")) (return_statement "return puVar11;" (return "return") (identifier "puVar11") (; ";")) (} "}"))) (if_statement "if ((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')) {\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }" (if "if") (parenthesized_expression "((*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'))" (( "(") (binary_expression "(*PTR_match_words_000561b4 != '\0') ||\n     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')" (parenthesized_expression "(*PTR_match_words_000561b4 != '\0')" (( "(") (binary_expression "*PTR_match_words_000561b4 != '\0'" (pointer_expression "*PTR_match_words_000561b4" (* "*") (identifier "PTR_match_words_000561b4")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0')" (( "(") (comma_expression "puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'" (assignment_expression "puVar19 = (undefined4 *)0x0" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (, ",") (comma_expression "local_res4 = param_2, local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'" (assignment_expression "local_res4 = param_2" (identifier "local_res4") (= "=") (identifier "param_2")) (, ",") (comma_expression "local_44 = param_1,\n     *PTR_match_lines_000561b8 != '\0'" (assignment_expression "local_44 = param_1" (identifier "local_44") (= "=") (identifier "param_1")) (, ",") (binary_expression "*PTR_match_lines_000561b8 != '\0'" (pointer_expression "*PTR_match_lines_000561b8" (* "*") (identifier "PTR_match_lines_000561b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))))) () ")"))) () ")")) (compound_statement "{\n    uVar42 = local_res8 & 0x2000;\n    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));\n    puVar14 = PTR_strlen_00056424;\n    puVar13 = PTR_wcrtomb_00056118;\n    if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }\n    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);\n    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));\n    local_44 = puVar19;\n  }" ({ "{") (expression_statement "uVar42 = local_res8 & 0x2000;" (assignment_expression "uVar42 = local_res8 & 0x2000" (identifier "uVar42") (= "=") (binary_expression "local_res8 & 0x2000" (identifier "local_res8") (& "&") (number_literal "0x2000"))) (; ";")) (expression_statement "puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));" (assignment_expression "puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d))" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)xmalloc((char *)((int)param_2 + 0x2d))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc((char *)((int)param_2 + 0x2d))" (identifier "xmalloc") (argument_list "((char *)((int)param_2 + 0x2d))" (( "(") (cast_expression "(char *)((int)param_2 + 0x2d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x2d)" (( "(") (binary_expression "(int)param_2 + 0x2d" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x2d")) () ")"))) () ")"))))) (; ";")) (expression_statement "puVar14 = PTR_strlen_00056424;" (assignment_expression "puVar14 = PTR_strlen_00056424" (identifier "puVar14") (= "=") (identifier "PTR_strlen_00056424")) (; ";")) (expression_statement "puVar13 = PTR_wcrtomb_00056118;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118" (identifier "puVar13") (= "=") (identifier "PTR_wcrtomb_00056118")) (; ";")) (if_statement "if (*puVar8 == '\0') {\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }\n    else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" (if "if") (parenthesized_expression "(*puVar8 == '\0')" (( "(") (binary_expression "*puVar8 == '\0'" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }\n    }" ({ "{") (if_statement "if (uVar42 == 0) {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }\n      else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }" (if "if") (parenthesized_expression "(uVar42 == 0)" (( "(") (binary_expression "uVar42 == 0" (identifier "uVar42") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        uVar2 = puVar13[0x79c];\n        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);\n        *(undefined1 *)(puVar19 + 5) = uVar2;\n        uVar2 = puVar13[0x79e];\n        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];\n        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x754;\n      }" ({ "{") (expression_statement "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);" (assignment_expression "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c)" (identifier "uVar29") (= "=") (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c)" (* "*") (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x78c)" (( "(") (binary_expression "PTR_wcrtomb_00056118 + 0x78c" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x78c")) () ")"))))) (; ";")) (expression_statement "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);" (assignment_expression "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790)" (identifier "uVar28") (= "=") (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x790)" (* "*") (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x790)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x790)" (( "(") (binary_expression "PTR_wcrtomb_00056118 + 0x790" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x790")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);" (assignment_expression "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x794)" (* "*") (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x794)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x794)" (( "(") (binary_expression "PTR_wcrtomb_00056118 + 0x794" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x794")) () ")"))))) (; ";")) (expression_statement "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);" (assignment_expression "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x788)" (* "*") (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x788)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x788)" (( "(") (binary_expression "PTR_wcrtomb_00056118 + 0x788" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x788")) () ")"))))) (; ";")) (expression_statement "puVar19[1] = uVar29;" (assignment_expression "puVar19[1] = uVar29" (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar29")) (; ";")) (expression_statement "puVar19[2] = uVar28;" (assignment_expression "puVar19[2] = uVar28" (subscript_expression "puVar19[2]" (identifier "puVar19") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar28")) (; ";")) (expression_statement "puVar19[3] = uVar12;" (assignment_expression "puVar19[3] = uVar12" (subscript_expression "puVar19[3]" (identifier "puVar19") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "uVar2 = puVar13[0x79c];" (assignment_expression "uVar2 = puVar13[0x79c]" (identifier "uVar2") (= "=") (subscript_expression "puVar13[0x79c]" (identifier "puVar13") ([ "[") (number_literal "0x79c") (] "]"))) (; ";")) (expression_statement "puVar19[4] = *(undefined4 *)(puVar13 + 0x798);" (assignment_expression "puVar19[4] = *(undefined4 *)(puVar13 + 0x798)" (subscript_expression "puVar19[4]" (identifier "puVar19") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(puVar13 + 0x798)" (* "*") (cast_expression "(undefined4 *)(puVar13 + 0x798)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x798)" (( "(") (binary_expression "puVar13 + 0x798" (identifier "puVar13") (+ "+") (number_literal "0x798")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(puVar19 + 5) = uVar2;" (assignment_expression "*(undefined1 *)(puVar19 + 5) = uVar2" (pointer_expression "*(undefined1 *)(puVar19 + 5)" (* "*") (cast_expression "(undefined1 *)(puVar19 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 5)" (( "(") (binary_expression "puVar19 + 5" (identifier "puVar19") (+ "+") (number_literal "5")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar2 = puVar13[0x79e];" (assignment_expression "uVar2 = puVar13[0x79e]" (identifier "uVar2") (= "=") (subscript_expression "puVar13[0x79e]" (identifier "puVar13") ([ "[") (number_literal "0x79e") (] "]"))) (; ";")) (expression_statement "*(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];" (assignment_expression "*(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d]" (pointer_expression "*(undefined *)((int)puVar19 + 0x15)" (* "*") (cast_expression "(undefined *)((int)puVar19 + 0x15)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 0x15)" (( "(") (binary_expression "(int)puVar19 + 0x15" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "0x15")) () ")")))) (= "=") (subscript_expression "puVar13[0x79d]" (identifier "puVar13") ([ "[") (number_literal "0x79d") (] "]"))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 0x16) = uVar2;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0x16) = uVar2" (pointer_expression "*(undefined1 *)((int)puVar19 + 0x16)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 0x16)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 0x16)" (( "(") (binary_expression "(int)puVar19 + 0x16" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "0x16")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" (identifier "iVar26") (= "=") (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" (( "(") (pointer_expression "*(code *)puVar14" (* "*") (cast_expression "(code *)puVar14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar14"))) () ")")) (argument_list "(puVar19)" (( "(") (identifier "puVar19") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000564b8" (* "*") (cast_expression "(code *)PTR_memcpy_000564b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000564b8"))) () ")")) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (( "(") (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + iVar26)" (( "(") (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (identifier "iVar26")) () ")"))) (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" (identifier "pppppppcVar36") (= "=") (cast_expression "(char *******)((int)param_2 + iVar26)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)param_2 + iVar26)" (( "(") (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "iVar26")) () ")")))) (; ";")) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" (identifier "pcVar16") (= "=") (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" (( "(") (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36"))) () ")")))) (; ";")) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x754;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x754" (identifier "puVar13") (= "=") (binary_expression "PTR_wcrtomb_00056118 + 0x754" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x754"))) (; ";")) (} "}")) (else_clause "else {\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }" (else "else") (compound_statement "{\n        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);\n        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);\n        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);\n        uVar2 = PTR_wcrtomb_00056118[0x784];\n        uVar3 = PTR_wcrtomb_00056118[0x785];\n        uVar6 = PTR_wcrtomb_00056118[0x786];\n        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);\n        puVar19[1] = uVar29;\n        puVar19[2] = uVar28;\n        puVar19[3] = uVar12;\n        *(undefined1 *)(puVar19 + 4) = uVar2;\n        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;\n        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;\n        iVar26 = (*(code *)puVar14)(puVar19);\n        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n        pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n        puVar13 = PTR_wcrtomb_00056118 + 0x740;\n      }" ({ "{") (expression_statement "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);" (assignment_expression "uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778)" (identifier "uVar29") (= "=") (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x778)" (* "*") (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x778)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x778)" (( "(") (binary_expression "PTR_wcrtomb_00056118 + 0x778" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x778")) () ")"))))) (; ";")) (expression_statement "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);" (assignment_expression "uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c)" (identifier "uVar28") (= "=") (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c)" (* "*") (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x77c)" (( "(") (binary_expression "PTR_wcrtomb_00056118 + 0x77c" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x77c")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);" (assignment_expression "uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x780)" (* "*") (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x780)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x780)" (( "(") (binary_expression "PTR_wcrtomb_00056118 + 0x780" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x780")) () ")"))))) (; ";")) (expression_statement "uVar2 = PTR_wcrtomb_00056118[0x784];" (assignment_expression "uVar2 = PTR_wcrtomb_00056118[0x784]" (identifier "uVar2") (= "=") (subscript_expression "PTR_wcrtomb_00056118[0x784]" (identifier "PTR_wcrtomb_00056118") ([ "[") (number_literal "0x784") (] "]"))) (; ";")) (expression_statement "uVar3 = PTR_wcrtomb_00056118[0x785];" (assignment_expression "uVar3 = PTR_wcrtomb_00056118[0x785]" (identifier "uVar3") (= "=") (subscript_expression "PTR_wcrtomb_00056118[0x785]" (identifier "PTR_wcrtomb_00056118") ([ "[") (number_literal "0x785") (] "]"))) (; ";")) (expression_statement "uVar6 = PTR_wcrtomb_00056118[0x786];" (assignment_expression "uVar6 = PTR_wcrtomb_00056118[0x786]" (identifier "uVar6") (= "=") (subscript_expression "PTR_wcrtomb_00056118[0x786]" (identifier "PTR_wcrtomb_00056118") ([ "[") (number_literal "0x786") (] "]"))) (; ";")) (expression_statement "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);" (assignment_expression "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x774)" (* "*") (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x774)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x774)" (( "(") (binary_expression "PTR_wcrtomb_00056118 + 0x774" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x774")) () ")"))))) (; ";")) (expression_statement "puVar19[1] = uVar29;" (assignment_expression "puVar19[1] = uVar29" (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar29")) (; ";")) (expression_statement "puVar19[2] = uVar28;" (assignment_expression "puVar19[2] = uVar28" (subscript_expression "puVar19[2]" (identifier "puVar19") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar28")) (; ";")) (expression_statement "puVar19[3] = uVar12;" (assignment_expression "puVar19[3] = uVar12" (subscript_expression "puVar19[3]" (identifier "puVar19") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined1 *)(puVar19 + 4) = uVar2;" (assignment_expression "*(undefined1 *)(puVar19 + 4) = uVar2" (pointer_expression "*(undefined1 *)(puVar19 + 4)" (* "*") (cast_expression "(undefined1 *)(puVar19 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 4)" (( "(") (binary_expression "puVar19 + 4" (identifier "puVar19") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 0x11) = uVar3;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0x11) = uVar3" (pointer_expression "*(undefined1 *)((int)puVar19 + 0x11)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 0x11)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 0x11)" (( "(") (binary_expression "(int)puVar19 + 0x11" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 0x12) = uVar6;" (assignment_expression "*(undefined1 *)((int)puVar19 + 0x12) = uVar6" (pointer_expression "*(undefined1 *)((int)puVar19 + 0x12)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 0x12)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 0x12)" (( "(") (binary_expression "(int)puVar19 + 0x12" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "0x12")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" (identifier "iVar26") (= "=") (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" (( "(") (pointer_expression "*(code *)puVar14" (* "*") (cast_expression "(code *)puVar14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar14"))) () ")")) (argument_list "(puVar19)" (( "(") (identifier "puVar19") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000564b8" (* "*") (cast_expression "(code *)PTR_memcpy_000564b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000564b8"))) () ")")) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (( "(") (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + iVar26)" (( "(") (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (identifier "iVar26")) () ")"))) (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" (identifier "pppppppcVar36") (= "=") (cast_expression "(char *******)((int)param_2 + iVar26)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)param_2 + iVar26)" (( "(") (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "iVar26")) () ")")))) (; ";")) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" (identifier "pcVar16") (= "=") (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" (( "(") (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36"))) () ")")))) (; ";")) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x740;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x740" (identifier "puVar13") (= "=") (binary_expression "PTR_wcrtomb_00056118 + 0x740" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x740"))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" (else "else") (if_statement "if (uVar42 == 0) {\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }\n    else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" (if "if") (parenthesized_expression "(uVar42 == 0)" (( "(") (binary_expression "uVar42 == 0" (identifier "uVar42") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x770;\n    }" ({ "{") (expression_statement "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);" (assignment_expression "*puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (pointer_expression "*(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4)" (* "*") (cast_expression "(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_wcrtomb_00056118 + 0x7a4)" (( "(") (binary_expression "PTR_wcrtomb_00056118 + 0x7a4" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x7a4")) () ")"))))) (; ";")) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" (identifier "iVar26") (= "=") (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" (( "(") (pointer_expression "*(code *)puVar14" (* "*") (cast_expression "(code *)puVar14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar14"))) () ")")) (argument_list "(puVar19)" (( "(") (identifier "puVar19") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000564b8" (* "*") (cast_expression "(code *)PTR_memcpy_000564b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000564b8"))) () ")")) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (( "(") (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + iVar26)" (( "(") (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (identifier "iVar26")) () ")"))) (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" (identifier "pppppppcVar36") (= "=") (cast_expression "(char *******)((int)param_2 + iVar26)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)param_2 + iVar26)" (( "(") (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "iVar26")) () ")")))) (; ";")) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" (identifier "pcVar16") (= "=") (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" (( "(") (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36"))) () ")")))) (; ";")) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x770;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x770" (identifier "puVar13") (= "=") (binary_expression "PTR_wcrtomb_00056118 + 0x770" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x770"))) (; ";")) (} "}")) (else_clause "else {\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" (else "else") (compound_statement "{\n      uVar2 = PTR_wcrtomb_00056118[0x7a1];\n      uVar3 = PTR_wcrtomb_00056118[0x7a2];\n      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];\n      *(undefined1 *)((int)puVar19 + 1) = uVar2;\n      *(undefined1 *)((int)puVar19 + 2) = uVar3;\n      iVar26 = (*(code *)puVar14)(puVar19);\n      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);\n      pppppppcVar36 = (char *******)((int)param_2 + iVar26);\n      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);\n      puVar13 = PTR_wcrtomb_00056118 + 0x76c;\n    }" ({ "{") (expression_statement "uVar2 = PTR_wcrtomb_00056118[0x7a1];" (assignment_expression "uVar2 = PTR_wcrtomb_00056118[0x7a1]" (identifier "uVar2") (= "=") (subscript_expression "PTR_wcrtomb_00056118[0x7a1]" (identifier "PTR_wcrtomb_00056118") ([ "[") (number_literal "0x7a1") (] "]"))) (; ";")) (expression_statement "uVar3 = PTR_wcrtomb_00056118[0x7a2];" (assignment_expression "uVar3 = PTR_wcrtomb_00056118[0x7a2]" (identifier "uVar3") (= "=") (subscript_expression "PTR_wcrtomb_00056118[0x7a2]" (identifier "PTR_wcrtomb_00056118") ([ "[") (number_literal "0x7a2") (] "]"))) (; ";")) (expression_statement "*(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];" (assignment_expression "*(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0]" (pointer_expression "*(undefined *)puVar19" (* "*") (cast_expression "(undefined *)puVar19" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar19"))) (= "=") (subscript_expression "PTR_wcrtomb_00056118[0x7a0]" (identifier "PTR_wcrtomb_00056118") ([ "[") (number_literal "0x7a0") (] "]"))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 1) = uVar2;" (assignment_expression "*(undefined1 *)((int)puVar19 + 1) = uVar2" (pointer_expression "*(undefined1 *)((int)puVar19 + 1)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 1)" (( "(") (binary_expression "(int)puVar19 + 1" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(undefined1 *)((int)puVar19 + 2) = uVar3;" (assignment_expression "*(undefined1 *)((int)puVar19 + 2) = uVar3" (pointer_expression "*(undefined1 *)((int)puVar19 + 2)" (* "*") (cast_expression "(undefined1 *)((int)puVar19 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + 2)" (( "(") (binary_expression "(int)puVar19 + 2" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "iVar26 = (*(code *)puVar14)(puVar19);" (assignment_expression "iVar26 = (*(code *)puVar14)(puVar19)" (identifier "iVar26") (= "=") (call_expression "(*(code *)puVar14)(puVar19)" (parenthesized_expression "(*(code *)puVar14)" (( "(") (pointer_expression "*(code *)puVar14" (* "*") (cast_expression "(code *)puVar14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar14"))) () ")")) (argument_list "(puVar19)" (( "(") (identifier "puVar19") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);" (call_expression "(*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (parenthesized_expression "(*(code *)PTR_memcpy_000564b8)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000564b8" (* "*") (cast_expression "(code *)PTR_memcpy_000564b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000564b8"))) () ")")) (argument_list "((undefined1 *)((int)puVar19 + iVar26),param_1,param_2)" (( "(") (cast_expression "(undefined1 *)((int)puVar19 + iVar26)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + iVar26)" (( "(") (binary_expression "(int)puVar19 + iVar26" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (identifier "iVar26")) () ")"))) (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pppppppcVar36 = (char *******)((int)param_2 + iVar26);" (assignment_expression "pppppppcVar36 = (char *******)((int)param_2 + iVar26)" (identifier "pppppppcVar36") (= "=") (cast_expression "(char *******)((int)param_2 + iVar26)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)param_2 + iVar26)" (( "(") (binary_expression "(int)param_2 + iVar26" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "iVar26")) () ")")))) (; ";")) (expression_statement "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);" (assignment_expression "pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36)" (identifier "pcVar16") (= "=") (cast_expression "(char *)((int)puVar19 + (int)pppppppcVar36)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + (int)pppppppcVar36)" (( "(") (binary_expression "(int)puVar19 + (int)pppppppcVar36" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36"))) () ")")))) (; ";")) (expression_statement "puVar13 = PTR_wcrtomb_00056118 + 0x76c;" (assignment_expression "puVar13 = PTR_wcrtomb_00056118 + 0x76c" (identifier "puVar13") (= "=") (binary_expression "PTR_wcrtomb_00056118 + 0x76c" (identifier "PTR_wcrtomb_00056118") (+ "+") (number_literal "0x76c"))) (; ";")) (} "}")))))) (expression_statement "iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);" (assignment_expression "iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13)" (identifier "iVar26") (= "=") (call_expression "(*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13)" (parenthesized_expression "(*(code *)PTR_stpcpy_00056498)" (( "(") (pointer_expression "*(code *)PTR_stpcpy_00056498" (* "*") (cast_expression "(code *)PTR_stpcpy_00056498" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stpcpy_00056498"))) () ")")) (argument_list "(pcVar16,puVar13)" (( "(") (identifier "pcVar16") (, ",") (identifier "puVar13") () ")")))) (; ";")) (expression_statement "local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));" (assignment_expression "local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16))" (identifier "local_res4") (= "=") (cast_expression "(char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16))" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar36 + (iVar26 - (int)pcVar16))" (( "(") (binary_expression "(int)pppppppcVar36 + (iVar26 - (int)pcVar16)" (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36")) (+ "+") (parenthesized_expression "(iVar26 - (int)pcVar16)" (( "(") (binary_expression "iVar26 - (int)pcVar16" (identifier "iVar26") (- "-") (cast_expression "(int)pcVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar16"))) () ")"))) () ")")))) (; ";")) (expression_statement "local_44 = puVar19;" (assignment_expression "local_44 = puVar19" (identifier "local_44") (= "=") (identifier "puVar19")) (; ";")) (} "}"))) (expression_statement "puVar30 = (uint *)0x1;" (assignment_expression "puVar30 = (uint *)0x1" (identifier "puVar30") (= "=") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pcVar16 = (char *)puVar11[1];" (assignment_expression "pcVar16 = (char *)puVar11[1]" (identifier "pcVar16") (= "=") (cast_expression "(char *)puVar11[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "dfacomp(local_44);" (call_expression "dfacomp(local_44)" (identifier "dfacomp") (argument_list "(local_44)" (( "(") (identifier "local_44") () ")"))) (; ";")) (expression_statement "pcVar17 = (char *)dfamust(puVar11[1]);" (assignment_expression "pcVar17 = (char *)dfamust(puVar11[1])" (identifier "pcVar17") (= "=") (cast_expression "(char *)dfamust(puVar11[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dfamust(puVar11[1])" (identifier "dfamust") (argument_list "(puVar11[1])" (( "(") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")) () ")"))))) (; ";")) (if_statement "if (pcVar17 != (char *)0x0) {\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }" (if "if") (parenthesized_expression "(pcVar17 != (char *)0x0)" (( "(") (binary_expression "pcVar17 != (char *)0x0" (identifier "pcVar17") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pcVar18 = (char *)kwsinit(0);\n    cVar1 = *pcVar17;\n    *puVar11 = pcVar18;\n    puVar13 = PTR_strlen_00056424;\n    if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }\n    kwsprep(*puVar11);\n    dfamustfree(pcVar17);\n  }" ({ "{") (expression_statement "pcVar18 = (char *)kwsinit(0);" (assignment_expression "pcVar18 = (char *)kwsinit(0)" (identifier "pcVar18") (= "=") (cast_expression "(char *)kwsinit(0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "kwsinit(0)" (identifier "kwsinit") (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (expression_statement "cVar1 = *pcVar17;" (assignment_expression "cVar1 = *pcVar17" (identifier "cVar1") (= "=") (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17"))) (; ";")) (expression_statement "*puVar11 = pcVar18;" (assignment_expression "*puVar11 = pcVar18" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (identifier "pcVar18")) (; ";")) (expression_statement "puVar13 = PTR_strlen_00056424;" (assignment_expression "puVar13 = PTR_strlen_00056424" (identifier "puVar13") (= "=") (identifier "PTR_strlen_00056424")) (; ";")) (if_statement "if (cVar1 == '\0') {\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }\n    else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      pppppppcVar39 = *(char ********)(pcVar17 + 4);\n      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);\n      local_res4 = pppppppcVar39;\n      kwsincr(pcVar18);\n    }" ({ "{") (expression_statement "pppppppcVar39 = *(char ********)(pcVar17 + 4);" (assignment_expression "pppppppcVar39 = *(char ********)(pcVar17 + 4)" (identifier "pppppppcVar39") (= "=") (pointer_expression "*(char ********)(pcVar17 + 4)" (* "*") (cast_expression "(char ********)(pcVar17 + 4)" (( "(") (type_descriptor "char ********" (primitive_type "char") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(pcVar17 + 4)" (( "(") (binary_expression "pcVar17 + 4" (identifier "pcVar17") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);" (assignment_expression "pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39)" (identifier "pcVar16") (= "=") (cast_expression "(char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strlen_00056424)(pppppppcVar39)" (parenthesized_expression "(*(code *)PTR_strlen_00056424)" (( "(") (pointer_expression "*(code *)PTR_strlen_00056424" (* "*") (cast_expression "(code *)PTR_strlen_00056424" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00056424"))) () ")")) (argument_list "(pppppppcVar39)" (( "(") (identifier "pppppppcVar39") () ")"))))) (; ";")) (expression_statement "local_res4 = pppppppcVar39;" (assignment_expression "local_res4 = pppppppcVar39" (identifier "local_res4") (= "=") (identifier "pppppppcVar39")) (; ";")) (expression_statement "kwsincr(pcVar18);" (call_expression "kwsincr(pcVar18)" (identifier "kwsincr") (argument_list "(pcVar18)" (( "(") (identifier "pcVar18") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }" (else "else") (compound_statement "{\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      puVar11[7] = puVar11[7] + 1;\n      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);\n      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);\n      pppppppcVar36 = (char *******)xmalloc(pcVar18);\n      puVar13 = PTR_memcpy_000564b8;\n      bVar4 = *(byte *)(puVar11 + 8);\n      cVar1 = *puVar44;\n      iVar40 = (int)cVar1;\n      *(char *)pppppppcVar36 = cVar1;\n      bVar5 = pcVar17[1];\n      uVar12 = *(undefined4 *)(pcVar17 + 4);\n      *(byte *)(puVar11 + 8) = bVar5 | bVar4;\n      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);\n      if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }\n      local_res4 = pppppppcVar36;\n      pcVar16 = pcVar18;\n      kwsincr(*puVar11);\n      (*(code *)PTR_free_000564c0)(pppppppcVar36);\n    }" ({ "{") (expression_statement "uVar12 = *(undefined4 *)(pcVar17 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(pcVar17 + 4)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(pcVar17 + 4)" (* "*") (cast_expression "(undefined4 *)(pcVar17 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 4)" (( "(") (binary_expression "pcVar17 + 4" (identifier "pcVar17") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar11[7] = puVar11[7] + 1;" (assignment_expression "puVar11[7] = puVar11[7] + 1" (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "puVar11[7] + 1" (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);" (assignment_expression "pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12)" (identifier "pppppppcVar39") (= "=") (cast_expression "(char *******)(*(code *)puVar13)(uVar12)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*(code *)puVar13)(uVar12)" (parenthesized_expression "(*(code *)puVar13)" (( "(") (pointer_expression "*(code *)puVar13" (* "*") (cast_expression "(code *)puVar13" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")")) (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))))) (; ";")) (expression_statement "pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);" (assignment_expression "pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1])" (identifier "pcVar18") (= "=") (cast_expression "(char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1])" (( "(") (binary_expression "(int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]" (binary_expression "(int)pppppppcVar39 + (uint)(byte)pcVar17[2]" (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39")) (+ "+") (cast_expression "(uint)(byte)pcVar17[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pcVar17[2]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pcVar17[2]" (identifier "pcVar17") ([ "[") (number_literal "2") (] "]"))))) (+ "+") (cast_expression "(uint)(byte)pcVar17[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pcVar17[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pcVar17[1]" (identifier "pcVar17") ([ "[") (number_literal "1") (] "]"))))) () ")")))) (; ";")) (expression_statement "pppppppcVar36 = (char *******)xmalloc(pcVar18);" (assignment_expression "pppppppcVar36 = (char *******)xmalloc(pcVar18)" (identifier "pppppppcVar36") (= "=") (cast_expression "(char *******)xmalloc(pcVar18)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "xmalloc(pcVar18)" (identifier "xmalloc") (argument_list "(pcVar18)" (( "(") (identifier "pcVar18") () ")"))))) (; ";")) (expression_statement "puVar13 = PTR_memcpy_000564b8;" (assignment_expression "puVar13 = PTR_memcpy_000564b8" (identifier "puVar13") (= "=") (identifier "PTR_memcpy_000564b8")) (; ";")) (expression_statement "bVar4 = *(byte *)(puVar11 + 8);" (assignment_expression "bVar4 = *(byte *)(puVar11 + 8)" (identifier "bVar4") (= "=") (pointer_expression "*(byte *)(puVar11 + 8)" (* "*") (cast_expression "(byte *)(puVar11 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 8)" (( "(") (binary_expression "puVar11 + 8" (identifier "puVar11") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "cVar1 = *puVar44;" (assignment_expression "cVar1 = *puVar44" (identifier "cVar1") (= "=") (pointer_expression "*puVar44" (* "*") (identifier "puVar44"))) (; ";")) (expression_statement "iVar40 = (int)cVar1;" (assignment_expression "iVar40 = (int)cVar1" (identifier "iVar40") (= "=") (cast_expression "(int)cVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar1"))) (; ";")) (expression_statement "*(char *)pppppppcVar36 = cVar1;" (assignment_expression "*(char *)pppppppcVar36 = cVar1" (pointer_expression "*(char *)pppppppcVar36" (* "*") (cast_expression "(char *)pppppppcVar36" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar36"))) (= "=") (identifier "cVar1")) (; ";")) (expression_statement "bVar5 = pcVar17[1];" (assignment_expression "bVar5 = pcVar17[1]" (identifier "bVar5") (= "=") (subscript_expression "pcVar17[1]" (identifier "pcVar17") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(pcVar17 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(pcVar17 + 4)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(pcVar17 + 4)" (* "*") (cast_expression "(undefined4 *)(pcVar17 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 4)" (( "(") (binary_expression "pcVar17 + 4" (identifier "pcVar17") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(byte *)(puVar11 + 8) = bVar5 | bVar4;" (assignment_expression "*(byte *)(puVar11 + 8) = bVar5 | bVar4" (pointer_expression "*(byte *)(puVar11 + 8)" (* "*") (cast_expression "(byte *)(puVar11 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 8)" (( "(") (binary_expression "puVar11 + 8" (identifier "puVar11") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "bVar5 | bVar4" (identifier "bVar5") (| "|") (identifier "bVar4"))) (; ";")) (expression_statement "iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);" (assignment_expression "iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39)" (identifier "iVar26") (= "=") (call_expression "(*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39)" (parenthesized_expression "(*(code *)puVar13)" (( "(") (pointer_expression "*(code *)puVar13" (* "*") (cast_expression "(code *)puVar13" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")")) (argument_list "((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39)" (( "(") (cast_expression "(char *)((int)pppppppcVar36 + (uint)bVar5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar36 + (uint)bVar5)" (( "(") (binary_expression "(int)pppppppcVar36 + (uint)bVar5" (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36")) (+ "+") (cast_expression "(uint)bVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar5"))) () ")"))) (, ",") (identifier "uVar12") (, ",") (identifier "pppppppcVar39") () ")")))) (; ";")) (if_statement "if (pcVar17[2] != '\0') {\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }" (if "if") (parenthesized_expression "(pcVar17[2] != '\0')" (( "(") (binary_expression "pcVar17[2] != '\0'" (subscript_expression "pcVar17[2]" (identifier "pcVar17") ([ "[") (number_literal "2") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);\n        *(char *)pppppppcVar39 = cVar1;\n      }" ({ "{") (expression_statement "pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);" (assignment_expression "pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26)" (identifier "pppppppcVar39") (= "=") (cast_expression "(char *******)((int)pppppppcVar39 + iVar26)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar39 + iVar26)" (( "(") (binary_expression "(int)pppppppcVar39 + iVar26" (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39")) (+ "+") (identifier "iVar26")) () ")")))) (; ";")) (expression_statement "*(char *)pppppppcVar39 = cVar1;" (assignment_expression "*(char *)pppppppcVar39 = cVar1" (pointer_expression "*(char *)pppppppcVar39" (* "*") (cast_expression "(char *)pppppppcVar39" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar39"))) (= "=") (identifier "cVar1")) (; ";")) (} "}"))) (expression_statement "local_res4 = pppppppcVar36;" (assignment_expression "local_res4 = pppppppcVar36" (identifier "local_res4") (= "=") (identifier "pppppppcVar36")) (; ";")) (expression_statement "pcVar16 = pcVar18;" (assignment_expression "pcVar16 = pcVar18" (identifier "pcVar16") (= "=") (identifier "pcVar18")) (; ";")) (expression_statement "kwsincr(*puVar11);" (call_expression "kwsincr(*puVar11)" (identifier "kwsincr") (argument_list "(*puVar11)" (( "(") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_000564c0)(pppppppcVar36);" (call_expression "(*(code *)PTR_free_000564c0)(pppppppcVar36)" (parenthesized_expression "(*(code *)PTR_free_000564c0)" (( "(") (pointer_expression "*(code *)PTR_free_000564c0" (* "*") (cast_expression "(code *)PTR_free_000564c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_000564c0"))) () ")")) (argument_list "(pppppppcVar36)" (( "(") (identifier "pppppppcVar36") () ")"))) (; ";")) (} "}")))) (expression_statement "kwsprep(*puVar11);" (call_expression "kwsprep(*puVar11)" (identifier "kwsprep") (argument_list "(*puVar11)" (( "(") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) () ")"))) (; ";")) (expression_statement "dfamustfree(pcVar17);" (call_expression "dfamustfree(pcVar17)" (identifier "dfamustfree") (argument_list "(pcVar17)" (( "(") (identifier "pcVar17") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_free_000564c0)(puVar19);" (call_expression "(*(code *)PTR_free_000564c0)(puVar19)" (parenthesized_expression "(*(code *)PTR_free_000564c0)" (( "(") (pointer_expression "*(code *)PTR_free_000564c0" (* "*") (cast_expression "(code *)PTR_free_000564c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_000564c0"))) () ")")) (argument_list "(puVar19)" (( "(") (identifier "puVar19") () ")"))) (; ";")) (if_statement "if (local_2c == *(int **)puVar9) {\n    return puVar11;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int **)puVar9)" (( "(") (binary_expression "local_2c == *(int **)puVar9" (identifier "local_2c") (== "==") (pointer_expression "*(int **)puVar9" (* "*") (cast_expression "(int **)puVar9" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar9")))) () ")")) (compound_statement "{\n    return puVar11;\n  }" ({ "{") (return_statement "return puVar11;" (return "return") (identifier "puVar11") (; ";")) (} "}"))) (expression_statement "pcVar46 = EGexecute;" (assignment_expression "pcVar46 = EGexecute" (identifier "pcVar46") (= "=") (identifier "EGexecute")) (; ";")) (expression_statement "piVar27 = local_2c;" (assignment_expression "piVar27 = local_2c" (identifier "piVar27") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar44 = PTR___stack_chk_fail_00056494;" (assignment_expression "puVar44 = PTR___stack_chk_fail_00056494" (identifier "puVar44") (= "=") (identifier "PTR___stack_chk_fail_00056494")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00056494)();" (call_expression "(*(code *)PTR___stack_chk_fail_00056494)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00056494)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00056494" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00056494" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00056494"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppppcVar10 = local_58;" (assignment_expression "pppppppcVar10 = local_58" (identifier "pppppppcVar10") (= "=") (identifier "local_58")) (; ";")) (expression_statement "piVar20 = *(int **)(puVar44 + 0x40f5c);" (assignment_expression "piVar20 = *(int **)(puVar44 + 0x40f5c)" (identifier "piVar20") (= "=") (pointer_expression "*(int **)(puVar44 + 0x40f5c)" (* "*") (cast_expression "(int **)(puVar44 + 0x40f5c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40f5c)" (( "(") (binary_expression "puVar44 + 0x40f5c" (identifier "puVar44") (+ "+") (number_literal "0x40f5c")) () ")"))))) (; ";")) (expression_statement "pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);" (assignment_expression "pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16)" (identifier "pppppppcVar37") (= "=") (cast_expression "(char *******)((int)local_res4 + (int)pcVar16)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)local_res4 + (int)pcVar16)" (( "(") (binary_expression "(int)local_res4 + (int)pcVar16" (cast_expression "(int)local_res4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_res4")) (+ "+") (cast_expression "(int)pcVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar16"))) () ")")))) (; ";")) (expression_statement "pcVar16 = *(char **)(puVar44 + 0x40be0);" (assignment_expression "pcVar16 = *(char **)(puVar44 + 0x40be0)" (identifier "pcVar16") (= "=") (pointer_expression "*(char **)(puVar44 + 0x40be0)" (* "*") (cast_expression "(char **)(puVar44 + 0x40be0)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40be0)" (( "(") (binary_expression "puVar44 + 0x40be0" (identifier "puVar44") (+ "+") (number_literal "0x40be0")) () ")"))))) (; ";")) (expression_statement "iVar33 = piVar27[1];" (assignment_expression "iVar33 = piVar27[1]" (identifier "iVar33") (= "=") (subscript_expression "piVar27[1]" (identifier "piVar27") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iStack_94 = *piVar20;" (assignment_expression "iStack_94 = *piVar20" (identifier "iStack_94") (= "=") (pointer_expression "*piVar20" (* "*") (identifier "piVar20"))) (; ";")) (expression_statement "puStack_90 = puVar11;" (assignment_expression "puStack_90 = puVar11" (identifier "puStack_90") (= "=") (identifier "puVar11")) (; ";")) (expression_statement "pcStack_8c = pcVar17;" (assignment_expression "pcStack_8c = pcVar17" (identifier "pcStack_8c") (= "=") (identifier "pcVar17")) (; ";")) (expression_statement "pcStack_88 = pcVar18;" (assignment_expression "pcStack_88 = pcVar18" (identifier "pcStack_88") (= "=") (identifier "pcVar18")) (; ";")) (expression_statement "pppppppcStack_84 = pppppppcVar39;" (assignment_expression "pppppppcStack_84 = pppppppcVar39" (identifier "pppppppcStack_84") (= "=") (identifier "pppppppcVar39")) (; ";")) (expression_statement "pppppppcStack_80 = pppppppcVar36;" (assignment_expression "pppppppcStack_80 = pppppppcVar36" (identifier "pppppppcStack_80") (= "=") (identifier "pppppppcVar36")) (; ";")) (expression_statement "iStack_7c = iVar40;" (assignment_expression "iStack_7c = iVar40" (identifier "iStack_7c") (= "=") (identifier "iVar40")) (; ";")) (expression_statement "uStack_78 = uVar42;" (assignment_expression "uStack_78 = uVar42" (identifier "uStack_78") (= "=") (identifier "uVar42")) (; ";")) (expression_statement "puStack_74 = puVar19;" (assignment_expression "puStack_74 = puVar19" (identifier "puStack_74") (= "=") (identifier "puVar19")) (; ";")) (expression_statement "puStack_70 = puVar15;" (assignment_expression "puStack_70 = puVar15" (identifier "puStack_70") (= "=") (identifier "puVar15")) (; ";")) (expression_statement "pcStack_6c = pcVar46;" (assignment_expression "pcStack_6c = pcVar46" (identifier "pcStack_6c") (= "=") (identifier "pcVar46")) (; ";")) (expression_statement "iVar40 = dfasuperset(iVar33);" (assignment_expression "iVar40 = dfasuperset(iVar33)" (identifier "iVar40") (= "=") (call_expression "dfasuperset(iVar33)" (identifier "dfasuperset") (argument_list "(iVar33)" (( "(") (identifier "iVar33") () ")")))) (; ";")) (expression_statement "iVar26 = (int)*pcVar16;" (assignment_expression "iVar26 = (int)*pcVar16" (identifier "iVar26") (= "=") (cast_expression "(int)*pcVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")))) (; ";")) (expression_statement "iVar33 = dfaisfast(iVar33);" (assignment_expression "iVar33 = dfaisfast(iVar33)" (identifier "iVar33") (= "=") (call_expression "dfaisfast(iVar33)" (identifier "dfaisfast") (argument_list "(iVar33)" (( "(") (identifier "iVar33") () ")")))) (; ";")) (expression_statement "pppppppcStack_a8 = local_res4;" (assignment_expression "pppppppcStack_a8 = local_res4" (identifier "pppppppcStack_a8") (= "=") (identifier "local_res4")) (; ";")) (if_statement "if (local_res4 < pppppppcVar37) {\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }" (if "if") (parenthesized_expression "(local_res4 < pppppppcVar37)" (( "(") (binary_expression "local_res4 < pppppppcVar37" (identifier "local_res4") (< "<") (identifier "pppppppcVar37")) () ")")) (compound_statement "{\n    pcVar18 = *(char **)(puVar44 + 0x40c60);\n    pppppppcStack_f0 = local_res4;\n    do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);\n  }" ({ "{") (expression_statement "pcVar18 = *(char **)(puVar44 + 0x40c60);" (assignment_expression "pcVar18 = *(char **)(puVar44 + 0x40c60)" (identifier "pcVar18") (= "=") (pointer_expression "*(char **)(puVar44 + 0x40c60)" (* "*") (cast_expression "(char **)(puVar44 + 0x40c60)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40c60)" (( "(") (binary_expression "puVar44 + 0x40c60" (identifier "puVar44") (+ "+") (number_literal "0x40c60")) () ")"))))) (; ";")) (expression_statement "pppppppcStack_f0 = local_res4;" (assignment_expression "pppppppcStack_f0 = local_res4" (identifier "pppppppcStack_f0") (= "=") (identifier "local_res4")) (; ";")) (do_statement "do {\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    } while (pppppppcStack_f0 < pppppppcVar37);" (do "do") (compound_statement "{\n      if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }\n    }" ({ "{") (if_statement "if (pppppppcVar10 == (char *******)0x0) {\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }\n      else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }" (if "if") (parenthesized_expression "(pppppppcVar10 == (char *******)0x0)" (( "(") (binary_expression "pppppppcVar10 == (char *******)0x0" (identifier "pppppppcVar10") (== "==") (cast_expression "(char *******)0x0" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iStack_a4 = 0;\n        cStack_a9 = '\0';\n        pppppppcVar36 = pppppppcStack_f0;\n        pppppppcVar23 = pppppppcVar37;\n        if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }\njoined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;\n        pppppppcVar23 = pppppppcStack_f0;\n        pppppppcVar39 = pppppppcVar36;\n        if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }\n      }" ({ "{") (expression_statement "iStack_a4 = 0;" (assignment_expression "iStack_a4 = 0" (identifier "iStack_a4") (= "=") (number_literal "0")) (; ";")) (expression_statement "cStack_a9 = '\0';" (assignment_expression "cStack_a9 = '\0'" (identifier "cStack_a9") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pppppppcVar36 = pppppppcStack_f0;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0" (identifier "pppppppcVar36") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (expression_statement "pppppppcVar23 = pppppppcVar37;" (assignment_expression "pppppppcVar23 = pppppppcVar37" (identifier "pppppppcVar23") (= "=") (identifier "pppppppcVar37")) (; ";")) (if_statement "if (*piVar27 != 0) {\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }" (if "if") (parenthesized_expression "(*piVar27 != 0)" (( "(") (binary_expression "*piVar27 != 0" (pointer_expression "*piVar27" (* "*") (identifier "piVar27")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);\n          if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }\n          break;\n        }" ({ "{") (expression_statement "iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);" (assignment_expression "iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1)" (identifier "iVar21") (= "=") (call_expression "kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1)" (identifier "kwsexec") (argument_list "(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),\n                           (uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1)" (( "(") (pointer_expression "*piVar27" (* "*") (identifier "piVar27")) (, ",") (binary_expression "(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8)" (cast_expression "(int)pppppppcStack_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f0")) (- "-") (binary_expression "(uint)*(byte *)(piVar27 + 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(piVar27 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar27 + 8)" (( "(") (binary_expression "piVar27 + 8" (identifier "piVar27") (+ "+") (number_literal "8")) () ")"))))) (, ",") (binary_expression "(uint)*(byte *)(piVar27 + 8) +\n                           ((int)pppppppcVar37 - (int)pppppppcStack_f0)" (binary_expression "(uint)*(byte *)(piVar27 + 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(piVar27 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar27 + 8)" (( "(") (binary_expression "piVar27 + 8" (identifier "piVar27") (+ "+") (number_literal "8")) () ")")))) (+ "+") (parenthesized_expression "((int)pppppppcVar37 - (int)pppppppcStack_f0)" (( "(") (binary_expression "(int)pppppppcVar37 - (int)pppppppcStack_f0" (cast_expression "(int)pppppppcVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar37")) (- "-") (cast_expression "(int)pppppppcStack_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f0"))) () ")"))) (, ",") (identifier "aiStack_a0") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (-1 < iVar21) {\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }" (if "if") (parenthesized_expression "(-1 < iVar21)" (( "(") (binary_expression "-1 < iVar21" (number_literal "-1") (< "<") (identifier "iVar21")) () ")")) (compound_statement "{\n            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);\n            iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n            pppppppcVar39 = local_res4;\n            if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }\n            if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }\nLAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n            goto LAB_00015bdc;\n          }" ({ "{") (expression_statement "pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);" (assignment_expression "pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21)" (identifier "pppppppcVar36") (= "=") (cast_expression "(char *******)((int)pppppppcStack_f0 + iVar21)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcStack_f0 + iVar21)" (( "(") (binary_expression "(int)pppppppcStack_f0 + iVar21" (cast_expression "(int)pppppppcStack_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f0")) (+ "+") (identifier "iVar21")) () ")")))) (; ";")) (expression_statement "iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);" (assignment_expression "iVar22 = (**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" (identifier "iVar22") (= "=") (call_expression "(**(code **)(puVar44 + 0x40ed0))\n                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" (parenthesized_expression "(**(code **)(puVar44 + 0x40ed0))" (( "(") (pointer_expression "**(code **)(puVar44 + 0x40ed0)" (* "*") (pointer_expression "*(code **)(puVar44 + 0x40ed0)" (* "*") (cast_expression "(code **)(puVar44 + 0x40ed0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40ed0)" (( "(") (binary_expression "puVar44 + 0x40ed0" (identifier "puVar44") (+ "+") (number_literal "0x40ed0")) () ")"))))) () ")")) (argument_list "(local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" (( "(") (identifier "local_res4") (, ",") (identifier "iVar26") (, ",") (binary_expression "(int)pppppppcVar36 - (int)local_res4" (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36")) (- "-") (cast_expression "(int)local_res4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_res4"))) () ")")))) (; ";")) (expression_statement "pppppppcVar39 = local_res4;" (assignment_expression "pppppppcVar39 = local_res4" (identifier "pppppppcVar39") (= "=") (identifier "local_res4")) (; ";")) (if_statement "if (iVar22 != 0) {\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }" (if "if") (parenthesized_expression "(iVar22 != 0)" (( "(") (binary_expression "iVar22 != 0" (identifier "iVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pppppppcVar39 = (char *******)(iVar22 + 1);\n            }" ({ "{") (expression_statement "pppppppcVar39 = (char *******)(iVar22 + 1);" (assignment_expression "pppppppcVar39 = (char *******)(iVar22 + 1)" (identifier "pppppppcVar39") (= "=") (cast_expression "(char *******)(iVar22 + 1)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar22 + 1)" (( "(") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if (piVar27[7] <= aiStack_a0[0]) {\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }" (if "if") (parenthesized_expression "(piVar27[7] <= aiStack_a0[0])" (( "(") (binary_expression "piVar27[7] <= aiStack_a0[0]" (subscript_expression "piVar27[7]" (identifier "piVar27") ([ "[") (number_literal "7") (] "]")) (<= "<=") (subscript_expression "aiStack_a0[0]" (identifier "aiStack_a0") ([ "[") (number_literal "0") (] "]"))) () ")")) (compound_statement "{\n              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;\n              if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }\n              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);\n              pppppppcVar36 = pppppppcVar39;\n              if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }\n              goto joined_r0x00015ca0;\n            }" ({ "{") (expression_statement "iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;" (assignment_expression "iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39" (identifier "iVar22") (= "=") (binary_expression "(int)pppppppcVar36 - (int)pppppppcVar39" (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36")) (- "-") (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39")))) (; ";")) (if_statement "if (iVar33 == 0) {\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }\n              else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }" (if "if") (parenthesized_expression "(iVar33 == 0)" (( "(") (binary_expression "iVar33 == 0" (identifier "iVar33") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;\n              }" ({ "{") (labeled_statement "LAB_000156c0:\n                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;" (statement_identifier "LAB_000156c0") (: ":") (expression_statement "iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;" (assignment_expression "iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36" (identifier "iVar21") (= "=") (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar36" (cast_expression "(int)pppppppcVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar37")) (- "-") (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36")))) (; ";"))) (} "}")) (else_clause "else {\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }" (else "else") (compound_statement "{\n                if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }\n                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;\n                iVar21 = 0;\n                pppppppcVar36 = pppppppcVar37;\n                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }\n              }" ({ "{") (if_statement "if (iVar22 < 0x10) {\n                  iVar22 = 0x10;\n                }" (if "if") (parenthesized_expression "(iVar22 < 0x10)" (( "(") (binary_expression "iVar22 < 0x10" (identifier "iVar22") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n                  iVar22 = 0x10;\n                }" ({ "{") (expression_statement "iVar22 = 0x10;" (assignment_expression "iVar22 = 0x10" (identifier "iVar22") (= "=") (number_literal "0x10")) (; ";")) (} "}"))) (if_statement "if (iVar22 < iVar21 >> 2) goto LAB_000156c0;" (if "if") (parenthesized_expression "(iVar22 < iVar21 >> 2)" (( "(") (binary_expression "iVar22 < iVar21 >> 2" (identifier "iVar22") (< "<") (binary_expression "iVar21 >> 2" (identifier "iVar21") (>> ">>") (number_literal "2"))) () ")")) (goto_statement "goto LAB_000156c0;" (goto "goto") (statement_identifier "LAB_000156c0") (; ";"))) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppcVar36 = pppppppcVar37;" (assignment_expression "pppppppcVar36 = pppppppcVar37" (identifier "pppppppcVar36") (= "=") (identifier "pppppppcVar37")) (; ";")) (if_statement "if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }" (if "if") (parenthesized_expression "(iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2)" (( "(") (binary_expression "iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2" (identifier "iVar22") (< "<") (binary_expression "(int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2" (binary_expression "(int)pppppppcVar37 - (int)pppppppcStack_f0" (cast_expression "(int)pppppppcVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar37")) (- "-") (cast_expression "(int)pppppppcStack_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f0"))) (>> ">>") (number_literal "2"))) () ")")) (compound_statement "{\n                  pppppppcVar36 = pppppppcStack_f0 + iVar22;\n                  goto LAB_000156c0;\n                }" ({ "{") (expression_statement "pppppppcVar36 = pppppppcStack_f0 + iVar22;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0 + iVar22" (identifier "pppppppcVar36") (= "=") (binary_expression "pppppppcStack_f0 + iVar22" (identifier "pppppppcStack_f0") (+ "+") (identifier "iVar22"))) (; ";")) (goto_statement "goto LAB_000156c0;" (goto "goto") (statement_identifier "LAB_000156c0") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21)" (identifier "iVar21") (= "=") (call_expression "(**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" (( "(") (pointer_expression "**(code **)(puVar44 + 0x40bc8)" (* "*") (pointer_expression "*(code **)(puVar44 + 0x40bc8)" (* "*") (cast_expression "(code **)(puVar44 + 0x40bc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40bc8)" (( "(") (binary_expression "puVar44 + 0x40bc8" (identifier "puVar44") (+ "+") (number_literal "0x40bc8")) () ")"))))) () ")")) (argument_list "(pppppppcVar36,iVar26,iVar21)" (( "(") (identifier "pppppppcVar36") (, ",") (identifier "iVar26") (, ",") (identifier "iVar21") () ")")))) (; ";")) (expression_statement "pppppppcVar36 = pppppppcVar39;" (assignment_expression "pppppppcVar36 = pppppppcVar39" (identifier "pppppppcVar36") (= "=") (identifier "pppppppcVar39")) (; ";")) (if_statement "if (iVar21 != 0) {\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }" (if "if") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                pppppppcVar23 = (char *******)(iVar21 + 1);\n              }" ({ "{") (expression_statement "pppppppcVar23 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcVar23 = (char *******)(iVar21 + 1)" (identifier "pppppppcVar23") (= "=") (cast_expression "(char *******)(iVar21 + 1)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar21 + 1)" (( "(") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (goto_statement "goto joined_r0x00015ca0;" (goto "goto") (statement_identifier "joined_r0x00015ca0") (; ";")) (} "}"))) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" (identifier "iVar21") (= "=") (call_expression "(**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" (( "(") (pointer_expression "**(code **)(puVar44 + 0x40bc8)" (* "*") (pointer_expression "*(code **)(puVar44 + 0x40bc8)" (* "*") (cast_expression "(code **)(puVar44 + 0x40bc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40bc8)" (( "(") (binary_expression "puVar44 + 0x40bc8" (identifier "puVar44") (+ "+") (number_literal "0x40bc8")) () ")"))))) () ")")) (argument_list "(pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" (( "(") (identifier "pppppppcVar36") (, ",") (identifier "iVar26") (, ",") (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar36" (cast_expression "(int)pppppppcVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar37")) (- "-") (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36"))) () ")")))) (; ";")) (expression_statement "pppppppcStack_f0 = pppppppcVar37;" (assignment_expression "pppppppcStack_f0 = pppppppcVar37" (identifier "pppppppcStack_f0") (= "=") (identifier "pppppppcVar37")) (; ";")) (if_statement "if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" (if "if") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" ({ "{") (expression_statement "pppppppcStack_f0 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcStack_f0 = (char *******)(iVar21 + 1)" (identifier "pppppppcStack_f0") (= "=") (cast_expression "(char *******)(iVar21 + 1)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar21 + 1)" (( "(") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }" (if "if") (parenthesized_expression "((**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0'))" (( "(") (binary_expression "(**(char **)(puVar44 + 0x40c1c) == '\x01') &&\n               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')" (parenthesized_expression "(**(char **)(puVar44 + 0x40c1c) == '\x01')" (( "(") (binary_expression "**(char **)(puVar44 + 0x40c1c) == '\x01'" (pointer_expression "**(char **)(puVar44 + 0x40c1c)" (* "*") (pointer_expression "*(char **)(puVar44 + 0x40c1c)" (* "*") (cast_expression "(char **)(puVar44 + 0x40c1c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40c1c)" (( "(") (binary_expression "puVar44 + 0x40c1c" (identifier "puVar44") (+ "+") (number_literal "0x40c1c")) () ")"))))) (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((*(char **)(puVar44 + 0x40c1c))[1] == '\0')" (( "(") (binary_expression "(*(char **)(puVar44 + 0x40c1c))[1] == '\0'" (subscript_expression "(*(char **)(puVar44 + 0x40c1c))[1]" (parenthesized_expression "(*(char **)(puVar44 + 0x40c1c))" (( "(") (pointer_expression "*(char **)(puVar44 + 0x40c1c)" (* "*") (cast_expression "(char **)(puVar44 + 0x40c1c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40c1c)" (( "(") (binary_expression "puVar44 + 0x40c1c" (identifier "puVar44") (+ "+") (number_literal "0x40c1c")) () ")")))) () ")")) ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n              if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }\n              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);\n              pppppppcVar23 = pppppppcStack_f0;\n              pppppppcVar36 = pppppppcStack_a8;\n              if (iVar21 == 0) goto LAB_00015bc8;\n              goto LAB_00015b08;\n            }" ({ "{") (if_statement "if (pppppppcStack_a8 < pppppppcVar39) {\n                pppppppcStack_a8 = pppppppcVar39;\n              }" (if "if") (parenthesized_expression "(pppppppcStack_a8 < pppppppcVar39)" (( "(") (binary_expression "pppppppcStack_a8 < pppppppcVar39" (identifier "pppppppcStack_a8") (< "<") (identifier "pppppppcVar39")) () ")")) (compound_statement "{\n                pppppppcStack_a8 = pppppppcVar39;\n              }" ({ "{") (expression_statement "pppppppcStack_a8 = pppppppcVar39;" (assignment_expression "pppppppcStack_a8 = pppppppcVar39" (identifier "pppppppcStack_a8") (= "=") (identifier "pppppppcVar39")) (; ";")) (} "}"))) (expression_statement "iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);" (assignment_expression "iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37)" (identifier "iVar21") (= "=") (call_expression "mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37)" (identifier "mb_goback") (argument_list "(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37)" (( "(") (pointer_expression "&pppppppcStack_a8" (& "&") (identifier "pppppppcStack_a8")) (, ",") (identifier "pppppppcVar36") (, ",") (identifier "pppppppcVar37") () ")")))) (; ";")) (expression_statement "pppppppcVar23 = pppppppcStack_f0;" (assignment_expression "pppppppcVar23 = pppppppcStack_f0" (identifier "pppppppcVar23") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (expression_statement "pppppppcVar36 = pppppppcStack_a8;" (assignment_expression "pppppppcVar36 = pppppppcStack_a8" (identifier "pppppppcVar36") (= "=") (identifier "pppppppcStack_a8")) (; ";")) (if_statement "if (iVar21 == 0) goto LAB_00015bc8;" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00015bc8;" (goto "goto") (statement_identifier "LAB_00015bc8") (; ";"))) (goto_statement "goto LAB_00015b08;" (goto "goto") (statement_identifier "LAB_00015b08") (; ";")) (} "}"))) (labeled_statement "LAB_00015bc8:\n            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;" (statement_identifier "LAB_00015bc8") (: ":") (expression_statement "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;" (assignment_expression "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39" (identifier "uVar35") (= "=") (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f0")) (- "-") (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39")))) (; ";"))) (goto_statement "goto LAB_00015bdc;" (goto "goto") (statement_identifier "LAB_00015bdc") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (labeled_statement "joined_r0x00015ca0:\n        pppppppcStack_f0 = pppppppcVar23;" (statement_identifier "joined_r0x00015ca0") (: ":") (expression_statement "pppppppcStack_f0 = pppppppcVar23;" (assignment_expression "pppppppcStack_f0 = pppppppcVar23" (identifier "pppppppcStack_f0") (= "=") (identifier "pppppppcVar23")) (; ";"))) (expression_statement "pppppppcVar23 = pppppppcStack_f0;" (assignment_expression "pppppppcVar23 = pppppppcStack_f0" (identifier "pppppppcVar23") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (expression_statement "pppppppcVar39 = pppppppcVar36;" (assignment_expression "pppppppcVar39 = pppppppcVar36" (identifier "pppppppcVar39") (= "=") (identifier "pppppppcVar36")) (; ";")) (if_statement "if (iVar40 == 0) {\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }\n        else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" (if "if") (parenthesized_expression "(iVar40 == 0)" (( "(") (binary_expression "iVar40 == 0" (identifier "iVar40") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;\n          pppppppcStack_f0 = pppppppcVar23;\n          if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }\n        }" ({ "{") (labeled_statement "LAB_00015b08:\n          pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;" (statement_identifier "LAB_00015b08") (: ":") (expression_statement "pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)\n          ;" (assignment_expression "pppppppcVar36 =\n               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" (identifier "pppppppcVar36") (= "=") (cast_expression "(char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" (identifier "dfaexec") (argument_list "(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)" (( "(") (subscript_expression "piVar27[1]" (identifier "piVar27") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "pppppppcVar36") (, ",") (identifier "pppppppcVar23") (, ",") (number_literal "0") (, ",") (pointer_expression "&iStack_a4" (& "&") (identifier "iStack_a4")) (, ",") (pointer_expression "&cStack_a9" (& "&") (identifier "cStack_a9")) () ")"))))) (; ";"))) (expression_statement "pppppppcStack_f0 = pppppppcVar23;" (assignment_expression "pppppppcStack_f0 = pppppppcVar23" (identifier "pppppppcStack_f0") (= "=") (identifier "pppppppcVar23")) (; ";")) (if_statement "if ((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }" (if "if") (parenthesized_expression "((pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36))" (( "(") (binary_expression "(pppppppcVar36 != (char *******)0x0) &&\n             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)" (parenthesized_expression "(pppppppcVar36 != (char *******)0x0)" (( "(") (binary_expression "pppppppcVar36 != (char *******)0x0" (identifier "pppppppcVar36") (!= "!=") (cast_expression "(char *******)0x0" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)" (( "(") (comma_expression "pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36" (assignment_expression "pppppppcStack_f0 = pppppppcVar36" (identifier "pppppppcStack_f0") (= "=") (identifier "pppppppcVar36")) (, ",") (binary_expression "pppppppcVar23 != pppppppcVar36" (identifier "pppppppcVar23") (!= "!=") (identifier "pppppppcVar36"))) () ")"))) () ")")) (compound_statement "{\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);\n            pppppppcStack_f0 = pppppppcVar37;\n            if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            if (cStack_a9 == '\0') goto LAB_00015bc8;\n            pppppppcStack_d8 = pppppppcVar39;\n            if (piVar27[3] != 0) goto LAB_00015714;\n          }" ({ "{") (if_statement "if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }" (if "if") (parenthesized_expression "(iStack_a4 != 0)" (( "(") (binary_expression "iStack_a4 != 0" (identifier "iStack_a4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);\n              pppppppcVar39 = (char *******)(iVar21 + 1);\n            }" ({ "{") (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" (identifier "iVar21") (= "=") (call_expression "(**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" (parenthesized_expression "(**(code **)(puVar44 + 0x40ed0))" (( "(") (pointer_expression "**(code **)(puVar44 + 0x40ed0)" (* "*") (pointer_expression "*(code **)(puVar44 + 0x40ed0)" (* "*") (cast_expression "(code **)(puVar44 + 0x40ed0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40ed0)" (( "(") (binary_expression "puVar44 + 0x40ed0" (identifier "puVar44") (+ "+") (number_literal "0x40ed0")) () ")"))))) () ")")) (argument_list "(local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4)" (( "(") (identifier "local_res4") (, ",") (identifier "iVar26") (, ",") (binary_expression "(int)pppppppcVar36 - (int)local_res4" (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36")) (- "-") (cast_expression "(int)local_res4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_res4"))) () ")")))) (; ";")) (expression_statement "pppppppcVar39 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcVar39 = (char *******)(iVar21 + 1)" (identifier "pppppppcVar39") (= "=") (cast_expression "(char *******)(iVar21 + 1)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar21 + 1)" (( "(") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" (identifier "iVar21") (= "=") (call_expression "(**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" (( "(") (pointer_expression "**(code **)(puVar44 + 0x40bc8)" (* "*") (pointer_expression "*(code **)(puVar44 + 0x40bc8)" (* "*") (cast_expression "(code **)(puVar44 + 0x40bc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40bc8)" (( "(") (binary_expression "puVar44 + 0x40bc8" (identifier "puVar44") (+ "+") (number_literal "0x40bc8")) () ")"))))) () ")")) (argument_list "(pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36)" (( "(") (identifier "pppppppcVar36") (, ",") (identifier "iVar26") (, ",") (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar36" (cast_expression "(int)pppppppcVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar37")) (- "-") (cast_expression "(int)pppppppcVar36" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar36"))) () ")")))) (; ";")) (expression_statement "pppppppcStack_f0 = pppppppcVar37;" (assignment_expression "pppppppcStack_f0 = pppppppcVar37" (identifier "pppppppcStack_f0") (= "=") (identifier "pppppppcVar37")) (; ";")) (if_statement "if (iVar21 != 0) {\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" (if "if") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" ({ "{") (expression_statement "pppppppcStack_f0 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcStack_f0 = (char *******)(iVar21 + 1)" (identifier "pppppppcStack_f0") (= "=") (cast_expression "(char *******)(iVar21 + 1)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar21 + 1)" (( "(") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if (cStack_a9 == '\0') goto LAB_00015bc8;" (if "if") (parenthesized_expression "(cStack_a9 == '\0')" (( "(") (binary_expression "cStack_a9 == '\0'" (identifier "cStack_a9") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00015bc8;" (goto "goto") (statement_identifier "LAB_00015bc8") (; ";"))) (expression_statement "pppppppcStack_d8 = pppppppcVar39;" (assignment_expression "pppppppcStack_d8 = pppppppcVar39" (identifier "pppppppcStack_d8") (= "=") (identifier "pppppppcVar39")) (; ";")) (if_statement "if (piVar27[3] != 0) goto LAB_00015714;" (if "if") (parenthesized_expression "(piVar27[3] != 0)" (( "(") (binary_expression "piVar27[3] != 0" (subscript_expression "piVar27[3]" (identifier "piVar27") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00015714;" (goto "goto") (statement_identifier "LAB_00015714") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" (else "else") (compound_statement "{\n          pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);\n          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }\n        }" ({ "{") (expression_statement "pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);" (assignment_expression "pppppppcVar39 =\n               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" (identifier "pppppppcVar39") (= "=") (cast_expression "(char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" (identifier "dfaexec") (argument_list "(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0)" (( "(") (identifier "iVar40") (, ",") (identifier "pppppppcVar36") (, ",") (identifier "pppppppcStack_f0") (, ",") (number_literal "0") (, ",") (pointer_expression "&iStack_a4" (& "&") (identifier "iStack_a4")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }" (if "if") (parenthesized_expression "((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39))" (( "(") (binary_expression "(pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)" (parenthesized_expression "(pppppppcVar39 != (char *******)0x0)" (( "(") (binary_expression "pppppppcVar39 != (char *******)0x0" (identifier "pppppppcVar39") (!= "!=") (cast_expression "(char *******)0x0" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pppppppcStack_f0 != pppppppcVar39)" (( "(") (binary_expression "pppppppcStack_f0 != pppppppcVar39" (identifier "pppppppcStack_f0") (!= "!=") (identifier "pppppppcVar39")) () ")"))) () ")")) (compound_statement "{\n            pppppppcStack_f0 = pppppppcVar36;\n            if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }\n            iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);\n            pppppppcVar36 = pppppppcStack_f0;\n            pppppppcVar39 = pppppppcStack_f0;\n            if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }\n            goto LAB_00015b08;\n          }" ({ "{") (expression_statement "pppppppcStack_f0 = pppppppcVar36;" (assignment_expression "pppppppcStack_f0 = pppppppcVar36" (identifier "pppppppcStack_f0") (= "=") (identifier "pppppppcVar36")) (; ";")) (if_statement "if (iStack_a4 != 0) {\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" (if "if") (parenthesized_expression "(iStack_a4 != 0)" (( "(") (binary_expression "iStack_a4 != 0" (identifier "iStack_a4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);\n              pppppppcStack_f0 = (char *******)(iVar21 + 1);\n            }" ({ "{") (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4)" (identifier "iVar21") (= "=") (call_expression "(**(code **)(puVar44 + 0x40ed0))\n                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4)" (parenthesized_expression "(**(code **)(puVar44 + 0x40ed0))" (( "(") (pointer_expression "**(code **)(puVar44 + 0x40ed0)" (* "*") (pointer_expression "*(code **)(puVar44 + 0x40ed0)" (* "*") (cast_expression "(code **)(puVar44 + 0x40ed0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40ed0)" (( "(") (binary_expression "puVar44 + 0x40ed0" (identifier "puVar44") (+ "+") (number_literal "0x40ed0")) () ")"))))) () ")")) (argument_list "(local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4)" (( "(") (identifier "local_res4") (, ",") (identifier "iVar26") (, ",") (binary_expression "(int)pppppppcVar39 - (int)local_res4" (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39")) (- "-") (cast_expression "(int)local_res4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_res4"))) () ")")))) (; ";")) (expression_statement "pppppppcStack_f0 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcStack_f0 = (char *******)(iVar21 + 1)" (identifier "pppppppcStack_f0") (= "=") (cast_expression "(char *******)(iVar21 + 1)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar21 + 1)" (( "(") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);" (assignment_expression "iVar21 = (**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39)" (identifier "iVar21") (= "=") (call_expression "(**(code **)(puVar44 + 0x40bc8))\n                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39)" (parenthesized_expression "(**(code **)(puVar44 + 0x40bc8))" (( "(") (pointer_expression "**(code **)(puVar44 + 0x40bc8)" (* "*") (pointer_expression "*(code **)(puVar44 + 0x40bc8)" (* "*") (cast_expression "(code **)(puVar44 + 0x40bc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40bc8)" (( "(") (binary_expression "puVar44 + 0x40bc8" (identifier "puVar44") (+ "+") (number_literal "0x40bc8")) () ")"))))) () ")")) (argument_list "(pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39)" (( "(") (identifier "pppppppcVar39") (, ",") (identifier "iVar26") (, ",") (binary_expression "(int)pppppppcVar37 - (int)pppppppcVar39" (cast_expression "(int)pppppppcVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar37")) (- "-") (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39"))) () ")")))) (; ";")) (expression_statement "pppppppcVar36 = pppppppcStack_f0;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0" (identifier "pppppppcVar36") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (expression_statement "pppppppcVar39 = pppppppcStack_f0;" (assignment_expression "pppppppcVar39 = pppppppcStack_f0" (identifier "pppppppcVar39") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (if_statement "if (iVar21 == 0) {\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }\n            else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iStack_a4 = 0;\n              pppppppcVar23 = pppppppcVar37;\n            }" ({ "{") (expression_statement "iStack_a4 = 0;" (assignment_expression "iStack_a4 = 0" (identifier "iStack_a4") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppcVar23 = pppppppcVar37;" (assignment_expression "pppppppcVar23 = pppppppcVar37" (identifier "pppppppcVar23") (= "=") (identifier "pppppppcVar37")) (; ";")) (} "}")) (else_clause "else {\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }" (else "else") (compound_statement "{\n              iStack_a4 = 0;\n              pppppppcVar23 = (char *******)(iVar21 + 1);\n            }" ({ "{") (expression_statement "iStack_a4 = 0;" (assignment_expression "iStack_a4 = 0" (identifier "iStack_a4") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppcVar23 = (char *******)(iVar21 + 1);" (assignment_expression "pppppppcVar23 = (char *******)(iVar21 + 1)" (identifier "pppppppcVar23") (= "=") (cast_expression "(char *******)(iVar21 + 1)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar21 + 1)" (( "(") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (goto_statement "goto LAB_00015b08;" (goto "goto") (statement_identifier "LAB_00015b08") (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }" (else "else") (compound_statement "{\n        puVar11 = (undefined4 *)0xffffffff;\n        if (piVar27[3] == 0) goto LAB_00015bec;\n        pppppppcStack_d8 = pppppppcVar10;\n        pppppppcVar39 = pppppppcStack_f0;\n        pppppppcStack_f0 = pppppppcVar37;\nLAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);\n        piVar38 = piVar27 + 4;\n        uStack_e8 = 0;\n        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;\n        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;\n        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);\n        uVar41 = 0;\n        pppppppcVar36 = pppppppcStack_f0;\nLAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);\n        pppppppcVar39 = pppppppcVar45;\n        uVar35 = uStack_e8;\n        if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }\n      }" ({ "{") (expression_statement "puVar11 = (undefined4 *)0xffffffff;" (assignment_expression "puVar11 = (undefined4 *)0xffffffff" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)0xffffffff" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (piVar27[3] == 0) goto LAB_00015bec;" (if "if") (parenthesized_expression "(piVar27[3] == 0)" (( "(") (binary_expression "piVar27[3] == 0" (subscript_expression "piVar27[3]" (identifier "piVar27") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00015bec;" (goto "goto") (statement_identifier "LAB_00015bec") (; ";"))) (expression_statement "pppppppcStack_d8 = pppppppcVar10;" (assignment_expression "pppppppcStack_d8 = pppppppcVar10" (identifier "pppppppcStack_d8") (= "=") (identifier "pppppppcVar10")) (; ";")) (expression_statement "pppppppcVar39 = pppppppcStack_f0;" (assignment_expression "pppppppcVar39 = pppppppcStack_f0" (identifier "pppppppcVar39") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (expression_statement "pppppppcStack_f0 = pppppppcVar37;" (assignment_expression "pppppppcStack_f0 = pppppppcVar37" (identifier "pppppppcStack_f0") (= "=") (identifier "pppppppcVar37")) (; ";")) (labeled_statement "LAB_00015714:\n        pcVar17 = *(char **)(puVar44 + 0x40c5c);" (statement_identifier "LAB_00015714") (: ":") (expression_statement "pcVar17 = *(char **)(puVar44 + 0x40c5c);" (assignment_expression "pcVar17 = *(char **)(puVar44 + 0x40c5c)" (identifier "pcVar17") (= "=") (pointer_expression "*(char **)(puVar44 + 0x40c5c)" (* "*") (cast_expression "(char **)(puVar44 + 0x40c5c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40c5c)" (( "(") (binary_expression "puVar44 + 0x40c5c" (identifier "puVar44") (+ "+") (number_literal "0x40c5c")) () ")"))))) (; ";"))) (expression_statement "piVar38 = piVar27 + 4;" (assignment_expression "piVar38 = piVar27 + 4" (identifier "piVar38") (= "=") (binary_expression "piVar27 + 4" (identifier "piVar27") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uStack_e8 = 0;" (assignment_expression "uStack_e8 = 0" (identifier "uStack_e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;" (assignment_expression "uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8" (identifier "uVar42") (= "=") (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcStack_d8" (cast_expression "(int)pppppppcStack_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f0")) (- "-") (cast_expression "(int)pppppppcStack_d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_d8")))) (; ";")) (expression_statement "iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;" (assignment_expression "iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1" (identifier "iVar21") (= "=") (binary_expression "((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1" (parenthesized_expression "((int)pppppppcStack_f0 - (int)pppppppcVar39)" (( "(") (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f0")) (- "-") (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39"))) () ")")) (- "-") (number_literal "1"))) (; ";")) (expression_statement "pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);" (assignment_expression "pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1)" (identifier "pppppppcVar23") (= "=") (cast_expression "(char *******)((int)pppppppcStack_f0 + -1)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcStack_f0 + -1)" (( "(") (binary_expression "(int)pppppppcStack_f0 + -1" (cast_expression "(int)pppppppcStack_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f0")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "uVar41 = 0;" (assignment_expression "uVar41 = 0" (identifier "uVar41") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppcVar36 = pppppppcStack_f0;" (assignment_expression "pppppppcVar36 = pppppppcStack_f0" (identifier "pppppppcVar36") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (labeled_statement "LAB_00015868:\n        do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);" (statement_identifier "LAB_00015868") (: ":") (do_statement "do {\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        } while (uVar41 < (uint)piVar27[3]);" (do "do") (compound_statement "{\n          iVar34 = uVar41 * 0x20;\n          pcVar46 = *(code **)(puVar44 + 0x40eb8);\n          iVar22 = piVar27[2] + iVar34;\n          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';\n          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);\n          if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }\n          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n          pppppppcVar45 = pppppppcVar36;\n          uVar35 = uStack_e8;\n          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }\nLAB_00015854:\n          uStack_e8 = uVar35;\n          uVar41 = uVar41 + 1;\n          pppppppcVar36 = pppppppcVar45;\n        }" ({ "{") (expression_statement "iVar34 = uVar41 * 0x20;" (assignment_expression "iVar34 = uVar41 * 0x20" (identifier "iVar34") (= "=") (binary_expression "uVar41 * 0x20" (identifier "uVar41") (* "*") (number_literal "0x20"))) (; ";")) (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40eb8);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40eb8)" (identifier "pcVar46") (= "=") (pointer_expression "*(code **)(puVar44 + 0x40eb8)" (* "*") (cast_expression "(code **)(puVar44 + 0x40eb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40eb8)" (( "(") (binary_expression "puVar44 + 0x40eb8" (identifier "puVar44") (+ "+") (number_literal "0x40eb8")) () ")"))))) (; ";")) (expression_statement "iVar22 = piVar27[2] + iVar34;" (assignment_expression "iVar22 = piVar27[2] + iVar34" (identifier "iVar22") (= "=") (binary_expression "piVar27[2] + iVar34" (subscript_expression "piVar27[2]" (identifier "piVar27") ([ "[") (number_literal "2") (] "]")) (+ "+") (identifier "iVar34"))) (; ";")) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n'" (pointer_expression "*(byte *)(iVar22 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar22 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x1c)" (( "(") (binary_expression "iVar22 + 0x1c" (identifier "iVar22") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n'" (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfc" (pointer_expression "*(byte *)(iVar22 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar22 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x1c)" (( "(") (binary_expression "iVar22 + 0x1c" (identifier "iVar22") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "0xfc")) (| "|") (binary_expression "*pcVar16 == '\n'" (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))))) (; ";")) (expression_statement "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38);" (assignment_expression "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38)" (identifier "iVar22") (= "=") (call_expression "(*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38)" (parenthesized_expression "(*pcVar46)" (( "(") (pointer_expression "*pcVar46" (* "*") (identifier "pcVar46")) () ")")) (argument_list "(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39\n                              ,uVar42 - 1,piVar38)" (( "(") (identifier "iVar22") (, ",") (identifier "pppppppcVar39") (, ",") (identifier "iVar21") (, ",") (binary_expression "(int)pppppppcStack_d8 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_d8")) (- "-") (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39"))) (, ",") (binary_expression "uVar42 - 1" (identifier "uVar42") (- "-") (number_literal "1")) (, ",") (identifier "piVar38") () ")")))) (; ";")) (if_statement "if (iVar22 < -1) {\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }" (if "if") (parenthesized_expression "(iVar22 < -1)" (( "(") (binary_expression "iVar22 < -1" (identifier "iVar22") (< "<") (number_literal "-1")) () ")")) (compound_statement "{\nLAB_00015cdc:\n                    \n            xalloc_die();\n          }" ({ "{") (labeled_statement "LAB_00015cdc:\n                    \n            xalloc_die();" (statement_identifier "LAB_00015cdc") (: ":") (expression_statement "xalloc_die();" (call_expression "xalloc_die()" (identifier "xalloc_die") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (expression_statement "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);" (assignment_expression "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22)" (identifier "pppppppcVar31") (= "=") (cast_expression "(char *******)((int)pppppppcVar39 + iVar22)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar39 + iVar22)" (( "(") (binary_expression "(int)pppppppcVar39 + iVar22" (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39")) (+ "+") (identifier "iVar22")) () ")")))) (; ";")) (expression_statement "pppppppcVar45 = pppppppcVar36;" (assignment_expression "pppppppcVar45 = pppppppcVar36" (identifier "pppppppcVar45") (= "=") (identifier "pppppppcVar36")) (; ";")) (expression_statement "uVar35 = uStack_e8;" (assignment_expression "uVar35 = uStack_e8" (identifier "uVar35") (= "=") (identifier "uStack_e8")) (; ";")) (if_statement "if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }" (if "if") (parenthesized_expression "((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7))" (( "(") (binary_expression "(iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)" (parenthesized_expression "(iVar22 != -1)" (( "(") (binary_expression "iVar22 != -1" (identifier "iVar22") (!= "!=") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)" (( "(") (comma_expression "bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7" (assignment_expression "bVar7 = pppppppcVar36 < pppppppcVar31" (identifier "bVar7") (= "=") (binary_expression "pppppppcVar36 < pppppppcVar31" (identifier "pppppppcVar36") (< "<") (identifier "pppppppcVar31"))) (, ",") (unary_expression "!bVar7" (! "!") (identifier "bVar7"))) () ")"))) () ")")) (compound_statement "{\n            uVar24 = *(int *)piVar27[6] - iVar22;\n            uVar25 = uVar42;\n            pppppppcVar32 = pppppppcStack_d8;\n            if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }\n            pppppppcVar45 = pppppppcVar31;\n            uVar35 = uVar24;\n            if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }\n          }" ({ "{") (expression_statement "uVar24 = *(int *)piVar27[6] - iVar22;" (assignment_expression "uVar24 = *(int *)piVar27[6] - iVar22" (identifier "uVar24") (= "=") (binary_expression "*(int *)piVar27[6] - iVar22" (pointer_expression "*(int *)piVar27[6]" (* "*") (cast_expression "(int *)piVar27[6]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar27[6]" (identifier "piVar27") ([ "[") (number_literal "6") (] "]")))) (- "-") (identifier "iVar22"))) (; ";")) (expression_statement "uVar25 = uVar42;" (assignment_expression "uVar25 = uVar42" (identifier "uVar25") (= "=") (identifier "uVar42")) (; ";")) (expression_statement "pppppppcVar32 = pppppppcStack_d8;" (assignment_expression "pppppppcVar32 = pppppppcStack_d8" (identifier "pppppppcVar32") (= "=") (identifier "pppppppcStack_d8")) (; ";")) (if_statement "if (pppppppcVar10 == (char *******)0x0) {\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }\n            else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" (if "if") (parenthesized_expression "(pppppppcVar10 == (char *******)0x0)" (( "(") (binary_expression "pppppppcVar10 == (char *******)0x0" (identifier "pppppppcVar10") (== "==") (cast_expression "(char *******)0x0" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }\nLAB_00015914:\n              uVar24 = uVar25;\n              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;\n              pppppppcVar31 = pppppppcVar32;\n              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;\n            }" ({ "{") (if_statement "if (*pcVar18 == '\0') {\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }\n              else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }" (if "if") (parenthesized_expression "(*pcVar18 == '\0')" (( "(") (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }\n              }" ({ "{") (if_statement "if (*pcVar17 != '\0') {\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }" (if "if") (parenthesized_expression "(*pcVar17 != '\0')" (( "(") (binary_expression "*pcVar17 != '\0'" (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);\n                  goto LAB_00015854;\n                }" ({ "{") (labeled_statement "LAB_000157a0:\n                  do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);" (statement_identifier "LAB_000157a0") (: ":") (do_statement "do {\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  } while (!bVar7);" (do "do") (compound_statement "{\n                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);\n                    if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;\n                    if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }\n                  }" ({ "{") (expression_statement "iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);" (assignment_expression "iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23)" (identifier "iVar22") (= "=") (call_expression "wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23)" (identifier "wordchar_next") (argument_list "((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23)" (( "(") (cast_expression "(char *)((int)pppppppcVar31 + uVar24)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar31 + uVar24)" (( "(") (binary_expression "(int)pppppppcVar31 + uVar24" (cast_expression "(int)pppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar31")) (+ "+") (identifier "uVar24")) () ")"))) (, ",") (identifier "pppppppcVar23") () ")")))) (; ";")) (if_statement "if ((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))\n                    goto LAB_00015914;" (if "if") (parenthesized_expression "((iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))" (( "(") (binary_expression "(iVar22 == 0) &&\n                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0)" (parenthesized_expression "(iVar22 == 0)" (( "(") (binary_expression "iVar22 == 0" (identifier "iVar22") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0)" (( "(") (comma_expression "iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),\n                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0" (assignment_expression "iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23)" (identifier "iVar22") (= "=") (call_expression "wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23)" (identifier "wordchar_prev") (argument_list "(pppppppcVar39,pppppppcVar31,pppppppcVar23)" (( "(") (identifier "pppppppcVar39") (, ",") (identifier "pppppppcVar31") (, ",") (identifier "pppppppcVar23") () ")")))) (, ",") (comma_expression "uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0" (assignment_expression "uVar25 = uVar24" (identifier "uVar25") (= "=") (identifier "uVar24")) (, ",") (comma_expression "pppppppcVar32 = pppppppcVar31, iVar22 == 0" (assignment_expression "pppppppcVar32 = pppppppcVar31" (identifier "pppppppcVar32") (= "=") (identifier "pppppppcVar31")) (, ",") (binary_expression "iVar22 == 0" (identifier "iVar22") (== "==") (number_literal "0"))))) () ")"))) () ")")) (goto_statement "goto LAB_00015914;" (goto "goto") (statement_identifier "LAB_00015914") (; ";"))) (if_statement "if (uVar24 == 0) {\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }\n                    else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }" (if "if") (parenthesized_expression "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;\n                      pcVar46 = *(code **)(puVar44 + 0x40eb8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;\n                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);\n                      if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }\n                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);\n                      bVar7 = pppppppcVar36 < pppppppcVar31;\n                      uVar24 = *(int *)piVar27[6] - iVar22;\n                    }" ({ "{") (labeled_statement "LAB_000157d8:\n                      if (pppppppcVar23 == pppppppcVar31) break;" (statement_identifier "LAB_000157d8") (: ":") (if_statement "if (pppppppcVar23 == pppppppcVar31) break;" (if "if") (parenthesized_expression "(pppppppcVar23 == pppppppcVar31)" (( "(") (binary_expression "pppppppcVar23 == pppppppcVar31" (identifier "pppppppcVar23") (== "==") (identifier "pppppppcVar31")) () ")")) (break_statement "break;" (break "break") (; ";")))) (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40eb8);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40eb8)" (identifier "pcVar46") (= "=") (pointer_expression "*(code **)(puVar44 + 0x40eb8)" (* "*") (cast_expression "(code **)(puVar44 + 0x40eb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40eb8)" (( "(") (binary_expression "puVar44 + 0x40eb8" (identifier "puVar44") (+ "+") (number_literal "0x40eb8")) () ")"))))) (; ";")) (expression_statement "iVar22 = piVar27[2] + iVar34;" (assignment_expression "iVar22 = piVar27[2] + iVar34" (identifier "iVar22") (= "=") (binary_expression "piVar27[2] + iVar34" (subscript_expression "piVar27[2]" (identifier "piVar27") ([ "[") (number_literal "2") (] "]")) (+ "+") (identifier "iVar34"))) (; ";")) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar22 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x1c)" (( "(") (binary_expression "iVar22 + 0x1c" (identifier "iVar22") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar22 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x1c)" (( "(") (binary_expression "iVar22 + 0x1c" (identifier "iVar22") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "0xfd"))) (; ";")) (expression_statement "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);" (assignment_expression "iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38)" (identifier "iVar22") (= "=") (call_expression "(*pcVar46)(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38)" (parenthesized_expression "(*pcVar46)" (( "(") (pointer_expression "*pcVar46" (* "*") (identifier "pcVar46")) () ")")) (argument_list "(iVar22,pppppppcVar39,iVar21,\n                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,\n                                          (char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38)" (( "(") (identifier "iVar22") (, ",") (identifier "pppppppcVar39") (, ",") (identifier "iVar21") (, ",") (binary_expression "((int)pppppppcVar31 + 1) - (int)pppppppcVar39" (parenthesized_expression "((int)pppppppcVar31 + 1)" (( "(") (binary_expression "(int)pppppppcVar31 + 1" (cast_expression "(int)pppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar31")) (+ "+") (number_literal "1")) () ")")) (- "-") (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39"))) (, ",") (cast_expression "(char *)((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1)))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1)))" (( "(") (binary_expression "(int)pppppppcStack_f0 +\n                                                  (-1 - (int)((int)pppppppcVar31 + 1))" (cast_expression "(int)pppppppcStack_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f0")) (+ "+") (parenthesized_expression "(-1 - (int)((int)pppppppcVar31 + 1))" (( "(") (binary_expression "-1 - (int)((int)pppppppcVar31 + 1)" (number_literal "-1") (- "-") (cast_expression "(int)((int)pppppppcVar31 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)pppppppcVar31 + 1)" (( "(") (binary_expression "(int)pppppppcVar31 + 1" (cast_expression "(int)pppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar31")) (+ "+") (number_literal "1")) () ")")))) () ")"))) () ")"))) (, ",") (identifier "piVar38") () ")")))) (; ";")) (if_statement "if (iVar22 < 0) {\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }" (if "if") (parenthesized_expression "(iVar22 < 0)" (( "(") (binary_expression "iVar22 < 0" (identifier "iVar22") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                        if (iVar22 != -1) goto LAB_00015cdc;\n                        break;\n                      }" ({ "{") (if_statement "if (iVar22 != -1) goto LAB_00015cdc;" (if "if") (parenthesized_expression "(iVar22 != -1)" (( "(") (binary_expression "iVar22 != -1" (identifier "iVar22") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_00015cdc;" (goto "goto") (statement_identifier "LAB_00015cdc") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);" (assignment_expression "pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22)" (identifier "pppppppcVar31") (= "=") (cast_expression "(char *******)((int)pppppppcVar39 + iVar22)" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar39 + iVar22)" (( "(") (binary_expression "(int)pppppppcVar39 + iVar22" (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39")) (+ "+") (identifier "iVar22")) () ")")))) (; ";")) (expression_statement "bVar7 = pppppppcVar36 < pppppppcVar31;" (assignment_expression "bVar7 = pppppppcVar36 < pppppppcVar31" (identifier "bVar7") (= "=") (binary_expression "pppppppcVar36 < pppppppcVar31" (identifier "pppppppcVar36") (< "<") (identifier "pppppppcVar31"))) (; ";")) (expression_statement "uVar24 = *(int *)piVar27[6] - iVar22;" (assignment_expression "uVar24 = *(int *)piVar27[6] - iVar22" (identifier "uVar24") (= "=") (binary_expression "*(int *)piVar27[6] - iVar22" (pointer_expression "*(int *)piVar27[6]" (* "*") (cast_expression "(int *)piVar27[6]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar27[6]" (identifier "piVar27") ([ "[") (number_literal "6") (] "]")))) (- "-") (identifier "iVar22"))) (; ";")) (} "}")) (else_clause "else {\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }" (else "else") (compound_statement "{\n                      pcVar46 = *(code **)(puVar44 + 0x40ee8);\n                      iVar22 = piVar27[2] + iVar34;\n                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;\n                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);\n                      if ((int)uVar24 < -1) goto LAB_00015cdc;\n                      if ((int)uVar24 < 1) goto LAB_000157d8;\n                    }" ({ "{") (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40ee8);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40ee8)" (identifier "pcVar46") (= "=") (pointer_expression "*(code **)(puVar44 + 0x40ee8)" (* "*") (cast_expression "(code **)(puVar44 + 0x40ee8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40ee8)" (( "(") (binary_expression "puVar44 + 0x40ee8" (identifier "puVar44") (+ "+") (number_literal "0x40ee8")) () ")"))))) (; ";")) (expression_statement "iVar22 = piVar27[2] + iVar34;" (assignment_expression "iVar22 = piVar27[2] + iVar34" (identifier "iVar22") (= "=") (binary_expression "piVar27[2] + iVar34" (subscript_expression "piVar27[2]" (identifier "piVar27") ([ "[") (number_literal "2") (] "]")) (+ "+") (identifier "iVar34"))) (; ";")) (expression_statement "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;" (assignment_expression "*(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2" (pointer_expression "*(byte *)(iVar22 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar22 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x1c)" (( "(") (binary_expression "iVar22 + 0x1c" (identifier "iVar22") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd | 2" (binary_expression "*(byte *)(iVar22 + 0x1c) & 0xfd" (pointer_expression "*(byte *)(iVar22 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar22 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x1c)" (( "(") (binary_expression "iVar22 + 0x1c" (identifier "iVar22") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "0xfd")) (| "|") (number_literal "2"))) (; ";")) (expression_statement "uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);" (assignment_expression "uVar24 = (*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38)" (identifier "uVar24") (= "=") (call_expression "(*pcVar46)(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38)" (parenthesized_expression "(*pcVar46)" (( "(") (pointer_expression "*pcVar46" (* "*") (identifier "pcVar46")) () ")")) (argument_list "(iVar22,pppppppcVar39,\n                                          (char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),\n                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38)" (( "(") (identifier "iVar22") (, ",") (identifier "pppppppcVar39") (, ",") (cast_expression "(char *)((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8))" (( "(") (binary_expression "(int)pppppppcVar31 +\n                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)" (cast_expression "(int)pppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar31")) (+ "+") (parenthesized_expression "((uVar24 - 1) - (int)pppppppcStack_d8)" (( "(") (binary_expression "(uVar24 - 1) - (int)pppppppcStack_d8" (parenthesized_expression "(uVar24 - 1)" (( "(") (binary_expression "uVar24 - 1" (identifier "uVar24") (- "-") (number_literal "1")) () ")")) (- "-") (cast_expression "(int)pppppppcStack_d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_d8"))) () ")"))) () ")"))) (, ",") (binary_expression "(int)pppppppcVar31 - (int)pppppppcVar39" (cast_expression "(int)pppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar31")) (- "-") (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39"))) (, ",") (identifier "piVar38") () ")")))) (; ";")) (if_statement "if ((int)uVar24 < -1) goto LAB_00015cdc;" (if "if") (parenthesized_expression "((int)uVar24 < -1)" (( "(") (binary_expression "(int)uVar24 < -1" (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24")) (< "<") (number_literal "-1")) () ")")) (goto_statement "goto LAB_00015cdc;" (goto "goto") (statement_identifier "LAB_00015cdc") (; ";"))) (if_statement "if ((int)uVar24 < 1) goto LAB_000157d8;" (if "if") (parenthesized_expression "((int)uVar24 < 1)" (( "(") (binary_expression "(int)uVar24 < 1" (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24")) (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_000157d8;" (goto "goto") (statement_identifier "LAB_000157d8") (; ";"))) (} "}")))) (} "}")) (while "while") (parenthesized_expression "(!bVar7)" (( "(") (unary_expression "!bVar7" (! "!") (identifier "bVar7")) () ")")) (; ";"))) (goto_statement "goto LAB_00015854;" (goto "goto") (statement_identifier "LAB_00015854") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }" (else "else") (compound_statement "{\nLAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;\n              }" ({ "{") (labeled_statement "LAB_0001597c:\n                if (uVar24 != uVar42 - 1) goto LAB_00015854;" (statement_identifier "LAB_0001597c") (: ":") (if_statement "if (uVar24 != uVar42 - 1) goto LAB_00015854;" (if "if") (parenthesized_expression "(uVar24 != uVar42 - 1)" (( "(") (binary_expression "uVar24 != uVar42 - 1" (identifier "uVar24") (!= "!=") (binary_expression "uVar42 - 1" (identifier "uVar42") (- "-") (number_literal "1"))) () ")")) (goto_statement "goto LAB_00015854;" (goto "goto") (statement_identifier "LAB_00015854") (; ";")))) (} "}")))) (labeled_statement "LAB_00015914:\n              uVar24 = uVar25;" (statement_identifier "LAB_00015914") (: ":") (expression_statement "uVar24 = uVar25;" (assignment_expression "uVar24 = uVar25" (identifier "uVar24") (= "=") (identifier "uVar25")) (; ";"))) (expression_statement "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;" (assignment_expression "uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39" (identifier "uVar35") (= "=") (binary_expression "(int)pppppppcStack_f0 - (int)pppppppcVar39" (cast_expression "(int)pppppppcStack_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f0")) (- "-") (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39")))) (; ";")) (expression_statement "pppppppcVar31 = pppppppcVar32;" (assignment_expression "pppppppcVar31 = pppppppcVar32" (identifier "pppppppcVar31") (= "=") (identifier "pppppppcVar32")) (; ";")) (if_statement "if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;" (if "if") (parenthesized_expression "(pppppppcVar10 == (char *******)0x0)" (( "(") (binary_expression "pppppppcVar10 == (char *******)0x0" (identifier "pppppppcVar10") (== "==") (cast_expression "(char *******)0x0" (( "(") (type_descriptor "char *******" (primitive_type "char") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00015bdc;" (goto "goto") (statement_identifier "LAB_00015bdc") (; ";"))) (} "}")) (else_clause "else if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" (else "else") (if_statement "if (*pcVar17 != '\0') {\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" (if "if") (parenthesized_expression "(*pcVar17 != '\0')" (( "(") (binary_expression "*pcVar17 != '\0'" (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              if (*pcVar18 == '\0') goto LAB_000157a0;\n              goto LAB_0001597c;\n            }" ({ "{") (if_statement "if (*pcVar18 == '\0') goto LAB_000157a0;" (if "if") (parenthesized_expression "(*pcVar18 == '\0')" (( "(") (binary_expression "*pcVar18 == '\0'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000157a0;" (goto "goto") (statement_identifier "LAB_000157a0") (; ";"))) (goto_statement "goto LAB_0001597c;" (goto "goto") (statement_identifier "LAB_0001597c") (; ";")) (} "}"))))) (expression_statement "pppppppcVar45 = pppppppcVar31;" (assignment_expression "pppppppcVar45 = pppppppcVar31" (identifier "pppppppcVar45") (= "=") (identifier "pppppppcVar31")) (; ";")) (expression_statement "uVar35 = uVar24;" (assignment_expression "uVar35 = uVar24" (identifier "uVar35") (= "=") (identifier "uVar24")) (; ";")) (if_statement "if ((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))\n            {\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }" (if "if") (parenthesized_expression "((pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))" (( "(") (binary_expression "(pppppppcVar36 <= pppppppcVar31) &&\n               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31)" (parenthesized_expression "(pppppppcVar36 <= pppppppcVar31)" (( "(") (binary_expression "pppppppcVar36 <= pppppppcVar31" (identifier "pppppppcVar36") (<= "<=") (identifier "pppppppcVar31")) () ")")) (&& "&&") (parenthesized_expression "(pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31)" (( "(") (comma_expression "pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31" (assignment_expression "pppppppcVar45 = pppppppcVar36" (identifier "pppppppcVar45") (= "=") (identifier "pppppppcVar36")) (, ",") (comma_expression "uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31" (assignment_expression "uVar35 = uStack_e8" (identifier "uVar35") (= "=") (identifier "uStack_e8")) (, ",") (binary_expression "pppppppcVar36 == pppppppcVar31" (identifier "pppppppcVar36") (== "==") (identifier "pppppppcVar31")))) () ")"))) () ")")) (compound_statement "{\n              uVar41 = uVar41 + 1;\n              if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }\n              if ((uint)piVar27[3] <= uVar41) break;\n              goto LAB_00015868;\n            }" ({ "{") (expression_statement "uVar41 = uVar41 + 1;" (assignment_expression "uVar41 = uVar41 + 1" (identifier "uVar41") (= "=") (binary_expression "uVar41 + 1" (identifier "uVar41") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uStack_e8 < uVar24) {\n                uStack_e8 = uVar24;\n              }" (if "if") (parenthesized_expression "(uStack_e8 < uVar24)" (( "(") (binary_expression "uStack_e8 < uVar24" (identifier "uStack_e8") (< "<") (identifier "uVar24")) () ")")) (compound_statement "{\n                uStack_e8 = uVar24;\n              }" ({ "{") (expression_statement "uStack_e8 = uVar24;" (assignment_expression "uStack_e8 = uVar24" (identifier "uStack_e8") (= "=") (identifier "uVar24")) (; ";")) (} "}"))) (if_statement "if ((uint)piVar27[3] <= uVar41) break;" (if "if") (parenthesized_expression "((uint)piVar27[3] <= uVar41)" (( "(") (binary_expression "(uint)piVar27[3] <= uVar41" (cast_expression "(uint)piVar27[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar27[3]" (identifier "piVar27") ([ "[") (number_literal "3") (] "]"))) (<= "<=") (identifier "uVar41")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto LAB_00015868;" (goto "goto") (statement_identifier "LAB_00015868") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00015854:\n          uStack_e8 = uVar35;" (statement_identifier "LAB_00015854") (: ":") (expression_statement "uStack_e8 = uVar35;" (assignment_expression "uStack_e8 = uVar35" (identifier "uStack_e8") (= "=") (identifier "uVar35")) (; ";"))) (expression_statement "uVar41 = uVar41 + 1;" (assignment_expression "uVar41 = uVar41 + 1" (identifier "uVar41") (= "=") (binary_expression "uVar41 + 1" (identifier "uVar41") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppppcVar36 = pppppppcVar45;" (assignment_expression "pppppppcVar36 = pppppppcVar45" (identifier "pppppppcVar36") (= "=") (identifier "pppppppcVar45")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar41 < (uint)piVar27[3])" (( "(") (binary_expression "uVar41 < (uint)piVar27[3]" (identifier "uVar41") (< "<") (cast_expression "(uint)piVar27[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar27[3]" (identifier "piVar27") ([ "[") (number_literal "3") (] "]")))) () ")")) (; ";"))) (expression_statement "pppppppcVar39 = pppppppcVar45;" (assignment_expression "pppppppcVar39 = pppppppcVar45" (identifier "pppppppcVar39") (= "=") (identifier "pppppppcVar45")) (; ";")) (expression_statement "uVar35 = uStack_e8;" (assignment_expression "uVar35 = uStack_e8" (identifier "uVar35") (= "=") (identifier "uStack_e8")) (; ";")) (if_statement "if (pppppppcVar39 < pppppppcStack_f0) {\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }" (if "if") (parenthesized_expression "(pppppppcVar39 < pppppppcStack_f0)" (( "(") (binary_expression "pppppppcVar39 < pppppppcStack_f0" (identifier "pppppppcVar39") (< "<") (identifier "pppppppcStack_f0")) () ")")) (compound_statement "{\nLAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);\n          *puVar30 = uVar35;\n          goto LAB_00015bec;\n        }" ({ "{") (labeled_statement "LAB_00015bdc:\n          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);" (statement_identifier "LAB_00015bdc") (: ":") (expression_statement "puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);" (assignment_expression "puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)((int)pppppppcVar39 - (int)local_res4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar39 - (int)local_res4)" (( "(") (binary_expression "(int)pppppppcVar39 - (int)local_res4" (cast_expression "(int)pppppppcVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar39")) (- "-") (cast_expression "(int)local_res4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_res4"))) () ")")))) (; ";"))) (expression_statement "*puVar30 = uVar35;" (assignment_expression "*puVar30 = uVar35" (pointer_expression "*puVar30" (* "*") (identifier "puVar30")) (= "=") (identifier "uVar35")) (; ";")) (goto_statement "goto LAB_00015bec;" (goto "goto") (statement_identifier "LAB_00015bec") (; ";")) (} "}"))) (} "}")))) (} "}")) (while "while") (parenthesized_expression "(pppppppcStack_f0 < pppppppcVar37)" (( "(") (binary_expression "pppppppcStack_f0 < pppppppcVar37" (identifier "pppppppcStack_f0") (< "<") (identifier "pppppppcVar37")) () ")")) (; ";")) (} "}"))) (expression_statement "puVar11 = (undefined4 *)0xffffffff;" (assignment_expression "puVar11 = (undefined4 *)0xffffffff" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)0xffffffff" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (labeled_statement "LAB_00015bec:\n  if (iStack_94 == *piVar20) {\n    return puVar11;\n  }" (statement_identifier "LAB_00015bec") (: ":") (if_statement "if (iStack_94 == *piVar20) {\n    return puVar11;\n  }" (if "if") (parenthesized_expression "(iStack_94 == *piVar20)" (( "(") (binary_expression "iStack_94 == *piVar20" (identifier "iStack_94") (== "==") (pointer_expression "*piVar20" (* "*") (identifier "piVar20"))) () ")")) (compound_statement "{\n    return puVar11;\n  }" ({ "{") (return_statement "return puVar11;" (return "return") (identifier "puVar11") (; ";")) (} "}")))) (expression_statement "pcVar46 = *(code **)(puVar44 + 0x40f3c);" (assignment_expression "pcVar46 = *(code **)(puVar44 + 0x40f3c)" (identifier "pcVar46") (= "=") (pointer_expression "*(code **)(puVar44 + 0x40f3c)" (* "*") (cast_expression "(code **)(puVar44 + 0x40f3c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar44 + 0x40f3c)" (( "(") (binary_expression "puVar44 + 0x40f3c" (identifier "puVar44") (+ "+") (number_literal "0x40f3c")) () ")"))))) (; ";")) (expression_statement "(*pcVar46)();" (call_expression "(*pcVar46)()" (parenthesized_expression "(*pcVar46)" (( "(") (pointer_expression "*pcVar46" (* "*") (identifier "pcVar46")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);" (assignment_expression "puVar11 = *(undefined4 **)(pcVar46 + 0x403e8)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined4 **)(pcVar46 + 0x403e8)" (* "*") (cast_expression "(undefined4 **)(pcVar46 + 0x403e8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar46 + 0x403e8)" (( "(") (binary_expression "pcVar46 + 0x403e8" (identifier "pcVar46") (+ "+") (number_literal "0x403e8")) () ")"))))) (; ";")) (expression_statement "puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);" (assignment_expression "puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044)" (subscript_expression "puVar11[0x1810]" (identifier "puVar11") ([ "[") (number_literal "0x1810") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar46 + 0x403e8) + 0x6044)" (( "(") (binary_expression "*(int *)(pcVar46 + 0x403e8) + 0x6044" (pointer_expression "*(int *)(pcVar46 + 0x403e8)" (* "*") (cast_expression "(int *)(pcVar46 + 0x403e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 0x403e8)" (( "(") (binary_expression "pcVar46 + 0x403e8" (identifier "pcVar46") (+ "+") (number_literal "0x403e8")) () ")")))) (+ "+") (number_literal "0x6044")) () ")"))))) (; ";")) (return_statement "return puVar11;" (return "return") (identifier "puVar11") (; ";")) (} "}")))

void * function_1(char *var_5,size_t var_6,type_1 var_4)

{
  char var_3;
  bool bVar2;
  type_2 *puVar3;
  type_2 *puVar4;
  type_3 extraout_var;
  type_4 *var_25;
  type_5 *var_40;
  int var_22;
  type_2 *var_28;
  type_2 *puVar9;
  char *var_9;
  int var_16;
  char *var_32;
  type_6 *var_19;
  type_7 kwset;
  int *piVar13;
  type_8 var_21;
  ptrdiff_t var_36;
  size_t var_52;
  char *var_43;
  type_9 var_51;
  type_9 uVar19;
  void *var_12;
  char *pcVar21;
  int var_48;
  type_9 *puVar23;
  char *var_49;
  char *pcVar24;
  type_5 *d;
  int var_47;
  type_9 var_10;
  char *var_42;
  char *var_31;
  char *pcVar28;
  char *pcVar29;
  type_9 var_46;
  type_9 var_11;
  type_4 *var_33;
  char *pcVar33;
  type_10 *var_56;
  type_1 local_res8;
  char *var_35;
  type_9 var_54;
  char *pcStack_d8;
  type_8 var_45;
  char *var_38;
  size_t var_44;
  type_11 kStack_a0;
  int var_55;
  type_4 *puStack_90;
  type_6 *pdStack_8c;
  type_7 pkStack_88;
  char *pcStack_84;
  size_t *psStack_80;
  int iStack_7c;
  type_9 uStack_78;
  char *pcStack_74;
  char *pcStack_70;
  type_10 *pcStack_6c;
  char *local_58;
  int local_54;
  size_t lineno;
  type_4 *var_27;
  
  puVar4 = PTR___stack_chk_guard_000564b4;
  kwset = (type_7)PTR_match_icase_00056190;
  var_27 = *(type_4 **)PTR___stack_chk_guard_000564b4;
  var_25 = (type_4 *)var_1(1,0x24);
  var_40 = var_2();
  var_3 = *(char *)kwset;
  var_25[1] = var_40;
  var_28 = PTR_eolbyte_00056138;
  local_res8 = var_4;
  if (var_3 != '\0') {
    local_res8 = var_4 | 0x400000;
  }
  pcVar28 = var_5 + var_6;
  (*(type_10 *)PTR_re_set_syntax_00056360)(local_res8);
  var_22 = 2;
  var_10 = 0;
  if (*var_28 != '\0') {
    var_22 = 0;
  }
  var_7((type_5 *)var_25[1],(type_12 *)PTR_localeinfo_00056174,local_res8,var_22);
  var_11 = var_25[3];
  bVar2 = false;
  var_28 = var_8 + 0x734;
  puVar9 = var_8 + 0x830;
  var_32 = var_5;
  do {
    var_22 = (int)pcVar28 - (int)var_32;
    var_9 = (char *)(*(type_10 *)PTR_rpl_memchr_00056120)(var_32,10,var_22);
    if (var_9 != (char *)0x0) {
      var_22 = (int)var_9 - (int)var_32;
      var_9 = var_9 + 1;
    }
    var_12 = (void *)var_25[2];
    if (var_10 <= var_11) {
      if (var_12 == (void *)0x0) {
        var_52 = 0x40;
        if (var_10 == 0) {
          var_10 = 2;
        }
        else {
          var_52 = var_10 << 5;
          if (((int)var_52 < 0) || (var_10 >> 0x1b != 0)) goto LAB_000152e8;
        }
      }
      else {
        if (0x2aaaaa9 < var_10) {
LAB_000152e8:
                    /* WARNING: Subroutine does not return */
          var_13();
        }
        var_10 = var_10 + 1 + (var_10 >> 1);
        var_52 = var_10 * 0x20;
      }
      var_12 = var_14(var_12,var_52);
      var_11 = var_25[3];
      var_25[2] = var_12;
    }
    var_3 = *(char *)kwset;
    var_33 = (type_4 *)((int)var_12 + var_11 * 0x20);
    *var_33 = 0;
    var_33[1] = 0;
    puVar3 = PTR_re_compile_pattern_00056374;
    if (var_3 == '\0') {
                    /* WARNING: Subroutine does not return */
      var_15(0x100);
    }
    var_33[4] = 0;
    var_33[5] = 0;
    var_16 = (*(type_10 *)puVar3)(var_32,var_22,var_33);
    if (var_16 != 0) {
      var_32 = var_17(var_25[3] + 1,&lineno);
      if (*var_32 == '\0') {
        (*(type_10 *)PTR_error_00056450)(0,0,puVar9,var_16);
      }
      else {
        local_58 = (char *)lineno;
        local_54 = var_16;
        (*(type_10 *)PTR_error_00056450)(0,0,var_28,var_32);
      }
      bVar2 = true;
    }
    var_11 = var_25[3] + 1;
    var_25[3] = var_11;
    var_32 = var_9;
  } while (var_9 != (char *)0x0);
  if (bVar2) {
    var_12 = (void *)(*(type_10 *)PTR_exit_00056430)(2);
    return var_12;
  }
  if ((*PTR_match_words_000561b4 != '\0') || (*PTR_match_lines_000561b8 != '\0')) {
                    /* WARNING: Subroutine does not return */
    var_15(var_6 + 0x2d);
  }
  puVar23 = (type_9 *)0x1;
  var_40 = (type_5 *)var_25[1];
  var_18(var_5,var_6,var_40,true);
  var_19 = type_6((type_5 *)var_25[1]);
  if (var_19 != (type_6 *)0x0) {
    kwset = var_20(false);
    var_21 = var_19->exact;
    *var_25 = kwset;
    var_28 = PTR_strlen_00056424;
    if (var_21 != false) {
      pcVar28 = var_19->must;
      var_25[7] = var_25[7] + 1;
      var_22 = (*(type_10 *)var_28)(pcVar28);
                    /* WARNING: Subroutine does not return */
      var_15((type_9)var_19->begline + var_22 + (type_9)var_19->endline);
    }
    pcVar28 = var_19->must;
    var_40 = (type_5 *)(*(type_10 *)PTR_strlen_00056424)(pcVar28);
    var_6 = (size_t)pcVar28;
    var_23(kwset,pcVar28,(ptrdiff_t)var_40);
    var_24((type_7)*var_25);
    var_26(var_19);
  }
  (*(type_10 *)PTR_free_000564c0)(0);
  if (var_27 == *(type_4 **)puVar4) {
    return var_25;
  }
  var_56 = EGexecute;
  var_33 = var_27;
  var_28 = PTR___stack_chk_fail_00056494;
  (*(type_10 *)PTR___stack_chk_fail_00056494)();
  var_32 = local_58;
  piVar13 = *(int **)(var_28 + 0x40f5c);
  var_31 = (char *)(var_6 + (int)var_40);
  pcVar29 = *(char **)(var_28 + 0x40be0);
  d = (type_5 *)var_33[1];
  var_55 = *piVar13;
  puStack_90 = var_25;
  pdStack_8c = var_19;
  pkStack_88 = kwset;
  pcStack_84 = pcVar28;
  psStack_80 = &lineno;
  iStack_7c = var_22;
  uStack_78 = var_11;
  pcStack_74 = var_9;
  pcStack_70 = var_9;
  pcStack_6c = var_56;
  var_40 = var_29(d);
  var_22 = (int)*pcVar29;
  var_21 = var_30(d);
  var_38 = (char *)var_6;
  if (var_6 < var_31) {
    pcVar28 = *(char **)(var_28 + 0x40c60);
    var_35 = (char *)var_6;
    do {
      if (var_32 == (char *)0x0) {
        var_44 = 0;
        var_45 = false;
        var_42 = var_35;
        var_43 = var_31;
        if ((type_7)*var_33 != (type_7)0x0) {
          var_36 = var_34((type_7)*var_33,var_35 + -(type_9)*(type_13 *)(var_33 + 8),
                           (type_9)*(type_13 *)(var_33 + 8) + ((int)var_31 - (int)var_35),&kStack_a0,
                           true);
          if (-1 < var_36) {
            var_42 = var_35 + var_36;
            var_16 = (**(type_10 **)(var_28 + 0x40ed0))(var_6,var_22,(int)var_42 - var_6);
            var_9 = (char *)var_6;
            if (var_16 != 0) {
              var_9 = (char *)(var_16 + 1);
            }
            if ((int)var_33[7] <= kStack_a0.index) {
              var_16 = (int)var_42 - (int)var_9;
              if (var_37(extraout_var,var_21) == 0) {
LAB_000156c0:
                var_48 = (int)var_31 - (int)var_42;
              }
              else {
                if (var_16 < 0x10) {
                  var_16 = 0x10;
                }
                if (var_16 < var_36 >> 2) goto LAB_000156c0;
                var_48 = 0;
                var_42 = var_31;
                if (var_16 < (int)var_31 - (int)var_35 >> 2) {
                  var_42 = var_35 + var_16 * 4;
                  goto LAB_000156c0;
                }
              }
              var_16 = (**(type_10 **)(var_28 + 0x40bc8))(var_42,var_22,var_48);
              var_42 = var_9;
              if (var_16 != 0) {
                var_43 = (char *)(var_16 + 1);
              }
              goto joined_r0x00015ca0;
            }
            var_16 = (**(type_10 **)(var_28 + 0x40bc8))(var_42,var_22,(int)var_31 - (int)var_42);
            var_35 = var_31;
            if (var_16 != 0) {
              var_35 = (char *)(var_16 + 1);
            }
            if ((**(char **)(var_28 + 0x40c1c) == '\x01') &&
               ((*(char **)(var_28 + 0x40c1c))[1] == '\0')) {
              if (var_38 < var_9) {
                var_38 = var_9;
              }
              var_36 = var_39(&var_38,var_42,var_31);
              var_43 = var_35;
              var_42 = var_38;
              if (var_36 == 0) goto LAB_00015bc8;
              goto LAB_00015b08;
            }
LAB_00015bc8:
            var_10 = (int)var_35 - (int)var_9;
            goto LAB_00015bdc;
          }
          break;
        }
joined_r0x00015ca0:
        var_35 = var_43;
        var_43 = var_35;
        var_9 = var_42;
        if (var_40 == (type_5 *)0x0) {
LAB_00015b08:
          var_42 = var_41((type_5 *)var_33[1],var_42,var_43,false,&var_44,&var_45);
          var_35 = var_43;
          if ((var_42 != (char *)0x0) && (var_35 = var_42, var_43 != var_42)) {
            if (var_44 != 0) {
              var_16 = (**(type_10 **)(var_28 + 0x40ed0))(var_6,var_22,(int)var_42 - var_6);
              var_9 = (char *)(var_16 + 1);
            }
            var_16 = (**(type_10 **)(var_28 + 0x40bc8))(var_42,var_22,(int)var_31 - (int)var_42);
            var_35 = var_31;
            if (var_16 != 0) {
              var_35 = (char *)(var_16 + 1);
            }
            if (var_45 == false) goto LAB_00015bc8;
            pcStack_d8 = var_9;
            if (var_33[3] != 0) goto LAB_00015714;
          }
        }
        else {
          var_9 = var_41(var_40,var_42,var_35,false,&var_44,(type_8 *)0x0);
          if ((var_9 != (char *)0x0) && (var_35 != var_9)) {
            var_35 = var_42;
            if (var_44 != 0) {
              var_16 = (**(type_10 **)(var_28 + 0x40ed0))(var_6,var_22,(int)var_9 - var_6);
              var_35 = (char *)(var_16 + 1);
            }
            var_16 = (**(type_10 **)(var_28 + 0x40bc8))(var_9,var_22,(int)var_31 - (int)var_9);
            var_42 = var_35;
            var_9 = var_35;
            if (var_16 == 0) {
              var_44 = 0;
              var_43 = var_31;
            }
            else {
              var_44 = 0;
              var_43 = (char *)(var_16 + 1);
            }
            goto LAB_00015b08;
          }
        }
      }
      else {
        var_9 = (char *)0xffffffff;
        if (var_33[3] == 0) goto LAB_00015bec;
        pcStack_d8 = var_32;
        var_9 = var_35;
        var_35 = var_31;
LAB_00015714:
        pcVar21 = *(char **)(var_28 + 0x40c5c);
        var_25 = var_33 + 4;
        var_54 = 0;
        var_11 = (int)var_35 - (int)pcStack_d8;
        var_16 = ((int)var_35 - (int)var_9) - 1;
        var_43 = var_35 + -1;
        var_46 = 0;
        var_42 = var_35;
LAB_00015868:
        do {
          var_47 = var_46 * 0x20;
          var_56 = *(type_10 **)(var_28 + 0x40eb8);
          var_48 = var_33[2] + var_47;
          *(type_13 *)(var_48 + 0x1c) = *(type_13 *)(var_48 + 0x1c) & 0xfc | *pcVar29 == '\n';
          var_48 = (*var_56)(var_48,var_9,var_16,(int)pcStack_d8 - (int)var_9,var_11 - 1,var_25
                             );
          if (var_48 < -1) {
LAB_00015cdc:
                    /* WARNING: Subroutine does not return */
            var_13();
          }
          var_49 = var_9 + var_48;
          pcVar33 = var_42;
          var_10 = var_54;
          if ((var_48 != -1) && (bVar2 = var_42 < var_49, !bVar2)) {
            var_51 = *(int *)var_33[6] - var_48;
            uVar19 = var_11;
            pcVar24 = pcStack_d8;
            if (var_32 == (char *)0x0) {
              if (*pcVar28 == '\0') {
                if (*pcVar21 != '\0') {
LAB_000157a0:
                  do {
                    var_52 = var_50(var_49 + var_51,var_43);
                    if ((var_52 == 0) &&
                       (var_52 = var_53(var_9,var_49,var_43), uVar19 = var_51, pcVar24 = var_49,
                       var_52 == 0)) goto LAB_00015914;
                    if (var_51 == 0) {
LAB_000157d8:
                      if (var_43 == var_49) break;
                      var_56 = *(type_10 **)(var_28 + 0x40eb8);
                      var_48 = var_33[2] + var_47;
                      *(type_13 *)(var_48 + 0x1c) = *(type_13 *)(var_48 + 0x1c) & 0xfd;
                      var_48 = (*var_56)(var_48,var_9,var_16,(int)(var_49 + 1) - (int)var_9,
                                          var_35 + (-1 - (int)(var_49 + 1)),var_25);
                      if (var_48 < 0) {
                        if (var_48 != -1) goto LAB_00015cdc;
                        break;
                      }
                      var_49 = var_9 + var_48;
                      bVar2 = var_42 < var_49;
                      var_51 = *(int *)var_33[6] - var_48;
                    }
                    else {
                      var_56 = *(type_10 **)(var_28 + 0x40ee8);
                      var_48 = var_33[2] + var_47;
                      *(type_13 *)(var_48 + 0x1c) = *(type_13 *)(var_48 + 0x1c) & 0xfd | 2;
                      var_51 = (*var_56)(var_48,var_9,var_49 + ((var_51 - 1) - (int)pcStack_d8),
                                          (int)var_49 - (int)var_9,var_25);
                      if ((int)var_51 < -1) goto LAB_00015cdc;
                      if ((int)var_51 < 1) goto LAB_000157d8;
                    }
                  } while (!bVar2);
                  goto LAB_00015854;
                }
              }
              else {
LAB_0001597c:
                if (var_51 != var_11 - 1) goto LAB_00015854;
              }
LAB_00015914:
              var_51 = uVar19;
              var_10 = (int)var_35 - (int)var_9;
              var_49 = pcVar24;
              if (var_32 == (char *)0x0) goto LAB_00015bdc;
            }
            else if (*pcVar21 != '\0') {
              if (*pcVar28 == '\0') goto LAB_000157a0;
              goto LAB_0001597c;
            }
            pcVar33 = var_49;
            var_10 = var_51;
            if ((var_42 <= var_49) && (pcVar33 = var_42, var_10 = var_54, var_42 == var_49)) {
              var_46 = var_46 + 1;
              if (var_54 < var_51) {
                var_54 = var_51;
              }
              if ((type_9)var_33[3] <= var_46) break;
              goto LAB_00015868;
            }
          }
LAB_00015854:
          var_54 = var_10;
          var_46 = var_46 + 1;
          var_42 = pcVar33;
        } while (var_46 < (type_9)var_33[3]);
        var_9 = pcVar33;
        var_10 = var_54;
        if (var_9 < var_35) {
LAB_00015bdc:
          var_9 = var_9 + -var_6;
          *puVar23 = var_10;
          goto LAB_00015bec;
        }
      }
    } while (var_35 < var_31);
  }
  var_9 = (char *)0xffffffff;
LAB_00015bec:
  if (var_55 == *piVar13) {
    return var_9;
  }
  var_56 = *(type_10 **)(var_28 + 0x40f3c);
  (*var_56)();
  var_12 = *(void **)(var_56 + 0x403e8);
  *(type_4 *)((int)var_12 + 0x6040) = *(type_4 *)(*(int *)(var_56 + 0x403e8) + 0x6044);
  return var_12;
}


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

/* WARNING: Type propagation algorithm not settling */

undefined4 * MASKED(undefined4 *param_1,char *******param_2,uint param_3)

{
  char cVar1;
  undefined1 uVar2;
  undefined1 uVar3;
  byte bVar4;
  byte bVar5;
  undefined1 uVar6;
  bool bVar7;
  undefined *puVar8;
  undefined *puVar9;
  char *******pppppppcVar10;
  undefined4 *puVar11;
  undefined4 uVar12;
  undefined *puVar13;
  undefined *puVar14;
  undefined4 *puVar15;
  char *pcVar16;
  char *pcVar17;
  char *pcVar18;
  undefined4 *puVar19;
  int *piVar20;
  int iVar21;
  int iVar22;
  char *******pppppppcVar23;
  uint uVar24;
  uint uVar25;
  int iVar26;
  int *piVar27;
  undefined4 uVar28;
  undefined4 uVar29;
  uint *puVar30;
  char *******pppppppcVar31;
  char *******pppppppcVar32;
  int iVar33;
  int iVar34;
  uint uVar35;
  char *******pppppppcVar36;
  char *******pppppppcVar37;
  int *piVar38;
  char *******pppppppcVar39;
  int iVar40;
  uint uVar41;
  uint uVar42;
  undefined4 *puVar43;
  undefined *puVar44;
  char *******pppppppcVar45;
  code *pcVar46;
  char *******local_res4;
  uint local_res8;
  char *******pppppppcStack_f0;
  uint uStack_e8;
  char *******pppppppcStack_d8;
  char cStack_a9;
  char *******pppppppcStack_a8;
  int iStack_a4;
  int aiStack_a0 [3];
  int iStack_94;
  undefined4 *puStack_90;
  char *pcStack_8c;
  char *pcStack_88;
  char *******pppppppcStack_84;
  char *******pppppppcStack_80;
  int iStack_7c;
  uint uStack_78;
  undefined4 *puStack_74;
  undefined4 *puStack_70;
  code *pcStack_6c;
  char *******local_58;
  int local_54;
  undefined4 *local_44;
  char *******local_30;
  int *local_2c;
  
  puVar9 = PTR___stack_chk_guard_000564b4;
  pcVar18 = PTR_match_icase_00056190;
  local_2c = *(int **)PTR___stack_chk_guard_000564b4;
  puVar11 = (undefined4 *)xcalloc(1,0x24);
  uVar12 = dfaalloc();
  cVar1 = *pcVar18;
  puVar11[1] = uVar12;
  puVar44 = PTR_eolbyte_00056138;
  local_res8 = param_3;
  if (cVar1 != '\0') {
    local_res8 = param_3 | 0x400000;
  }
  pppppppcVar36 = (char *******)&local_30;
  pppppppcVar39 = (char *******)((int)param_1 + (int)param_2);
  (*(code *)PTR_re_set_syntax_00056360)(local_res8);
  uVar12 = 2;
  uVar35 = 0;
  if (*puVar44 != '\0') {
    uVar12 = 0;
  }
  dfasyntax(puVar11[1],PTR_localeinfo_00056174,local_res8,uVar12);
  uVar42 = puVar11[3];
  bVar7 = false;
  puVar13 = PTR_wcrtomb_00056118 + 0x734;
  puVar14 = PTR_wcrtomb_00056118 + 0x830;
  puVar19 = param_1;
  do {
    iVar40 = (int)pppppppcVar39 - (int)puVar19;
    puVar15 = (undefined4 *)(*(code *)PTR_rpl_memchr_00056120)(puVar19,10,iVar40);
    if (puVar15 != (undefined4 *)0x0) {
      iVar40 = (int)puVar15 - (int)puVar19;
      puVar15 = (undefined4 *)((int)puVar15 + 1);
    }
    iVar26 = puVar11[2];
    if (uVar35 <= uVar42) {
      if (iVar26 == 0) {
        iVar33 = 0x40;
        if (uVar35 == 0) {
          uVar35 = 2;
        }
        else {
          iVar33 = uVar35 << 5;
          if ((iVar33 < 0) || (uVar35 >> 0x1b != 0)) goto LAB_000152e8;
        }
      }
      else {
        if (0x2aaaaa9 < uVar35) {
LAB_000152e8:
                    /* WARNING: Subroutine does not return */
          xalloc_die();
        }
        uVar35 = uVar35 + 1 + (uVar35 >> 1);
        iVar33 = uVar35 * 0x20;
      }
      iVar26 = xrealloc(iVar26,iVar33);
      uVar42 = puVar11[3];
      puVar11[2] = iVar26;
    }
    cVar1 = *pcVar18;
    puVar43 = (undefined4 *)(iVar26 + uVar42 * 0x20);
    *puVar43 = 0;
    puVar43[1] = 0;
    if (cVar1 == '\0') {
      uVar12 = xmalloc(0x100);
    }
    else {
      uVar12 = 0;
    }
    puVar8 = PTR_re_compile_pattern_00056374;
    puVar43[4] = uVar12;
    puVar43[5] = 0;
    iVar26 = (*(code *)puVar8)(puVar19,iVar40,puVar43);
    if (iVar26 != 0) {
      pcVar16 = (char *)pattern_file_name(puVar11[3] + 1,pppppppcVar36);
      if (*pcVar16 == '\0') {
        (*(code *)PTR_error_00056450)(0,0,puVar14,iVar26);
      }
      else {
        local_58 = local_30;
        local_54 = iVar26;
        (*(code *)PTR_error_00056450)(0,0,puVar13,pcVar16);
      }
      bVar7 = true;
    }
    uVar42 = puVar11[3] + 1;
    puVar11[3] = uVar42;
    puVar8 = PTR_match_lines_000561b8;
    puVar19 = puVar15;
  } while (puVar15 != (undefined4 *)0x0);
  if (bVar7) {
    puVar11 = (undefined4 *)(*(code *)PTR_exit_00056430)(2);
    return puVar11;
  }
  if ((*PTR_match_words_000561b4 != '\0') ||
     (puVar19 = (undefined4 *)0x0, local_res4 = param_2, local_44 = param_1,
     *PTR_match_lines_000561b8 != '\0')) {
    uVar42 = local_res8 & 0x2000;
    puVar19 = (undefined4 *)xmalloc((char *)((int)param_2 + 0x2d));
    puVar14 = PTR_strlen_00056424;
    puVar13 = PTR_wcrtomb_00056118;
    if (*puVar8 == '\0') {
      if (uVar42 == 0) {
        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x78c);
        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x790);
        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x794);
        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x788);
        puVar19[1] = uVar29;
        puVar19[2] = uVar28;
        puVar19[3] = uVar12;
        uVar2 = puVar13[0x79c];
        puVar19[4] = *(undefined4 *)(puVar13 + 0x798);
        *(undefined1 *)(puVar19 + 5) = uVar2;
        uVar2 = puVar13[0x79e];
        *(undefined *)((int)puVar19 + 0x15) = puVar13[0x79d];
        *(undefined1 *)((int)puVar19 + 0x16) = uVar2;
        iVar26 = (*(code *)puVar14)(puVar19);
        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);
        pppppppcVar36 = (char *******)((int)param_2 + iVar26);
        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);
        puVar13 = PTR_wcrtomb_00056118 + 0x754;
      }
      else {
        uVar29 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x778);
        uVar28 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x77c);
        uVar12 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x780);
        uVar2 = PTR_wcrtomb_00056118[0x784];
        uVar3 = PTR_wcrtomb_00056118[0x785];
        uVar6 = PTR_wcrtomb_00056118[0x786];
        *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x774);
        puVar19[1] = uVar29;
        puVar19[2] = uVar28;
        puVar19[3] = uVar12;
        *(undefined1 *)(puVar19 + 4) = uVar2;
        *(undefined1 *)((int)puVar19 + 0x11) = uVar3;
        *(undefined1 *)((int)puVar19 + 0x12) = uVar6;
        iVar26 = (*(code *)puVar14)(puVar19);
        (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);
        pppppppcVar36 = (char *******)((int)param_2 + iVar26);
        pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);
        puVar13 = PTR_wcrtomb_00056118 + 0x740;
      }
    }
    else if (uVar42 == 0) {
      *puVar19 = *(undefined4 *)(PTR_wcrtomb_00056118 + 0x7a4);
      iVar26 = (*(code *)puVar14)(puVar19);
      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);
      pppppppcVar36 = (char *******)((int)param_2 + iVar26);
      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);
      puVar13 = PTR_wcrtomb_00056118 + 0x770;
    }
    else {
      uVar2 = PTR_wcrtomb_00056118[0x7a1];
      uVar3 = PTR_wcrtomb_00056118[0x7a2];
      *(undefined *)puVar19 = PTR_wcrtomb_00056118[0x7a0];
      *(undefined1 *)((int)puVar19 + 1) = uVar2;
      *(undefined1 *)((int)puVar19 + 2) = uVar3;
      iVar26 = (*(code *)puVar14)(puVar19);
      (*(code *)PTR_memcpy_000564b8)((undefined1 *)((int)puVar19 + iVar26),param_1,param_2);
      pppppppcVar36 = (char *******)((int)param_2 + iVar26);
      pcVar16 = (char *)((int)puVar19 + (int)pppppppcVar36);
      puVar13 = PTR_wcrtomb_00056118 + 0x76c;
    }
    iVar26 = (*(code *)PTR_stpcpy_00056498)(pcVar16,puVar13);
    local_res4 = (char *******)((int)pppppppcVar36 + (iVar26 - (int)pcVar16));
    local_44 = puVar19;
  }
  puVar30 = (uint *)0x1;
  pcVar16 = (char *)puVar11[1];
  dfacomp(local_44);
  pcVar17 = (char *)dfamust(puVar11[1]);
  if (pcVar17 != (char *)0x0) {
    pcVar18 = (char *)kwsinit(0);
    cVar1 = *pcVar17;
    *puVar11 = pcVar18;
    puVar13 = PTR_strlen_00056424;
    if (cVar1 == '\0') {
      pppppppcVar39 = *(char ********)(pcVar17 + 4);
      pcVar16 = (char *)(*(code *)PTR_strlen_00056424)(pppppppcVar39);
      local_res4 = pppppppcVar39;
      kwsincr(pcVar18);
    }
    else {
      uVar12 = *(undefined4 *)(pcVar17 + 4);
      puVar11[7] = puVar11[7] + 1;
      pppppppcVar39 = (char *******)(*(code *)puVar13)(uVar12);
      pcVar18 = (char *)((int)pppppppcVar39 + (uint)(byte)pcVar17[2] + (uint)(byte)pcVar17[1]);
      pppppppcVar36 = (char *******)xmalloc(pcVar18);
      puVar13 = PTR_memcpy_000564b8;
      bVar4 = *(byte *)(puVar11 + 8);
      cVar1 = *puVar44;
      iVar40 = (int)cVar1;
      *(char *)pppppppcVar36 = cVar1;
      bVar5 = pcVar17[1];
      uVar12 = *(undefined4 *)(pcVar17 + 4);
      *(byte *)(puVar11 + 8) = bVar5 | bVar4;
      iVar26 = (*(code *)puVar13)((char *)((int)pppppppcVar36 + (uint)bVar5),uVar12,pppppppcVar39);
      if (pcVar17[2] != '\0') {
        pppppppcVar39 = (char *******)((int)pppppppcVar39 + iVar26);
        *(char *)pppppppcVar39 = cVar1;
      }
      local_res4 = pppppppcVar36;
      pcVar16 = pcVar18;
      kwsincr(*puVar11);
      (*(code *)PTR_free_000564c0)(pppppppcVar36);
    }
    kwsprep(*puVar11);
    dfamustfree(pcVar17);
  }
  (*(code *)PTR_free_000564c0)(puVar19);
  if (local_2c == *(int **)puVar9) {
    return puVar11;
  }
  pcVar46 = EGexecute;
  piVar27 = local_2c;
  puVar44 = PTR___stack_chk_fail_00056494;
  (*(code *)PTR___stack_chk_fail_00056494)();
  pppppppcVar10 = local_58;
  piVar20 = *(int **)(puVar44 + 0x40f5c);
  pppppppcVar37 = (char *******)((int)local_res4 + (int)pcVar16);
  pcVar16 = *(char **)(puVar44 + 0x40be0);
  iVar33 = piVar27[1];
  iStack_94 = *piVar20;
  puStack_90 = puVar11;
  pcStack_8c = pcVar17;
  pcStack_88 = pcVar18;
  pppppppcStack_84 = pppppppcVar39;
  pppppppcStack_80 = pppppppcVar36;
  iStack_7c = iVar40;
  uStack_78 = uVar42;
  puStack_74 = puVar19;
  puStack_70 = puVar15;
  pcStack_6c = pcVar46;
  iVar40 = dfasuperset(iVar33);
  iVar26 = (int)*pcVar16;
  iVar33 = dfaisfast(iVar33);
  pppppppcStack_a8 = local_res4;
  if (local_res4 < pppppppcVar37) {
    pcVar18 = *(char **)(puVar44 + 0x40c60);
    pppppppcStack_f0 = local_res4;
    do {
      if (pppppppcVar10 == (char *******)0x0) {
        iStack_a4 = 0;
        cStack_a9 = '\0';
        pppppppcVar36 = pppppppcStack_f0;
        pppppppcVar23 = pppppppcVar37;
        if (*piVar27 != 0) {
          iVar21 = kwsexec(*piVar27,(int)pppppppcStack_f0 - (uint)*(byte *)(piVar27 + 8),
                           (uint)*(byte *)(piVar27 + 8) +
                           ((int)pppppppcVar37 - (int)pppppppcStack_f0),aiStack_a0,1);
          if (-1 < iVar21) {
            pppppppcVar36 = (char *******)((int)pppppppcStack_f0 + iVar21);
            iVar22 = (**(code **)(puVar44 + 0x40ed0))
                               (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);
            pppppppcVar39 = local_res4;
            if (iVar22 != 0) {
              pppppppcVar39 = (char *******)(iVar22 + 1);
            }
            if (piVar27[7] <= aiStack_a0[0]) {
              iVar22 = (int)pppppppcVar36 - (int)pppppppcVar39;
              if (iVar33 == 0) {
LAB_000156c0:
                iVar21 = (int)pppppppcVar37 - (int)pppppppcVar36;
              }
              else {
                if (iVar22 < 0x10) {
                  iVar22 = 0x10;
                }
                if (iVar22 < iVar21 >> 2) goto LAB_000156c0;
                iVar21 = 0;
                pppppppcVar36 = pppppppcVar37;
                if (iVar22 < (int)pppppppcVar37 - (int)pppppppcStack_f0 >> 2) {
                  pppppppcVar36 = pppppppcStack_f0 + iVar22;
                  goto LAB_000156c0;
                }
              }
              iVar21 = (**(code **)(puVar44 + 0x40bc8))(pppppppcVar36,iVar26,iVar21);
              pppppppcVar36 = pppppppcVar39;
              if (iVar21 != 0) {
                pppppppcVar23 = (char *******)(iVar21 + 1);
              }
              goto joined_r0x00015ca0;
            }
            iVar21 = (**(code **)(puVar44 + 0x40bc8))
                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);
            pppppppcStack_f0 = pppppppcVar37;
            if (iVar21 != 0) {
              pppppppcStack_f0 = (char *******)(iVar21 + 1);
            }
            if ((**(char **)(puVar44 + 0x40c1c) == '\x01') &&
               ((*(char **)(puVar44 + 0x40c1c))[1] == '\0')) {
              if (pppppppcStack_a8 < pppppppcVar39) {
                pppppppcStack_a8 = pppppppcVar39;
              }
              iVar21 = mb_goback(&pppppppcStack_a8,pppppppcVar36,pppppppcVar37);
              pppppppcVar23 = pppppppcStack_f0;
              pppppppcVar36 = pppppppcStack_a8;
              if (iVar21 == 0) goto LAB_00015bc8;
              goto LAB_00015b08;
            }
LAB_00015bc8:
            uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;
            goto LAB_00015bdc;
          }
          break;
        }
joined_r0x00015ca0:
        pppppppcStack_f0 = pppppppcVar23;
        pppppppcVar23 = pppppppcStack_f0;
        pppppppcVar39 = pppppppcVar36;
        if (iVar40 == 0) {
LAB_00015b08:
          pppppppcVar36 =
               (char *******)dfaexec(piVar27[1],pppppppcVar36,pppppppcVar23,0,&iStack_a4,&cStack_a9)
          ;
          pppppppcStack_f0 = pppppppcVar23;
          if ((pppppppcVar36 != (char *******)0x0) &&
             (pppppppcStack_f0 = pppppppcVar36, pppppppcVar23 != pppppppcVar36)) {
            if (iStack_a4 != 0) {
              iVar21 = (**(code **)(puVar44 + 0x40ed0))
                                 (local_res4,iVar26,(int)pppppppcVar36 - (int)local_res4);
              pppppppcVar39 = (char *******)(iVar21 + 1);
            }
            iVar21 = (**(code **)(puVar44 + 0x40bc8))
                               (pppppppcVar36,iVar26,(int)pppppppcVar37 - (int)pppppppcVar36);
            pppppppcStack_f0 = pppppppcVar37;
            if (iVar21 != 0) {
              pppppppcStack_f0 = (char *******)(iVar21 + 1);
            }
            if (cStack_a9 == '\0') goto LAB_00015bc8;
            pppppppcStack_d8 = pppppppcVar39;
            if (piVar27[3] != 0) goto LAB_00015714;
          }
        }
        else {
          pppppppcVar39 =
               (char *******)dfaexec(iVar40,pppppppcVar36,pppppppcStack_f0,0,&iStack_a4,0);
          if ((pppppppcVar39 != (char *******)0x0) && (pppppppcStack_f0 != pppppppcVar39)) {
            pppppppcStack_f0 = pppppppcVar36;
            if (iStack_a4 != 0) {
              iVar21 = (**(code **)(puVar44 + 0x40ed0))
                                 (local_res4,iVar26,(int)pppppppcVar39 - (int)local_res4);
              pppppppcStack_f0 = (char *******)(iVar21 + 1);
            }
            iVar21 = (**(code **)(puVar44 + 0x40bc8))
                               (pppppppcVar39,iVar26,(int)pppppppcVar37 - (int)pppppppcVar39);
            pppppppcVar36 = pppppppcStack_f0;
            pppppppcVar39 = pppppppcStack_f0;
            if (iVar21 == 0) {
              iStack_a4 = 0;
              pppppppcVar23 = pppppppcVar37;
            }
            else {
              iStack_a4 = 0;
              pppppppcVar23 = (char *******)(iVar21 + 1);
            }
            goto LAB_00015b08;
          }
        }
      }
      else {
        puVar11 = (undefined4 *)0xffffffff;
        if (piVar27[3] == 0) goto LAB_00015bec;
        pppppppcStack_d8 = pppppppcVar10;
        pppppppcVar39 = pppppppcStack_f0;
        pppppppcStack_f0 = pppppppcVar37;
LAB_00015714:
        pcVar17 = *(char **)(puVar44 + 0x40c5c);
        piVar38 = piVar27 + 4;
        uStack_e8 = 0;
        uVar42 = (int)pppppppcStack_f0 - (int)pppppppcStack_d8;
        iVar21 = ((int)pppppppcStack_f0 - (int)pppppppcVar39) - 1;
        pppppppcVar23 = (char *******)((int)pppppppcStack_f0 + -1);
        uVar41 = 0;
        pppppppcVar36 = pppppppcStack_f0;
LAB_00015868:
        do {
          iVar34 = uVar41 * 0x20;
          pcVar46 = *(code **)(puVar44 + 0x40eb8);
          iVar22 = piVar27[2] + iVar34;
          *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfc | *pcVar16 == '\n';
          iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,(int)pppppppcStack_d8 - (int)pppppppcVar39
                              ,uVar42 - 1,piVar38);
          if (iVar22 < -1) {
LAB_00015cdc:
                    /* WARNING: Subroutine does not return */
            xalloc_die();
          }
          pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);
          pppppppcVar45 = pppppppcVar36;
          uVar35 = uStack_e8;
          if ((iVar22 != -1) && (bVar7 = pppppppcVar36 < pppppppcVar31, !bVar7)) {
            uVar24 = *(int *)piVar27[6] - iVar22;
            uVar25 = uVar42;
            pppppppcVar32 = pppppppcStack_d8;
            if (pppppppcVar10 == (char *******)0x0) {
              if (*pcVar18 == '\0') {
                if (*pcVar17 != '\0') {
LAB_000157a0:
                  do {
                    iVar22 = wordchar_next((char *)((int)pppppppcVar31 + uVar24),pppppppcVar23);
                    if ((iVar22 == 0) &&
                       (iVar22 = wordchar_prev(pppppppcVar39,pppppppcVar31,pppppppcVar23),
                       uVar25 = uVar24, pppppppcVar32 = pppppppcVar31, iVar22 == 0))
                    goto LAB_00015914;
                    if (uVar24 == 0) {
LAB_000157d8:
                      if (pppppppcVar23 == pppppppcVar31) break;
                      pcVar46 = *(code **)(puVar44 + 0x40eb8);
                      iVar22 = piVar27[2] + iVar34;
                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd;
                      iVar22 = (*pcVar46)(iVar22,pppppppcVar39,iVar21,
                                          ((int)pppppppcVar31 + 1) - (int)pppppppcVar39,
                                          (char *)((int)pppppppcStack_f0 +
                                                  (-1 - (int)((int)pppppppcVar31 + 1))),piVar38);
                      if (iVar22 < 0) {
                        if (iVar22 != -1) goto LAB_00015cdc;
                        break;
                      }
                      pppppppcVar31 = (char *******)((int)pppppppcVar39 + iVar22);
                      bVar7 = pppppppcVar36 < pppppppcVar31;
                      uVar24 = *(int *)piVar27[6] - iVar22;
                    }
                    else {
                      pcVar46 = *(code **)(puVar44 + 0x40ee8);
                      iVar22 = piVar27[2] + iVar34;
                      *(byte *)(iVar22 + 0x1c) = *(byte *)(iVar22 + 0x1c) & 0xfd | 2;
                      uVar24 = (*pcVar46)(iVar22,pppppppcVar39,
                                          (char *)((int)pppppppcVar31 +
                                                  ((uVar24 - 1) - (int)pppppppcStack_d8)),
                                          (int)pppppppcVar31 - (int)pppppppcVar39,piVar38);
                      if ((int)uVar24 < -1) goto LAB_00015cdc;
                      if ((int)uVar24 < 1) goto LAB_000157d8;
                    }
                  } while (!bVar7);
                  goto LAB_00015854;
                }
              }
              else {
LAB_0001597c:
                if (uVar24 != uVar42 - 1) goto LAB_00015854;
              }
LAB_00015914:
              uVar24 = uVar25;
              uVar35 = (int)pppppppcStack_f0 - (int)pppppppcVar39;
              pppppppcVar31 = pppppppcVar32;
              if (pppppppcVar10 == (char *******)0x0) goto LAB_00015bdc;
            }
            else if (*pcVar17 != '\0') {
              if (*pcVar18 == '\0') goto LAB_000157a0;
              goto LAB_0001597c;
            }
            pppppppcVar45 = pppppppcVar31;
            uVar35 = uVar24;
            if ((pppppppcVar36 <= pppppppcVar31) &&
               (pppppppcVar45 = pppppppcVar36, uVar35 = uStack_e8, pppppppcVar36 == pppppppcVar31))
            {
              uVar41 = uVar41 + 1;
              if (uStack_e8 < uVar24) {
                uStack_e8 = uVar24;
              }
              if ((uint)piVar27[3] <= uVar41) break;
              goto LAB_00015868;
            }
          }
LAB_00015854:
          uStack_e8 = uVar35;
          uVar41 = uVar41 + 1;
          pppppppcVar36 = pppppppcVar45;
        } while (uVar41 < (uint)piVar27[3]);
        pppppppcVar39 = pppppppcVar45;
        uVar35 = uStack_e8;
        if (pppppppcVar39 < pppppppcStack_f0) {
LAB_00015bdc:
          puVar11 = (undefined4 *)((int)pppppppcVar39 - (int)local_res4);
          *puVar30 = uVar35;
          goto LAB_00015bec;
        }
      }
    } while (pppppppcStack_f0 < pppppppcVar37);
  }
  puVar11 = (undefined4 *)0xffffffff;
LAB_00015bec:
  if (iStack_94 == *piVar20) {
    return puVar11;
  }
  pcVar46 = *(code **)(puVar44 + 0x40f3c);
  (*pcVar46)();
  puVar11 = *(undefined4 **)(pcVar46 + 0x403e8);
  puVar11[0x1810] = *(undefined4 *)(*(int *)(pcVar46 + 0x403e8) + 0x6044);
  return puVar11;
}

