/* WARNING: Heritage AFTER dead removal. Example location: r0x00438d48 : 0x0041a96c */
/* WARNING: Restarted to delay deadcode elimination for space: ram */

undefined4 yyparse(void)

{
  bool bVar1;
  short sVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  short *psVar8;
  char *pcVar9;
  undefined4 *puVar10;
  undefined4 *puVar11;
  int iVar12;
  uint uVar13;
  void *__ptr;
  uint uVar14;
  undefined4 *puVar15;
  int *piVar16;
  int iVar17;
  int iVar18;
  undefined4 uVar19;
  short *__src;
  int *piVar20;
  uint uVar21;
  int *piVar22;
  int *__src_00;
  short *psVar23;
  uint uVar24;
  undefined4 uStack_8b0;
  undefined4 uStack_8ac;
  undefined4 uStack_8a8;
  undefined4 uStack_8a4;
  int iStack_8a0;
  int iStack_89c;
  int iStack_898;
  int iStack_894;
  int iStack_890;
  int iStack_88c;
  int iStack_888;
  int iStack_884;
  int iStack_880;
  int iStack_87c;
  int iStack_878;
  int iStack_874;
  int iStack_870;
  int iStack_86c;
  int iStack_868;
  int iStack_864;
  int iStack_860;
  int iStack_85c;
  int iStack_858;
  int iStack_854;
  int iStack_850;
  int iStack_84c;
  int iStack_848;
  int iStack_844;
  int iStack_840;
  int iStack_83c;
  int iStack_838;
  int iStack_834;
  int iStack_830;
  int iStack_82c;
  int iStack_828;
  int iStack_824;
  int iStack_820;
  int iStack_81c;
  int iStack_818;
  int iStack_814;
  short local_810 [200];
  int aiStack_680 [400];
  int *piStack_40;
  int *piStack_3c;
  uint local_38;
  int local_34;
  int iStack_30;
  short *local_2c;
  
  __src = local_810;
  __src_00 = aiStack_680;
  yychar = 0xfffffffe;
  yynerrs = 0;
  uVar21 = 0;
  local_34 = 0;
  local_2c = __src;
  uVar24 = 200;
  piVar20 = __src_00;
  psVar23 = __src;
  do {
    *psVar23 = (short)uVar21;
    if (__src + (uVar24 - 1) <= psVar23) {
      uVar14 = uVar24 << 1;
      if (uVar24 < 10000) {
        iVar18 = uVar24 << 2;
        if (10000 < uVar14) {
          uVar14 = 10000;
          iVar18 = 20000;
        }
        psVar8 = (short *)malloc(iVar18 + uVar14 * 8 + 7)   //possible issue identified - semgrep
        if (psVar8 == (short *)0x0) goto LAB_0041cf7c;
        iVar17 = ((int)psVar23 - (int)__src >> 1) + 1;
        memcpy(psVar8,__src,iVar17 * 2)   //possible issue identified - semgrep
        piVar16 = (int *)((int)psVar8 + iVar18);
        memcpy(piVar16,__src_00,iVar17 * 8)   //possible issue identified - semgrep
        if (__src != local_2c) {
          free(__src)   //possible issue identified - semgrep
        }
        psVar23 = psVar8 + -(1 - iVar17);
        if (psVar23 < psVar8 + (uVar14 - 1)) {
          piVar20 = piVar16 + (1 - iVar17) * -2;
          __src = psVar8;
          uVar24 = uVar14;
          __src_00 = piVar16;
          goto LAB_0041a944;
        }
LAB_0041ad34:
        uVar19 = 1;
        __src = psVar8;
      }
      else {
LAB_0041cf7c:
        yyerror("memory exhausted");
        uVar19 = 2;
      }
      goto LAB_0041ad38;
    }
LAB_0041a944:
    iVar18 = (int)(short)(&DAT_004259b8)[uVar21];
    if (iVar18 != -0xa8) {
      if (yychar == 0xfffffffe) {
        yychar = yylex();
      }
      if ((int)yychar < 1) {
        yychar = 0;
        uVar14 = 0;
      }
      else if (yychar < 0x14b) {
        uVar14 = (uint)*(byte *)((int)&DAT_00425bb8 + yychar);
      }
      else {
        uVar14 = 2;
      }
      uVar13 = uVar14 + iVar18;
      if ((0x112 < uVar13) || ((int)*(short *)(&DAT_00425d04 + uVar13 * 2) != uVar14))
      goto LAB_0041a9d0;
      uVar21 = (uint)(byte)(&UNK_00425f2c)[uVar13];
      if (uVar21 == 0) goto LAB_0041ac64;
      uVar19 = 0;
      if (uVar21 != 2) {
        if (local_34 != 0) {
          local_34 = local_34 + -1;
        }
        if (yychar != 0) {
          yychar = 0xfffffffe;
        }
        piVar16 = piVar20 + 2;
        *piVar16 = yylval;
        piVar20[3] = DAT_00438d6c;
        goto LAB_0041ac40;
      }
      goto LAB_0041ad38;
    }
LAB_0041a9d0:
    iVar7 = cf_nisp_list;
    iVar6 = cf_bcmcs_list;
    iVar5 = cf_sip_list;
    iVar4 = cf_dns_list;
    iVar3 = cf_aftr_list;
    iVar12 = cf_ntp_list;
    iVar17 = cf_nis_list;
    uVar21 = (uint)(byte)(&DAT_00426040)[uVar21];
    if (uVar21 == 0) {
LAB_0041ac64:
      psVar8 = __src;
      if (local_34 == 0) {
        yynerrs = yynerrs + 1;
        yyerror("syntax error");
      }
      else if (local_34 == 3) {
        if ((int)yychar < 1) {
          if (yychar == 0) goto LAB_0041ad34;
        }
        else {
          yychar = 0xfffffffe;
        }
      }
      while ((((iVar18 == -0xa8 || (0x112 < iVar18 + 1U)) ||
              (*(short *)(&DAT_00425d04 + (iVar18 + 1U) * 2) != 1)) ||
             (uVar21 = (uint)(byte)(&UNK_00425f2d)[iVar18], uVar21 == 0))) {
        bVar1 = psVar23 == __src;
        psVar23 = psVar23 + -1;
        if (bVar1) goto LAB_0041ad34;
        piVar20 = piVar20 + -2;
        iVar18 = (int)(short)(&DAT_004259b8)[*psVar23];
      }
      piVar16 = piVar20 + 2;
      if (uVar21 != 2) {
        *piVar16 = yylval;
        piVar20[3] = DAT_00438d6c;
        local_34 = 3;
        goto LAB_0041ac40;
      }
      uVar19 = 0;
LAB_0041ad38:
      if (__src != local_2c) {
        free(__src)   //possible issue identified - semgrep
      }
      return uVar19;
    }
    local_38 = (uint)(byte)(&UNK_00426140)[uVar21];
    piVar16 = (int *)piVar20[(1 - (uint)(byte)(&UNK_00426140)[uVar21]) * 2];
    iVar18 = (piVar20 + (1 - (uint)(byte)(&UNK_00426140)[uVar21]) * 2)[1];
    switch(uVar21 - 0xd & 0xff) {
    case 0:
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 == (undefined4 *)0x0) goto code_r0x0041d1c4;
      puVar10[1] = 0;
      iVar17 = lineno;
      puVar10[3] = 0;
      puVar10[2] = iVar17;
      *puVar10 = 0;
      puVar10[1] = piVar20[-8];
      iVar17 = piVar20[-4];
      puVar15 = &DAT_0043cde0;
code_r0x0041b6ec:
      puVar10[3] = iVar17;
      iVar17 = FUN_0041a7dc(puVar10,puVar15);
      if (iVar17 != 0) {
        return 0xffffffff;
      }
      break;
    case 1:
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 != (undefined4 *)0x0) {
        puVar10[1] = 0;
        iVar17 = lineno;
        puVar10[3] = 0;
        puVar10[2] = iVar17;
        *puVar10 = 0;
        puVar10[1] = piVar20[-8];
        iVar17 = piVar20[-4];
        puVar15 = &DAT_0043cde4;
        goto code_r0x0041b6ec;
      }
      goto code_r0x0041d1c4;
    case 2:
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 != (undefined4 *)0x0) {
        puVar10[1] = 0;
        iVar17 = lineno;
        puVar10[3] = 0;
        puVar10[2] = iVar17;
        *puVar10 = 0;
        puVar10[1] = piVar20[-8];
        iVar17 = piVar20[-4];
        puVar15 = &DAT_0043cdec;
        goto code_r0x0041b6ec;
      }
      goto code_r0x0041d1c4;
    case 3:
      if (cf_dns_list == 0) {
        cf_dns_list = piVar20[-2];
      }
      else {
        **(int **)(cf_dns_list + 4) = piVar20[-2];
        *(undefined4 *)(iVar4 + 4) = *(undefined4 *)(piVar20[-2] + 4);
      }
      break;
    case 4:
      puVar10 = (undefined4 *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (puVar10 == (undefined4 *)0x0) {
code_r0x0041d260:
        yywarn("can\'t allocate memory");
        if ((void *)piVar20[-2] == (void *)0x0) {
          return 0xffffffff;
        }
        free((void *)piVar20[-2]);
        return 0xffffffff;
      }
      puVar10[1] = 0;
      puVar10[7] = 0;
      puVar10[3] = iVar17;
      puVar10[6] = 0;
      *puVar10 = 0;
      puVar10[4] = 0;
      puVar10[5] = 0;
      puVar10[2] = 0x1e;
      puVar15 = cf_dns_name_list;
      puVar10[7] = piVar20[-2];
      puVar10[1] = puVar10;
      if (puVar15 == (undefined4 *)0x0) {
        cf_dns_name_list = puVar10;
        *puVar10 = 0;
        puVar10[1] = puVar10;
      }
      else {
        puVar11 = (undefined4 *)puVar15[1];
        puVar15[1] = puVar10;
        *puVar11 = puVar10;
      }
      break;
    case 5:
      if (cf_ntp_list == 0) {
        cf_ntp_list = piVar20[-2];
      }
      else {
        **(int **)(cf_ntp_list + 4) = piVar20[-2];
        *(undefined4 *)(iVar12 + 4) = *(undefined4 *)(piVar20[-2] + 4);
      }
      break;
    case 6:
      if (cf_sip_list == 0) {
        cf_sip_list = piVar20[-2];
      }
      else {
        **(int **)(cf_sip_list + 4) = piVar20[-2];
        *(undefined4 *)(iVar5 + 4) = *(undefined4 *)(piVar20[-2] + 4);
      }
      break;
    case 7:
      puVar10 = (undefined4 *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (puVar10 == (undefined4 *)0x0) goto code_r0x0041d260;
      puVar10[1] = 0;
      puVar10[7] = 0;
      puVar10[3] = iVar17;
      puVar10[6] = 0;
      *puVar10 = 0;
      puVar10[4] = 0;
      puVar10[5] = 0;
      puVar10[2] = 0x1e;
      puVar15 = cf_sip_name_list;
      puVar10[7] = piVar20[-2];
      puVar10[1] = puVar10;
      if (puVar15 == (undefined4 *)0x0) {
        cf_sip_name_list = puVar10;
        *puVar10 = 0;
        puVar10[1] = puVar10;
      }
      else {
        puVar11 = (undefined4 *)puVar15[1];
        puVar15[1] = puVar10;
        *puVar11 = puVar10;
      }
      break;
    case 8:
      if (cf_aftr_list == 0) {
        cf_aftr_list = piVar20[-2];
      }
      else {
        **(int **)(cf_aftr_list + 4) = piVar20[-2];
        *(undefined4 *)(iVar3 + 4) = *(undefined4 *)(piVar20[-2] + 4);
      }
      break;
    case 9:
      puVar10 = (undefined4 *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (puVar10 == (undefined4 *)0x0) goto code_r0x0041d260;
      puVar10[1] = 0;
      puVar10[7] = 0;
      puVar10[3] = iVar17;
      puVar10[6] = 0;
      *puVar10 = 0;
      puVar10[4] = 0;
      puVar10[5] = 0;
      puVar10[2] = 0x1e;
      puVar15 = cf_aftr_name_list;
      puVar10[7] = piVar20[-2];
      puVar10[1] = puVar10;
      if (puVar15 == (undefined4 *)0x0) {
        cf_aftr_name_list = puVar10;
        *puVar10 = 0;
        puVar10[1] = puVar10;
      }
      else {
        puVar11 = (undefined4 *)puVar15[1];
        puVar15[1] = puVar10;
        *puVar11 = puVar10;
      }
      break;
    case 10:
      if (cf_nis_list == 0) {
        cf_nis_list = piVar20[-2];
      }
      else {
        **(int **)(cf_nis_list + 4) = piVar20[-2];
        *(undefined4 *)(iVar17 + 4) = *(undefined4 *)(piVar20[-2] + 4);
      }
      break;
    case 0xb:
      puVar10 = (undefined4 *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (puVar10 == (undefined4 *)0x0) goto code_r0x0041d260;
      puVar10[1] = 0;
      puVar10[7] = 0;
      puVar10[3] = iVar17;
      puVar10[6] = 0;
      *puVar10 = 0;
      puVar10[4] = 0;
      puVar10[5] = 0;
      puVar10[2] = 0x1e;
      puVar15 = cf_nis_name_list;
      puVar10[7] = piVar20[-2];
      puVar10[1] = puVar10;
      if (puVar15 == (undefined4 *)0x0) {
        cf_nis_name_list = puVar10;
        *puVar10 = 0;
        puVar10[1] = puVar10;
      }
      else {
        puVar11 = (undefined4 *)puVar15[1];
        puVar15[1] = puVar10;
        *puVar11 = puVar10;
      }
      break;
    case 0xc:
      if (cf_nisp_list == 0) {
        cf_nisp_list = piVar20[-2];
      }
      else {
        **(int **)(cf_nisp_list + 4) = piVar20[-2];
        *(undefined4 *)(iVar7 + 4) = *(undefined4 *)(piVar20[-2] + 4);
      }
      break;
    case 0xd:
      puVar10 = (undefined4 *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (puVar10 == (undefined4 *)0x0) goto code_r0x0041d260;
      puVar10[1] = 0;
      puVar10[7] = 0;
      puVar10[3] = iVar17;
      puVar10[6] = 0;
      *puVar10 = 0;
      puVar10[4] = 0;
      puVar10[5] = 0;
      puVar10[2] = 0x1e;
      puVar15 = cf_nisp_name_list;
      puVar10[7] = piVar20[-2];
      puVar10[1] = puVar10;
      if (puVar15 == (undefined4 *)0x0) {
        cf_nisp_name_list = puVar10;
        *puVar10 = 0;
        puVar10[1] = puVar10;
      }
      else {
        puVar11 = (undefined4 *)puVar15[1];
        puVar15[1] = puVar10;
        *puVar11 = puVar10;
      }
      break;
    case 0xe:
      if (cf_bcmcs_list == 0) {
        cf_bcmcs_list = piVar20[-2];
      }
      else {
        **(int **)(cf_bcmcs_list + 4) = piVar20[-2];
        *(undefined4 *)(iVar6 + 4) = *(undefined4 *)(piVar20[-2] + 4);
      }
      break;
    case 0xf:
      puVar10 = (undefined4 *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (puVar10 == (undefined4 *)0x0) goto code_r0x0041d260;
      puVar10[1] = 0;
      puVar10[7] = 0;
      puVar10[3] = iVar17;
      puVar10[6] = 0;
      *puVar10 = 0;
      puVar10[4] = 0;
      puVar10[5] = 0;
      puVar10[2] = 0x1e;
      puVar15 = cf_bcmcs_name_list;
      puVar10[7] = piVar20[-2];
      puVar10[1] = puVar10;
      if (puVar15 == (undefined4 *)0x0) {
        cf_bcmcs_name_list = puVar10;
        *puVar10 = 0;
        puVar10[1] = puVar10;
      }
      else {
        puVar11 = (undefined4 *)puVar15[1];
        puVar15[1] = puVar10;
        *puVar11 = puVar10;
      }
      break;
    case 0x10:
      if ((cf_refreshtime == 0xffffffff) && (DAT_004388e4 == -1)) {
        cf_refreshtime = piVar20[-2];
        DAT_004388e4 = piVar20[-1];
        uVar14 = (uint)(cf_refreshtime + 1 < cf_refreshtime) + DAT_004388e4;
        if ((1 < uVar14) || ((uVar14 == 1 && (cf_refreshtime != 0xffffffff)))) {
          yyerror("refresh time is out of range");
        }
        if ((DAT_004388e4 < 1) && ((DAT_004388e4 != 0 || (cf_refreshtime < 600)))) {
          yyerror("refresh time is too small (must not be smaller than %d)",600);
        }
      }
      else {
        yywarn("multiple refresh times (ignored)");
      }
      break;
    case 0x11:
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 != (undefined4 *)0x0) {
        puVar10[1] = 0;
        iVar17 = lineno;
        puVar10[3] = 0;
        puVar10[2] = iVar17;
        *puVar10 = 0;
        puVar10[1] = piVar20[-8];
        iVar17 = piVar20[-4];
        puVar15 = &DAT_0043cde8;
        goto code_r0x0041b6ec;
      }
      goto code_r0x0041d1c4;
    case 0x12:
      pcVar9 = strdup("0");
      if (pcVar9 == (char *)0x0) {
code_r0x0041d330:
        yywarn("can\'t allocate memory");
        return 0xffffffff;
      }
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 == (undefined4 *)0x0) goto code_r0x0041d1c4;
      puVar10[1] = pcVar9;
      iVar17 = lineno;
      puVar10[3] = 0;
      puVar10[2] = iVar17;
      *puVar10 = 0;
      iVar17 = piVar20[-4];
      puVar15 = &DAT_0043cde8;
code_r0x0041c348:
      puVar10[3] = iVar17;
      iVar17 = FUN_0041a7dc(puVar10,puVar15);
      if (iVar17 != 0) {
        return 0xffffffff;
      }
      break;
    case 0x13:
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 != (undefined4 *)0x0) {
        puVar10[1] = 0;
        iVar17 = lineno;
        puVar10[3] = 0;
        puVar10[2] = iVar17;
        *puVar10 = 0;
        puVar10[1] = piVar20[-8];
        iVar17 = piVar20[-4];
        puVar15 = &DAT_0043cdfc;
        goto code_r0x0041b6ec;
      }
      goto code_r0x0041d1c4;
    case 0x14:
      pcVar9 = strdup("0");
      if (pcVar9 == (char *)0x0) goto code_r0x0041d330;
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 != (undefined4 *)0x0) {
        puVar10[1] = pcVar9;
        iVar17 = lineno;
        puVar10[3] = 0;
        puVar10[2] = iVar17;
        *puVar10 = 0;
        iVar17 = piVar20[-4];
        puVar15 = &DAT_0043cdfc;
        goto code_r0x0041c348;
      }
      goto code_r0x0041d1c4;
    case 0x15:
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 != (undefined4 *)0x0) {
        puVar10[1] = 0;
        iVar17 = lineno;
        puVar10[3] = 0;
        puVar10[2] = iVar17;
        *puVar10 = 0;
        puVar10[1] = piVar20[-8];
        iVar17 = piVar20[-4];
        puVar15 = &DAT_0043cdf4;
        goto code_r0x0041b6ec;
      }
      goto code_r0x0041d1c4;
    case 0x16:
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 != (undefined4 *)0x0) {
        puVar10[1] = 0;
        iVar17 = lineno;
        puVar10[3] = 0;
        puVar10[2] = iVar17;
        *puVar10 = 0;
        puVar10[1] = piVar20[-8];
        iVar17 = piVar20[-4];
        puVar15 = &DAT_0043cdf8;
        goto code_r0x0041b6ec;
      }
      goto code_r0x0041d1c4;
    case 0x17:
      piVar22 = piVar20 + -2;
      iVar17 = cfswitch_buffer(piVar20[-2]);
      if (iVar17 != 0) {
code_r0x0041d2b4:
        __ptr = (void *)*piVar22;
code_r0x0041d244:
        free(__ptr);
        return 0xffffffff;
      }
      free((void *)piVar20[-2]);
      break;
    case 0x18:
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 != (undefined4 *)0x0) {
        puVar10[1] = 0;
        iVar17 = lineno;
        puVar10[3] = 0;
        puVar10[2] = iVar17;
        *puVar10 = 0;
        puVar10[1] = piVar20[-8];
        iVar17 = piVar20[-4];
        puVar15 = &DAT_0043cdf0;
        goto code_r0x0041b6ec;
      }
