undefined4 FUN_0040aa44(undefined4 *param_1,int param_2)
{
int *__s;
int iVar1;
int iVar2;
undefined4 uVar3;
undefined4 *puVar4;
int *piVar5;
undefined *puVar6;
int *piVar7;
undefined4 uVar8;
int local_20 [2];
__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");
return 0xffffffff;
}
memset(__s,0,0x24) //possible issue identified - semgrep
piVar5 = __s + 3;
piVar7 = __s + 5;
__s[2] = 4;
__s[4] = (int)piVar5;
__s[3] = (int)piVar5;
__s[6] = (int)piVar7;
__s[5] = (int)piVar7;
iVar1 = FUN_00407f84(param_1,piVar5);
if (iVar1 != 0) {
iVar2 = sobj_strcmp(iVar1,&DAT_004226a4);
if (iVar2 == 0) {
sobj_free(iVar1);
FUN_00407458(param_1[1],iVar1,local_20);
if ((local_20[0] == 0) && (iVar2 = sobj_strcmp(iVar1,&DAT_00422834), iVar2 == 0)) {
puVar6 = &DAT_00422838;
}
else {
if (local_20[0] != 0) {
xs_ungetc(0x22,param_1[1]) //possible issue identified - semgrep
}
uVar3 = sobj_get_string(iVar1);
xs_ungets(uVar3,param_1[1]) //possible issue identified - semgrep
if (local_20[0] != 0) {
xs_ungetc(0x22,param_1[1]) //possible issue identified - semgrep
}
puVar6 = (undefined *)0x0;
}
iVar2 = FUN_00409a00(param_1,piVar7,puVar6);
if (-1 < iVar2) {
puVar4 = *(undefined4 **)(param_2 + 4);
*__s = param_2;
*(int **)(param_2 + 4) = __s;
*puVar4 = __s;
__s[1] = (int)puVar4;
uVar3 = 0;
goto LAB_0040ad08;
}
}
else {
client_printf(*param_1,"\n!! %s >>>>>>>>>>>>>>>>>>>>>>>>>\n","SYNTAX ERROR");
client_printf(*param_1,"!! %s: File:[%s]\n","SYNTAX ERROR",param_1[2]);
uVar8 = *param_1;
uVar3 = sobj_get_string(iVar1);
client_printf(uVar8,"got an invalid token [%s]",uVar3);
client_printf(*param_1,"\n!! %s <<<<<<<<<<<<<<<<<<<<<<<<<\n","SYNTAX ERROR");
}
}
FUN_00409248(__s);
uVar3 = 0xffffffff;
LAB_0040ad08:
if (iVar1 != 0) {
sobj_del(iVar1);
}
return uVar3;
}