undefined4 FUN_00408e6c(undefined4 *param_1,int param_2)
{
int *__s;
int *piVar1;
int iVar2;
int iVar3;
int iVar4;
undefined4 *puVar5;
int *piVar6;
undefined4 uVar7;
undefined4 uVar8;
while( true ) {
__s = (int *)malloc(0x20) //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,0x20) //possible issue identified - semgrep
piVar1 = __s + 2;
piVar6 = __s + 4;
__s[3] = (int)piVar1;
__s[2] = (int)piVar1;
__s[5] = (int)piVar6;
__s[4] = (int)piVar6;
iVar2 = FUN_00407f84(param_1,piVar1);
if (iVar2 == 0) goto LAB_00409234;
iVar3 = sobj_strcmp(iVar2,&DAT_004226b8);
if (iVar3 == 0) {
__s[6] = 0;
goto LAB_00409074;
}
iVar3 = sobj_strcmp(iVar2,&DAT_004226bc);
iVar4 = 1;
if (iVar3 != 0) break;
LAB_00409000:
__s[6] = iVar4;
LAB_00409074:
sobj_del(iVar2);
iVar2 = FUN_00407f84(param_1,piVar6);
if (iVar2 == 0) goto LAB_00409234;
iVar3 = sobj_strcmp(iVar2,&DAT_004226a4);
if (iVar3 == 0) {
__s[7] = 0;
}
else {
iVar3 = sobj_strcmp(iVar2,&DAT_004226a8);
iVar4 = 1;
if (iVar3 != 0) {
iVar3 = sobj_strcmp(iVar2,&DAT_004226ac);
iVar4 = 2;
if (iVar3 != 0) goto LAB_00409104;
}
__s[7] = iVar4;
}
puVar5 = *(undefined4 **)(param_2 + 4);
*__s = param_2;
*(int **)(param_2 + 4) = __s;
*puVar5 = __s;
__s[1] = (int)puVar5;
iVar3 = sobj_strcmp(iVar2,&DAT_004226a4);
uVar8 = 0;
if (iVar3 == 0) goto LAB_004091e4;
sobj_del(iVar2);
}
iVar3 = sobj_strcmp(iVar2,&DAT_004226b0);
iVar4 = 2;
if (iVar3 == 0) goto LAB_00409000;
iVar3 = sobj_strcmp(iVar2,&DAT_004226b4);
if (iVar3 == 0) {
__s[6] = 3;
goto LAB_00409074;
}
iVar3 = sobj_strcmp(iVar2,&DAT_004226c4);
if (iVar3 == 0) {
__s[6] = 4;
goto LAB_00409074;
}
iVar3 = sobj_strcmp(iVar2,&DAT_004226c0);
if (iVar3 == 0) {
__s[6] = 5;
goto LAB_00409074;
}
LAB_00409104:
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;
uVar8 = sobj_get_string(iVar2);
client_printf(uVar7,"got an invalid token [%s]",uVar8);
client_printf(*param_1,"\n!! %s <<<<<<<<<<<<<<<<<<<<<<<<<\n","SYNTAX ERROR");
LAB_00409234:
FUN_00408e24(__s);
uVar8 = 0xffffffff;
LAB_004091e4:
if (iVar2 == 0) {
return uVar8;
}
sobj_del(iVar2);
return uVar8;
}