int FUN_00412750(undefined4 param_1,int param_2,char *param_3)
{
int iVar1;
uint uVar2;
size_t sVar3;
int iVar4;
undefined4 uVar5;
code *UNRECOVERED_JUMPTABLE;
iVar1 = sobj_empty();
if (iVar1 != 0) {
sobj_add_string:
if (param_2 == 0) {
iVar1 = -1;
}
else {
iVar1 = 0;
if (param_3 != (char *)0x0) {
sVar3 = strlen(param_3);
if (sVar3 == 0) {
iVar1 = 0;
}
else {
do {
if (sVar3 <= (uint)(*(int *)(param_2 + 0xc) - *(int *)(param_2 + 0x10))) {
strcpy((char *)(*(int *)(param_2 + 0x14) + *(int *)(param_2 + 0x10)),param_3) //possible issue identified - semgrep
*(size_t *)(param_2 + 0x10) = *(int *)(param_2 + 0x10) + sVar3;
return 0;
}
iVar4 = FUN_0041e2c4(param_2);
iVar1 = -1;
} while (-1 < iVar4);
}
}
}
return iVar1;
}
uVar2 = sobj_get_length(param_1);
if (3 < uVar2) {
iVar1 = sobj_strcmp(param_1,"TIME");
if (iVar1 == 0) {
uVar5 = 0;
}
else {
iVar1 = sobj_strcmp(param_1,"TIME.ISO8601");
if (iVar1 == 0) {
uVar5 = 1;
}
else {
iVar1 = sobj_strcmp(param_1,"TIME.RFC1123");
if (iVar1 == 0) {
uVar5 = 2;
}
else {
iVar1 = sobj_strcmp(param_1,"TIME.RFC850");
if (iVar1 == 0) {
uVar5 = 3;
}
else {
iVar1 = sobj_strcmp(param_1,"TIME.ASCTIME",param_2);
if (iVar1 != 0) {
return iVar1;
}
uVar5 = 4;
}
}
}
}
iVar1 = FUN_0040e9cc(uVar5,param_3,param_2);
return iVar1;
}
iVar1 = sobj_strchr(param_1,0x6a);
if (iVar1 < 0) {
iVar1 = sobj_strchr(param_1,0x73);
if (iVar1 < 0) {
iVar1 = sobj_strchr(param_1,0x68);
if (iVar1 < 0) {
iVar1 = sobj_strchr(param_1,0x78);
if (iVar1 < 0) goto sobj_add_string;
UNRECOVERED_JUMPTABLE = sobj_escape_xml_sc;
}
else {
UNRECOVERED_JUMPTABLE = sobj_escape_html_sc;
}
}
else {
UNRECOVERED_JUMPTABLE = sobj_escape_shellscript;
}
}
else {
UNRECOVERED_JUMPTABLE = sobj_escape_javascript;
}
/* WARNING: Could not recover jumptable at 0x0041294c. Too many branches */
/* WARNING: Treating indirect jump as call */
iVar1 = (*UNRECOVERED_JUMPTABLE)(param_3,param_2);
return iVar1;
}