undefined4 sobj_add_string(int param_1,char *param_2)
{
size_t sVar1;
int iVar2;
undefined4 uVar3;
if (param_1 == 0) {
uVar3 = 0xffffffff;
}
else {
uVar3 = 0;
if (param_2 != (char *)0x0) {
sVar1 = strlen(param_2);
if (sVar1 == 0) {
uVar3 = 0;
}
else {
do {
if (sVar1 <= (uint)(*(int *)(param_1 + 0xc) - *(int *)(param_1 + 0x10))) {
strcpy((char *)(*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x10)),param_2) //possible issue identified - semgrep
*(size_t *)(param_1 + 0x10) = *(int *)(param_1 + 0x10) + sVar1;
return 0;
}
iVar2 = FUN_0040dd44(param_1);
uVar3 = 0xffffffff;
} while (-1 < iVar2);
}
}
}
return uVar3;
}