int FUN_0040ad5c(undefined4 *param_1,undefined4 param_2)
{
int iVar1;
int iVar2;
int iVar3;
int iVar4;
undefined4 uVar5;
char *pcVar6;
code *pcVar7;
int local_38 [2];
undefined4 *local_30;
int *local_2c;
iVar1 = sobj_new();
if (iVar1 == 0) {
return -1;
}
iVar2 = xs_getc(param_1[1]) //possible issue identified - semgrep
iVar3 = xs_getc(param_1[1]) //possible issue identified - semgrep
iVar4 = xs_getc(param_1[1]) //possible issue identified - semgrep
if (((iVar2 != 0xef) || (iVar3 != 0xbb)) || (iVar4 != 0xbf)) {
if (iVar4 != -1) {
xs_ungetc(iVar4,param_1[1]) //possible issue identified - semgrep
}
if (iVar3 != -1) {
xs_ungetc(iVar3,param_1[1]) //possible issue identified - semgrep
}
if (iVar2 != -1) {
xs_ungetc(iVar2,param_1[1]) //possible issue identified - semgrep
}
}
local_2c = local_38;
local_30 = param_1 + 6;
LAB_0040b2f0:
do {
iVar2 = xs_getc(param_1[1]) //possible issue identified - semgrep
if (iVar2 == -1) {
LAB_0040b3ac:
iVar2 = sobj_get_length(iVar1);
goto LAB_0040b354;
}
if (iVar2 != 0x3c) {
pcVar7 = sobj_add_char;
iVar3 = iVar1;
LAB_0040af24:
(*pcVar7)(iVar3,iVar2);
goto LAB_0040b2f0;
}
iVar3 = xs_getc(param_1[1],0x3c) //possible issue identified - semgrep
if (iVar3 == -1) {
sobj_add_char(iVar1,0x3c);
goto LAB_0040b3ac;
}
if (iVar3 != 0x3f) {
sobj_add_char(iVar1,0x3c);
iVar2 = param_1[1];
pcVar7 = xs_ungetc;
goto LAB_0040af24;
}
iVar2 = sobj_empty(iVar1);
if (iVar2 == 0) {
iVar2 = FUN_00409800(param_1,param_2,0,iVar1,0);
sobj_free(iVar1);
if (iVar2 != 0) break;
}
iVar2 = xs_getc(param_1[1]) //possible issue identified - semgrep
if (iVar2 == 0x65) {
iVar2 = xs_getc(param_1[1]) //possible issue identified - semgrep
iVar3 = xs_getc(param_1[1]) //possible issue identified - semgrep
iVar4 = xs_getc(param_1[1]) //possible issue identified - semgrep
if (((iVar2 != 0x70) || (iVar3 != 0x68)) || (iVar4 != 0x70)) {
xs_ungetc(iVar4,param_1[1]) //possible issue identified - semgrep
xs_ungetc(iVar3,param_1[1]) //possible issue identified - semgrep
xs_ungetc(iVar2,param_1[1]) //possible issue identified - semgrep
uVar5 = param_1[1];
iVar2 = 0x65;
goto LAB_0040b2c8;
}
LAB_0040b2d0:
iVar2 = FUN_00409a00(param_1,param_2,&DAT_00422864);
}
else {
if (0x65 < iVar2) {
LAB_0040b2bc:
uVar5 = param_1[1];
LAB_0040b2c8:
xs_ungetc(iVar2,uVar5) //possible issue identified - semgrep
goto LAB_0040b2d0;
}
if (iVar2 == -1) goto LAB_0040b1fc;
if (iVar2 != 0x3d) goto LAB_0040b2bc;
iVar2 = xs_getc(param_1[1]) //possible issue identified - semgrep
if (iVar2 != 0x24) {
client_puts("SYNTAX ERROR: expecting a variable after \'=\' !!\n",*param_1);
LAB_0040b1fc:
iVar2 = -1;
break;
}
local_38[0] = 0;
iVar3 = sobj_new();
if (iVar3 == 0) {
client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","INTERNAL ERROR");
client_printf(*param_1,"!! %s: File:[%s]\n","INTERNAL ERROR",param_1[2]);
client_printf(*param_1,"memory allocation failed !");
client_printf(*param_1,"\n!! %s <<<<<<<<<<<<<<<<<<<<<<<<<\n","INTERNAL ERROR");
goto LAB_0040b1fc;
}
FUN_00407458(param_1[1],iVar3,local_2c);
if (local_38[0] == 0) {
FUN_00409800(param_1,param_2,local_30,iVar3,1);
iVar2 = 0;
sobj_free(iVar3);
FUN_00407458(param_1[1],iVar3,local_2c);
iVar4 = sobj_strcmp(iVar3,&DAT_00422864);
if (iVar4 != 0) {
client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
client_printf(*param_1,"Expecting \'?>\' immediately !");
uVar5 = *param_1;
pcVar6 = "SYNTAX ERROR";
goto LAB_0040b1d0;
}
}
else {
client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","INTERNAL ERROR");
client_printf(*param_1,"!! %s: File:[%s]\n","INTERNAL ERROR",param_1[2]);
client_printf(*param_1,"should not see quotation mark here !");
uVar5 = *param_1;
pcVar6 = "INTERNAL ERROR";
LAB_0040b1d0:
iVar2 = -1;
client_printf(uVar5,"\n!! %s <<<<<<<<<<<<<<<<<<<<<<<<<\n",pcVar6);
}
sobj_del(iVar3);
}
} while (iVar2 == 0);
goto LAB_0040b364;
while( true ) {
iVar2 = iVar2 + -1;
iVar3 = sobj_get_char(iVar1,iVar2);
if ((iVar3 != 10) && (iVar3 != 0xd)) break;
LAB_0040b354:
if (iVar2 < 1) {
iVar2 = 0;
goto LAB_0040b364;
}
}
FUN_00409800(param_1,param_2,0,iVar1,0);
iVar2 = 0;
LAB_0040b364:
sobj_del(iVar1);
return iVar2;
}