int FUN_004093c8(undefined4 *param_1,int param_2,char *param_3,int param_4)
{
int iVar1;
int *__s;
char *pcVar2;
undefined4 *puVar3;
int *piVar4;
undefined4 uVar5;
int iVar6;
undefined4 uVar7;
int local_28 [3];
iVar1 = sobj_new();
if (iVar1 == 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");
return -1;
}
__s = (int *)malloc(0x24) //possible issue identified - semgrep
if (__s == (int *)0x0) {
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");
iVar6 = -1;
}
else {
memset(__s,0,0x24) //possible issue identified - semgrep
__s[2] = 2;
pcVar2 = strdup(param_3) //possible issue identified - semgrep
piVar4 = __s + 5;
__s[3] = (int)pcVar2;
__s[4] = param_4;
__s[6] = (int)piVar4;
__s[5] = (int)piVar4;
iVar6 = FUN_00408ba4(param_1,piVar4);
if (-1 < iVar6) {
FUN_00407458(param_1[1],iVar1,local_28);
if (local_28[0] == 0) {
iVar6 = sobj_strcmp(iVar1,&DAT_0042335c);
if (iVar6 == 0) {
puVar3 = *(undefined4 **)(param_2 + 4);
*__s = param_2;
*(int **)(param_2 + 4) = __s;
*puVar3 = __s;
__s[1] = (int)puVar3;
iVar6 = 0;
goto LAB_004096d8;
}
client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
uVar7 = *param_1;
uVar5 = sobj_get_string(iVar1);
client_printf(uVar7,"got an invalid token [%s]",uVar5);
uVar5 = *param_1;
}
else {
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,"should not see quotation mark here !");
uVar5 = *param_1;
}
iVar6 = -1;
client_printf(uVar5,"\n!! %s <<<<<<<<<<<<<<<<<<<<<<<<<\n","SYNTAX ERROR");
}
FUN_00409248(__s);
}
LAB_004096d8:
sobj_del(iVar1);
return iVar6;
}