code_r0x0041d1c4:
      yywarn("can\'t allocate memory");
      if (piVar20[-4] == 0) {
        return 0xffffffff;
      }
code_r0x0041d1e4:
      FUN_0041a34c();
      return 0xffffffff;
    case 0x19:
      piVar16 = (int *)0x0;
      break;
    case 0x1a:
      piVar16 = (int *)piVar20[-2];
      if (piVar16 == (int *)0x0) {
        *(undefined4 *)*piVar20 = 0;
        *(int *)(*piVar20 + 4) = *piVar20;
        piVar16 = (int *)*piVar20;
      }
      else {
        *(int *)piVar16[1] = *piVar20;
        piVar16[1] = *(int *)(*piVar20 + 4);
      }
      break;
    case 0x1b:
      iVar17 = inet_pton(10,(char *)*piVar20,&uStack_8b0)   //possible issue identified - semgrep
      if (iVar17 != 1) {
        yywarn("invalid IPv6 address: %s",*piVar20);
        __ptr = (void *)*piVar20;
        goto code_r0x0041d244;
      }
      puVar10 = (undefined4 *)malloc(0x10)   //possible issue identified - semgrep
      if (puVar10 == (undefined4 *)0x0) goto code_r0x0041d330;
      *puVar10 = uStack_8b0;
      puVar10[1] = uStack_8ac;
      puVar10[2] = uStack_8a8;
      puVar10[3] = uStack_8a4;
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) {
        yywarn("can\'t allocate memory");
        free(puVar10);
        return 0xffffffff;
      }
      piVar16[7] = (int)puVar10;
      piVar16[2] = 0x1e;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x1c:
      piVar16 = (int *)0x0;
      break;
    case 0x1d:
      piVar16 = (int *)piVar20[-2];
      if (piVar16 == (int *)0x0) {
        *(undefined4 *)*piVar20 = 0;
        *(int *)(*piVar20 + 4) = *piVar20;
        piVar16 = (int *)*piVar20;
      }
      else {
        *(int *)piVar16[1] = *piVar20;
        piVar16[1] = *(int *)(*piVar20 + 4);
      }
      break;
    case 0x1e:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      if (piVar16 == (int *)0x0) {
code_r0x0041d3cc:
        yywarn("can\'t allocate memory");
        if (piVar20[-2] == 0) {
          return 0xffffffff;
        }
        goto code_r0x0041d1e4;
      }
      piVar16[1] = 0;
      piVar16[7] = 0;
      iVar17 = lineno;
      piVar16[6] = 0;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 0;
      piVar16[6] = piVar20[-2];
      piVar16[1] = (int)piVar16;
      break;
    case 0x1f:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d3cc;
      piVar16[7] = 0;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[2] = 3;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = piVar20[-2];
      piVar16[1] = (int)piVar16;
      break;
    case 0x20:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 2;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x21:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d3cc;
      piVar16[7] = 0;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[2] = 1;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = piVar20[-2];
      piVar16[1] = (int)piVar16;
      break;
    case 0x22:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d260;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 4;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-2];
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x23:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d260;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 9;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-2];
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x24:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d260;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 5;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-2];
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x25:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 6;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      iVar17 = piVar20[-1];
      piVar16[4] = piVar20[-2];
      piVar16[5] = iVar17;
      break;
    case 0x26:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 0xc;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      iVar17 = piVar20[-1];
      piVar16[4] = piVar20[-2];
      piVar16[5] = iVar17;
      break;
    case 0x27:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d260;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 7;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-2];
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x28:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d260;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 8;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-2];
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x29:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d260;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 10;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-2];
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x2a:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d260;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 0xd;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-2];
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x2b:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d260;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 0xb;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-2];
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x2c:
      piVar16 = (int *)*piVar20;
      break;
    case 0x2d:
      *(int *)piVar20[-4] = *piVar20;
      *(undefined4 *)(piVar20[-4] + 4) = *(undefined4 *)(*piVar20 + 4);
      piVar16 = (int *)piVar20[-4];
      break;
    case 0x2e:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x10;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x2f:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x11;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      piVar16[7] = *piVar20;
      break;
    case 0x30:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 0x14;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      iVar17 = piVar20[1];
      piVar16[4] = *piVar20;
      piVar16[5] = iVar17;
      break;
    case 0x31:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 0x15;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      iVar17 = piVar20[1];
      piVar16[4] = *piVar20;
      piVar16[5] = iVar17;
      break;
    case 0x32:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x22;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x33:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x23;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x34:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x24;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x35:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x25;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x36:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x12;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x37:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x13;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x38:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x16;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x39:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x17;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x3a:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x18;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x3b:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x19;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x3c:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x1a;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x3d:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x1b;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x3e:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x1c;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x3f:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x1d;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x40:
      iStack_830 = 0;
      iStack_82c = 0;
      iStack_828 = 0;
      iStack_824 = 0;
      iStack_820 = 0;
      iStack_81c = 0;
      iStack_818 = 0;
      iStack_814 = 0;
      iStack_30 = inet_pton(10,(char *)piVar20[-4],&iStack_830)   //possible issue identified - semgrep
      piVar16 = piVar20 + -4;
      if (iStack_30 != 1) {
        iVar18 = *piVar16;
code_r0x0041d374:
        yywarn("invalid IPv6 address: %s",iVar18);
        free((void *)*piVar16);
        free((void *)*piVar20);
        return 0xffffffff;
      }
      iVar17 = inet_pton(10,(char *)*piVar20,&iStack_820)   //possible issue identified - semgrep
      if (iVar17 != iStack_30) {
        iVar18 = *piVar20;
        goto code_r0x0041d374;
      }
      free((void *)*piVar16);
      free((void *)*piVar20);
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      *piVar16 = iStack_830;
      piVar16[1] = iStack_82c;
      piVar16[2] = iStack_828;
      piVar16[3] = iStack_824;
      piVar16[4] = iStack_820;
      piVar16[5] = iStack_81c;
      piVar16[6] = iStack_818;
      piVar16[7] = iStack_814;
      break;
    case 0x41:
      iVar17 = piVar20[-4];
      iVar12 = *piVar20;
      piVar16 = (int *)malloc(8)   //possible issue identified - semgrep
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      *piVar16 = iVar17;
      piVar16[1] = iVar12;
      break;
    case 0x42:
      iStack_888 = 0;
      iStack_8a0 = 0;
      iStack_89c = 0;
      iStack_898 = 0;
      iStack_894 = 0;
      iStack_890 = 0;
      iStack_88c = 0;
      iVar17 = inet_pton(10,(char *)piVar20[-2],&iStack_898)   //possible issue identified - semgrep
      piVar22 = piVar20 + -2;
      if (iVar17 != 1) {
code_r0x0041d29c:
        yywarn("invalid IPv6 address: %s",*piVar22);
        goto code_r0x0041d2b4;
      }
      free((void *)piVar20[-2]);
      iStack_888 = 0x80;
      iStack_8a0 = *piVar20;
      if (piVar20[1] < 0) {
        iStack_8a0 = -1;
      }
      iStack_89c = iStack_8a0;
      piVar16 = (int *)malloc(0x1c)   //possible issue identified - semgrep
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      *piVar16 = iStack_8a0;
      piVar16[1] = iStack_89c;
      piVar16[2] = iStack_898;
      piVar16[3] = iStack_894;
      piVar16[4] = iStack_890;
      piVar16[5] = iStack_88c;
      piVar16[6] = iStack_888;
      break;
    case 0x43:
      iStack_86c = 0;
      iStack_884 = 0;
      iStack_880 = 0;
      iStack_87c = 0;
      iStack_878 = 0;
      iStack_874 = 0;
      iStack_870 = 0;
      iVar17 = inet_pton(10,(char *)piVar20[-4],&iStack_87c)   //possible issue identified - semgrep
      piVar22 = piVar20 + -4;
      if (iVar17 != 1) goto code_r0x0041d29c;
      free((void *)piVar20[-4]);
      iStack_86c = 0x80;
      iStack_884 = piVar20[-2];
      if (piVar20[-1] < 0) {
        iStack_884 = -1;
      }
      iStack_880 = *piVar20;
      if (piVar20[1] < 0) {
        iStack_880 = -1;
      }
      piVar16 = (int *)malloc(0x1c)   //possible issue identified - semgrep
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      *piVar16 = iStack_884;
      piVar16[1] = iStack_880;
      piVar16[2] = iStack_87c;
      piVar16[3] = iStack_878;
      piVar16[4] = iStack_874;
      piVar16[5] = iStack_870;
      piVar16[6] = iStack_86c;
      break;
    case 0x44:
      iStack_850 = 0;
      iStack_868 = 0;
      iStack_864 = 0;
      iStack_860 = 0;
      iStack_85c = 0;
      iStack_858 = 0;
      iStack_854 = 0;
      iVar17 = inet_pton(10,(char *)piVar20[-6],&iStack_860)   //possible issue identified - semgrep
      piVar16 = piVar20 + -6;
      if (iVar17 != 1) {
code_r0x0041d34c:
        yywarn("invalid IPv6 address: %s",*piVar16);
        __ptr = (void *)*piVar16;
        goto code_r0x0041d244;
      }
      free((void *)piVar20[-6]);
      iStack_850 = piVar20[-2];
      iStack_868 = *piVar20;
      if (piVar20[1] < 0) {
        iStack_868 = -1;
      }
      iStack_864 = iStack_868;
      piVar16 = (int *)malloc(0x1c)   //possible issue identified - semgrep
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      *piVar16 = iStack_868;
      piVar16[1] = iStack_864;
      piVar16[2] = iStack_860;
      piVar16[3] = iStack_85c;
      piVar16[4] = iStack_858;
      piVar16[5] = iStack_854;
      piVar16[6] = iStack_850;
      break;
    case 0x45:
      iStack_834 = 0;
      iStack_84c = 0;
      iStack_848 = 0;
      iStack_844 = 0;
      iStack_840 = 0;
      iStack_83c = 0;
      iStack_838 = 0;
      iVar17 = inet_pton(10,(char *)piVar20[-8],&iStack_844)   //possible issue identified - semgrep
      piVar16 = piVar20 + -8;
      if (iVar17 != 1) goto code_r0x0041d34c;
      free((void *)piVar20[-8]);
      iStack_834 = piVar20[-4];
      iStack_84c = piVar20[-2];
      if (piVar20[-1] < 0) {
        iStack_84c = -1;
      }
      iStack_848 = *piVar20;
      if (piVar20[1] < 0) {
        iStack_848 = -1;
      }
      piVar16 = (int *)malloc(0x1c)   //possible issue identified - semgrep
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      *piVar16 = iStack_84c;
      piVar16[1] = iStack_848;
      piVar16[2] = iStack_844;
      piVar16[3] = iStack_840;
      piVar16[4] = iStack_83c;
      piVar16[5] = iStack_838;
      piVar16[6] = iStack_834;
      break;
    case 0x46:
      piVar16 = (int *)malloc(0xc)   //possible issue identified - semgrep
      if (piVar16 == (int *)0x0) {
        yywarn("can\'t allocate memory");
        __ptr = (void *)piVar20[-2];
        goto code_r0x0041d244;
      }
      piStack_3c = piVar20 + -2;
      pcVar9 = strdup((char *)piVar20[-2]);
      *piVar16 = (int)pcVar9;
      if (pcVar9 == (char *)0x0) {
        yywarn("can\'t allocate memory");
        __ptr = (void *)*piStack_3c;
        goto code_r0x0041d244;
      }
      free((void *)piVar20[-2]);
      if (piVar20[1] < 0) {
        piVar16[1] = -1;
      }
      else {
        piVar16[1] = *piVar20;
      }
      piVar16[2] = piVar16[1];
      break;
    case 0x47:
      piVar16 = (int *)malloc(0xc)   //possible issue identified - semgrep
      if (piVar16 == (int *)0x0) {
        yywarn("can\'t allocate memory");
        __ptr = (void *)piVar20[-4];
        goto code_r0x0041d244;
      }
      piStack_40 = piVar20 + -4;
      pcVar9 = strdup((char *)piVar20[-4]);
      *piVar16 = (int)pcVar9;
      if (pcVar9 == (char *)0x0) {
        yywarn("can\'t allocate memory");
        __ptr = (void *)*piStack_40;
        goto code_r0x0041d244;
      }
      free((void *)piVar20[-4]);
      if (piVar20[-1] < 0) {
        piVar16[1] = -1;
      }
      else {
        piVar16[1] = piVar20[-2];
      }
      if (piVar20[1] < 0) {
        piVar16[2] = -1;
      }
      else {
        piVar16[2] = *piVar20;
      }
      break;
    case 0x48:
      piVar16 = (int *)0xffffffff;
      iVar18 = -1;
      break;
    case 0x49:
      piVar16 = (int *)*piVar20;
      iVar18 = piVar20[1];
      break;
    case 0x4a:
      piVar16 = (int *)0x0;
      break;
    case 0x4b:
      piVar16 = (int *)piVar20[-2];
      if (piVar16 == (int *)0x0) {
        *(undefined4 *)*piVar20 = 0;
        *(int *)(*piVar20 + 4) = *piVar20;
        piVar16 = (int *)*piVar20;
      }
      else {
        *(int *)piVar16[1] = *piVar20;
        piVar16[1] = *(int *)(*piVar20 + 4);
      }
      break;
    case 0x4c:
      piVar16 = (int *)*piVar20;
      break;
    case 0x4d:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d260;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 0x20;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-2];
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x4e:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) {
        yywarn("can\'t allocate memory");
        if ((void *)piVar20[-8] != (void *)0x0) {
          free((void *)piVar20[-8]);
        }
        if (piVar20[-4] == 0) {
          return 0xffffffff;
        }
        goto code_r0x0041d1e4;
      }
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 0x1f;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-8];
      iVar17 = piVar20[-4];
      piVar16[1] = (int)piVar16;
      piVar16[6] = iVar17;
      break;
    case 0x4f:
      piVar16 = (int *)0x0;
      break;
    case 0x50:
      piVar16 = (int *)piVar20[-2];
      if (piVar16 == (int *)0x0) {
        *(undefined4 *)*piVar20 = 0;
        *(int *)(*piVar20 + 4) = *piVar20;
        piVar16 = (int *)*piVar20;
      }
      else {
        *(int *)piVar16[1] = *piVar20;
        piVar16[1] = *(int *)(*piVar20 + 4);
      }
      break;
    case 0x51:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 0xe;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      iVar17 = piVar20[-1];
      piVar16[4] = piVar20[-2];
      piVar16[5] = iVar17;
      break;
    case 0x52:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 0xf;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      iVar17 = piVar20[-1];
      piVar16[4] = piVar20[-2];
      piVar16[5] = iVar17;
      break;
    case 0x53:
      piVar16 = (int *)0x0;
      break;
    case 0x54:
      piVar16 = (int *)piVar20[-2];
      if (piVar16 == (int *)0x0) {
        *(undefined4 *)*piVar20 = 0;
        *(int *)(*piVar20 + 4) = *piVar20;
        piVar16 = (int *)*piVar20;
      }
      else {
        *(int *)piVar16[1] = *piVar20;
        piVar16[1] = *(int *)(*piVar20 + 4);
      }
      break;
    case 0x55:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d260;
      piVar16[1] = 0;
      piVar16[6] = 0;
      piVar16[7] = 0;
      piVar16[2] = 0x21;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[7] = piVar20[-2];
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      break;
    case 0x56:
      piVar16 = (int *)0x0;
      break;
    case 0x57:
      piVar16 = (int *)piVar20[-2];
      if (piVar16 == (int *)0x0) {
        *(undefined4 *)*piVar20 = 0;
        *(int *)(*piVar20 + 4) = *piVar20;
        piVar16 = (int *)*piVar20;
      }
      else {
        *(int *)piVar16[1] = *piVar20;
        piVar16[1] = *(int *)(*piVar20 + 4);
      }
      break;
    case 0x58:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 0x26;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      iVar17 = piVar20[-1];
      piVar16[4] = piVar20[-2];
      piVar16[5] = iVar17;
      break;
    case 0x59:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 0x27;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      iVar17 = piVar20[-1];
      piVar16[4] = piVar20[-2];
      piVar16[5] = iVar17;
      break;
    case 0x5a:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 0x28;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      iVar17 = piVar20[-1];
      piVar16[4] = piVar20[-2];
      piVar16[5] = iVar17;
      break;
    case 0x5b:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x29;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      piVar16[7] = piVar20[-2];
      break;
    case 0x5c:
      piVar16 = (int *)0x2;
      iVar18 = 0;
      break;
    case 0x5d:
      piVar16 = (int *)0x3;
      iVar18 = 0;
      break;
    case 0x5e:
      piVar16 = (int *)0x1;
      iVar18 = 0;
      break;
    case 0x5f:
      piVar16 = (int *)0x0;
      iVar18 = 0;
      break;
    case 0x60:
      piVar16 = (int *)0x0;
      break;
    case 0x61:
      piVar16 = (int *)piVar20[-2];
      if (piVar16 == (int *)0x0) {
        *(undefined4 *)*piVar20 = 0;
        *(int *)(*piVar20 + 4) = *piVar20;
        piVar16 = (int *)*piVar20;
      }
      else {
        *(int *)piVar16[1] = *piVar20;
        piVar16[1] = *(int *)(*piVar20 + 4);
      }
      break;
    case 0x62:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x2a;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      piVar16[7] = piVar20[-2];
      break;
    case 99:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[2] = 0x2b;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      iVar17 = piVar20[-1];
      piVar16[4] = piVar20[-2];
      piVar16[5] = iVar17;
      break;
    case 100:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x2c;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      piVar16[7] = piVar20[-2];
      break;
    case 0x65:
      piVar16 = (int *)malloc(0x20)   //possible issue identified - semgrep
      iVar17 = lineno;
      if (piVar16 == (int *)0x0) goto code_r0x0041d330;
      piVar16[7] = 0;
      piVar16[2] = 0x2d;
      piVar16[3] = iVar17;
      *piVar16 = 0;
      piVar16[4] = 0;
      piVar16[5] = 0;
      piVar16[6] = 0;
      piVar16[1] = (int)piVar16;
      piVar16[7] = piVar20[-2];
    }
    uVar14 = local_38;
    psVar23 = psVar23 + -local_38;
    iVar17 = ((byte)(&UNK_004261b4)[uVar21] - 0x4c) * 2;
    sVar2 = *psVar23;
    uVar21 = (int)sVar2 + (int)*(short *)(&UNK_00426228 + iVar17);
    piVar20[local_38 * -2 + 2] = (int)piVar16;
    piVar20[uVar14 * -2 + 3] = iVar18;
    piVar16 = piVar20 + uVar14 * -2 + 2;
    if ((uVar21 < 0x113) && ((int)*(short *)(&DAT_00425d04 + uVar21 * 2) == (int)sVar2)) {
      uVar21 = (uint)(byte)(&UNK_00425f2c)[uVar21];
    }
    else {
      uVar21 = (uint)*(short *)(&UNK_00426274 + iVar17);
    }
LAB_0041ac40:
    psVar23 = psVar23 + 1;
    piVar20 = piVar16;
  } while( true );
}