/* WARNING: Heritage AFTER dead removal. Example location: r0x0043e958 : 0x0041fa8c */
/* 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 local_8b0;
undefined4 local_8ac;
undefined4 local_8a8;
undefined4 local_8a4;
int local_8a0;
int local_89c;
int local_898;
int local_894;
int local_890;
int local_88c;
int local_888;
int local_884;
int local_880;
int local_87c;
int local_878;
int local_874;
int local_870;
int local_86c;
int local_868;
int local_864;
int local_860;
int local_85c;
int local_858;
int local_854;
int local_850;
int local_84c;
int local_848;
int local_844;
int local_840;
int local_83c;
int local_838;
int local_834;
int local_830;
int local_82c;
int local_828;
int local_824;
int local_820;
int local_81c;
int local_818;
int local_814;
short local_810 [200];
int local_680 [400];
int *local_40;
int *local_3c;
uint local_38;
int local_34;
int local_30;
short *local_2c;
__src = local_810;
__src_00 = local_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_0042209c;
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_0041fa64;
}
LAB_0041fe54:
uVar19 = 1;
__src = psVar8;
}
else {
LAB_0042209c:
yyerror("memory exhausted");
uVar19 = 2;
}
goto LAB_0041fe58;
}
LAB_0041fa64:
iVar18 = (int)(short)(&DAT_0042b418)[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_0042b618 + yychar);
}
else {
uVar14 = 2;
}
uVar13 = uVar14 + iVar18;
if ((0x112 < uVar13) || ((int)*(short *)(&DAT_0042b764 + uVar13 * 2) != uVar14))
goto LAB_0041faf0;
uVar21 = (uint)(byte)(&UNK_0042b98c)[uVar13];
if (uVar21 == 0) goto LAB_0041fd84;
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_0043e97c;
goto LAB_0041fd60;
}
goto LAB_0041fe58;
}
LAB_0041faf0:
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_0042baa0)[uVar21];
if (uVar21 == 0) {
LAB_0041fd84:
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_0041fe54;
}
else {
yychar = 0xfffffffe;
}
}
while ((((iVar18 == -0xa8 || (0x112 < iVar18 + 1U)) ||
(*(short *)(&DAT_0042b764 + (iVar18 + 1U) * 2) != 1)) ||
(uVar21 = (uint)(byte)(&UNK_0042b98d)[iVar18], uVar21 == 0))) {
bVar1 = psVar23 == __src;
psVar23 = psVar23 + -1;
if (bVar1) goto LAB_0041fe54;
piVar20 = piVar20 + -2;
iVar18 = (int)(short)(&DAT_0042b418)[*psVar23];
}
piVar16 = piVar20 + 2;
if (uVar21 != 2) {
*piVar16 = yylval;
piVar20[3] = DAT_0043e97c;
local_34 = 3;
goto LAB_0041fd60;
}
uVar19 = 0;
LAB_0041fe58:
if (__src != local_2c) {
free(__src) //possible issue identified - semgrep
}
return uVar19;
}
local_38 = (uint)(byte)(&UNK_0042bba0)[uVar21];
piVar16 = (int *)piVar20[(1 - (uint)(byte)(&UNK_0042bba0)[uVar21]) * 2];
iVar18 = (piVar20 + (1 - (uint)(byte)(&UNK_0042bba0)[uVar21]) * 2)[1];
switch(uVar21 - 0xd & 0xff) {
case 0:
puVar10 = (undefined4 *)malloc(0x10) //possible issue identified - semgrep
if (puVar10 == (undefined4 *)0x0) goto LAB_004222e4;
puVar10[1] = 0;
iVar17 = lineno;
puVar10[3] = 0;
puVar10[2] = iVar17;
*puVar10 = 0;
puVar10[1] = piVar20[-8];
iVar17 = piVar20[-4];
puVar15 = &DAT_00441180;
LAB_0042080c:
puVar10[3] = iVar17;
iVar17 = FUN_0041f8fc(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_00441184;
goto LAB_0042080c;
}
goto LAB_004222e4;
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_0044118c;
goto LAB_0042080c;
}
goto LAB_004222e4;
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) {
LAB_00422380:
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 LAB_00422380;
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 LAB_00422380;
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 LAB_00422380;
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 LAB_00422380;
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 LAB_00422380;
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_0043e484 == -1)) {
cf_refreshtime = piVar20[-2];
DAT_0043e484 = piVar20[-1];
uVar14 = (uint)(cf_refreshtime + 1 < cf_refreshtime) + DAT_0043e484;
if ((1 < uVar14) || ((uVar14 == 1 && (cf_refreshtime != 0xffffffff)))) {
yyerror("refresh time is out of range");
}
if ((DAT_0043e484 < 1) && ((DAT_0043e484 != 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_00441188;
goto LAB_0042080c;
}
goto LAB_004222e4;
case 0x12:
pcVar9 = strdup("0");
if (pcVar9 == (char *)0x0) {
LAB_00422450:
yywarn("can\'t allocate memory");
return 0xffffffff;
}
puVar10 = (undefined4 *)malloc(0x10) //possible issue identified - semgrep
if (puVar10 == (undefined4 *)0x0) goto LAB_004222e4;
puVar10[1] = pcVar9;
iVar17 = lineno;
puVar10[3] = 0;
puVar10[2] = iVar17;
*puVar10 = 0;
iVar17 = piVar20[-4];
puVar15 = &DAT_00441188;
LAB_00421468:
puVar10[3] = iVar17;
iVar17 = FUN_0041f8fc(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_0044119c;
goto LAB_0042080c;
}
goto LAB_004222e4;
case 0x14:
pcVar9 = strdup("0");
if (pcVar9 == (char *)0x0) goto LAB_00422450;
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_0044119c;
goto LAB_00421468;
}
goto LAB_004222e4;
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_00441194;
goto LAB_0042080c;
}
goto LAB_004222e4;
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_00441198;
goto LAB_0042080c;
}
goto LAB_004222e4;
case 0x17:
piVar22 = piVar20 + -2;
iVar17 = cfswitch_buffer(piVar20[-2]);
if (iVar17 != 0) {
LAB_004223d4:
__ptr = (void *)*piVar22;
LAB_00422364:
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_00441190;
goto LAB_0042080c;
}
LAB_004222e4:
yywarn("can\'t allocate memory");
if (piVar20[-4] == 0) {
return 0xffffffff;
}
LAB_00422304:
FUN_0041f46c();
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,&local_8b0) //possible issue identified - semgrep
if (iVar17 != 1) {
yywarn("invalid IPv6 address: %s",*piVar20);
__ptr = (void *)*piVar20;
goto LAB_00422364;
}
puVar10 = (undefined4 *)malloc(0x10) //possible issue identified - semgrep
if (puVar10 == (undefined4 *)0x0) goto LAB_00422450;
*puVar10 = local_8b0;
puVar10[1] = local_8ac;
puVar10[2] = local_8a8;
puVar10[3] = local_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) {
LAB_004224ec:
yywarn("can\'t allocate memory");
if (piVar20[-2] == 0) {
return 0xffffffff;
}
goto LAB_00422304;
}
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 LAB_004224ec;
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 LAB_00422450;
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 LAB_004224ec;
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 LAB_00422380;
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 LAB_00422380;
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 LAB_00422380;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422380;
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 LAB_00422380;
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 LAB_00422380;
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 LAB_00422380;
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 LAB_00422380;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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:
local_830 = 0;
local_82c = 0;
local_828 = 0;
local_824 = 0;
local_820 = 0;
local_81c = 0;
local_818 = 0;
local_814 = 0;
local_30 = inet_pton(10,(char *)piVar20[-4],&local_830) //possible issue identified - semgrep
piVar16 = piVar20 + -4;
if (local_30 != 1) {
iVar18 = *piVar16;
LAB_00422494:
yywarn("invalid IPv6 address: %s",iVar18);
free((void *)*piVar16);
free((void *)*piVar20);
return 0xffffffff;
}
iVar17 = inet_pton(10,(char *)*piVar20,&local_820) //possible issue identified - semgrep
if (iVar17 != local_30) {
iVar18 = *piVar20;
goto LAB_00422494;
}
free((void *)*piVar16);
free((void *)*piVar20);
piVar16 = (int *)malloc(0x20) //possible issue identified - semgrep
if (piVar16 == (int *)0x0) goto LAB_00422450;
*piVar16 = local_830;
piVar16[1] = local_82c;
piVar16[2] = local_828;
piVar16[3] = local_824;
piVar16[4] = local_820;
piVar16[5] = local_81c;
piVar16[6] = local_818;
piVar16[7] = local_814;
break;
case 0x41:
iVar17 = piVar20[-4];
iVar12 = *piVar20;
piVar16 = (int *)malloc(8) //possible issue identified - semgrep
if (piVar16 == (int *)0x0) goto LAB_00422450;
*piVar16 = iVar17;
piVar16[1] = iVar12;
break;
case 0x42:
local_888 = 0;
local_8a0 = 0;
local_89c = 0;
local_898 = 0;
local_894 = 0;
local_890 = 0;
local_88c = 0;
iVar17 = inet_pton(10,(char *)piVar20[-2],&local_898) //possible issue identified - semgrep
piVar22 = piVar20 + -2;
if (iVar17 != 1) {
LAB_004223bc:
yywarn("invalid IPv6 address: %s",*piVar22);
goto LAB_004223d4;
}
free((void *)piVar20[-2]);
local_888 = 0x80;
local_8a0 = *piVar20;
if (piVar20[1] < 0) {
local_8a0 = -1;
}
local_89c = local_8a0;
piVar16 = (int *)malloc(0x1c) //possible issue identified - semgrep
if (piVar16 == (int *)0x0) goto LAB_00422450;
*piVar16 = local_8a0;
piVar16[1] = local_89c;
piVar16[2] = local_898;
piVar16[3] = local_894;
piVar16[4] = local_890;
piVar16[5] = local_88c;
piVar16[6] = local_888;
break;
case 0x43:
local_86c = 0;
local_884 = 0;
local_880 = 0;
local_87c = 0;
local_878 = 0;
local_874 = 0;
local_870 = 0;
iVar17 = inet_pton(10,(char *)piVar20[-4],&local_87c) //possible issue identified - semgrep
piVar22 = piVar20 + -4;
if (iVar17 != 1) goto LAB_004223bc;
free((void *)piVar20[-4]);
local_86c = 0x80;
local_884 = piVar20[-2];
if (piVar20[-1] < 0) {
local_884 = -1;
}
local_880 = *piVar20;
if (piVar20[1] < 0) {
local_880 = -1;
}
piVar16 = (int *)malloc(0x1c) //possible issue identified - semgrep
if (piVar16 == (int *)0x0) goto LAB_00422450;
*piVar16 = local_884;
piVar16[1] = local_880;
piVar16[2] = local_87c;
piVar16[3] = local_878;
piVar16[4] = local_874;
piVar16[5] = local_870;
piVar16[6] = local_86c;
break;
case 0x44:
local_850 = 0;
local_868 = 0;
local_864 = 0;
local_860 = 0;
local_85c = 0;
local_858 = 0;
local_854 = 0;
iVar17 = inet_pton(10,(char *)piVar20[-6],&local_860) //possible issue identified - semgrep
piVar16 = piVar20 + -6;
if (iVar17 != 1) {
LAB_0042246c:
yywarn("invalid IPv6 address: %s",*piVar16);
__ptr = (void *)*piVar16;
goto LAB_00422364;
}
free((void *)piVar20[-6]);
local_850 = piVar20[-2];
local_868 = *piVar20;
if (piVar20[1] < 0) {
local_868 = -1;
}
local_864 = local_868;
piVar16 = (int *)malloc(0x1c) //possible issue identified - semgrep
if (piVar16 == (int *)0x0) goto LAB_00422450;
*piVar16 = local_868;
piVar16[1] = local_864;
piVar16[2] = local_860;
piVar16[3] = local_85c;
piVar16[4] = local_858;
piVar16[5] = local_854;
piVar16[6] = local_850;
break;
case 0x45:
local_834 = 0;
local_84c = 0;
local_848 = 0;
local_844 = 0;
local_840 = 0;
local_83c = 0;
local_838 = 0;
iVar17 = inet_pton(10,(char *)piVar20[-8],&local_844) //possible issue identified - semgrep
piVar16 = piVar20 + -8;
if (iVar17 != 1) goto LAB_0042246c;
free((void *)piVar20[-8]);
local_834 = piVar20[-4];
local_84c = piVar20[-2];
if (piVar20[-1] < 0) {
local_84c = -1;
}
local_848 = *piVar20;
if (piVar20[1] < 0) {
local_848 = -1;
}
piVar16 = (int *)malloc(0x1c) //possible issue identified - semgrep
if (piVar16 == (int *)0x0) goto LAB_00422450;
*piVar16 = local_84c;
piVar16[1] = local_848;
piVar16[2] = local_844;
piVar16[3] = local_840;
piVar16[4] = local_83c;
piVar16[5] = local_838;
piVar16[6] = local_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 LAB_00422364;
}
local_3c = piVar20 + -2;
pcVar9 = strdup((char *)piVar20[-2]);
*piVar16 = (int)pcVar9;
if (pcVar9 == (char *)0x0) {
yywarn("can\'t allocate memory");
__ptr = (void *)*local_3c;
goto LAB_00422364;
}
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 LAB_00422364;
}
local_40 = piVar20 + -4;
pcVar9 = strdup((char *)piVar20[-4]);
*piVar16 = (int)pcVar9;
if (pcVar9 == (char *)0x0) {
yywarn("can\'t allocate memory");
__ptr = (void *)*local_40;
goto LAB_00422364;
}
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 LAB_00422380;
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 LAB_00422304;
}
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422380;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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 LAB_00422450;
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_0042bc14)[uVar21] - 0x4c) * 2;
sVar2 = *psVar23;
uVar21 = (int)sVar2 + (int)*(short *)(&UNK_0042bc88 + iVar17);
piVar20[local_38 * -2 + 2] = (int)piVar16;
piVar20[uVar14 * -2 + 3] = iVar18;
piVar16 = piVar20 + uVar14 * -2 + 2;
if ((uVar21 < 0x113) && ((int)*(short *)(&DAT_0042b764 + uVar21 * 2) == (int)sVar2)) {
uVar21 = (uint)(byte)(&UNK_0042b98c)[uVar21];
}
else {
uVar21 = (uint)*(short *)(&UNK_0042bcd4 + iVar17);
}
LAB_0041fd60:
psVar23 = psVar23 + 1;
piVar20 = piVar16;
} while( true );
}