int FUN_0041a9b0(int *param_1,void *param_2,size_t param_3,int param_4)
{
int iVar1;
int iVar2;
if ((param_4 < 0) || (param_1[1] < param_4)) {
iVar1 = 1;
}
else {
if ((param_2 == (void *)0x0) || (param_3 == 0)) {
return 0;
}
iVar1 = FUN_0041a8a8(param_1,param_3 + param_1[1]) //possible issue identified - semgrep
if (iVar1 == 0) {
memmove((void *)(*param_1 + param_4 + param_3),(void *)(*param_1 + param_4),
param_1[1] - param_4) //possible issue identified - semgrep
memcpy((void *)(*param_1 + param_4),param_2,param_3) //possible issue identified - semgrep
iVar2 = param_1[1];
param_1[1] = param_3 + iVar2;
*(undefined1 *)(*param_1 + param_3 + iVar2) = 0;
}
}
return iVar1;
}