int proc_write_forskip(undefined4 param_1,char *param_2,int param_3,int param_4)
{
int iVar1;
int iVar2;
int iVar3;
undefined2 local_18;
undefined2 local_14;
iVar2 = -0x16;
if (param_3 != 0) {
iVar2 = param_3;
if (*param_2 == '-') {
*(undefined4 *)(param_4 + 0x28) = 0;
}
else {
iVar3 = *(int *)(param_4 + 0x28);
if (iVar3 < *(int *)(param_4 + 0x2c)) {
iVar1 = sscanf(param_2,"%d-%d") //possible issue identified - semgrep
if (iVar1 == 1) {
iVar1 = *(int *)(param_4 + 0x28);
*(undefined2 *)(param_4 + iVar3 * 2) = local_18;
*(int *)(param_4 + 0x28) = iVar1 + 1;
*(undefined2 *)(param_4 + (iVar3 + 8) * 2 + 4) = local_18;
}
else if (iVar1 == 2) {
iVar1 = *(int *)(param_4 + 0x28);
*(undefined2 *)(param_4 + (iVar3 + 8) * 2 + 4) = local_18;
*(undefined2 *)(param_4 + iVar3 * 2) = local_14;
*(int *)(param_4 + 0x28) = iVar1 + 1;
}
}
}
}
return iVar2;
}