char * xmldb_get_value(uint param_1,char *param_2)
{
size_t sVar1;
int iVar2;
int iVar3;
undefined4 uVar4;
int iVar5;
int iVar6;
int iVar7;
char *pcVar8;
undefined4 *puVar9;
if (((param_2 == (char *)0x0) || (sVar1 = strlen(param_2), (int)sVar1 < 1)) ||
(iVar2 = sobj_new(), iVar2 == 0)) {
return "";
}
if (param_2[sVar1 - 1] == '#') {
iVar3 = sobj_add_string(iVar2,param_2);
pcVar8 = (char *)0x0;
if (iVar3 < 0) goto LAB_00405cb0;
sobj_remove_tail(iVar2);
uVar4 = sobj_get_string(iVar2);
iVar3 = sobj_new();
if (iVar3 != 0) {
sobj_add_string(iVar3,uVar4);
iVar5 = sobj_strrchr(iVar3,0x2f);
if (iVar5 < 0) {
iVar5 = 0;
iVar6 = iVar3;
}
else {
iVar6 = sobj_split(iVar3,iVar5);
iVar5 = sobj_empty(iVar3);
sobj_remove_char(iVar6,0);
uVar4 = sobj_get_string(iVar3);
param_1 = xmldb_find_node(param_1 & -(uint)(iVar5 == 0),uVar4,0,1);
iVar5 = iVar3;
}
iVar3 = -1;
if (param_1 != 0) {
iVar3 = 0;
puVar9 = (undefined4 *)0x0;
while (pcVar8 = (char *)sobj_get_string(iVar6), pcVar8 != (char *)0x0) {
if (puVar9 == (undefined4 *)0x0) {
puVar9 = *(undefined4 **)(param_1 + 8);
}
else {
puVar9 = (undefined4 *)*puVar9;
}
while( true ) {
if (puVar9 == (undefined4 *)(param_1 + 8)) goto LAB_00405b64;
iVar7 = strcmp((char *)puVar9[7],pcVar8);
if (iVar7 == 0) break;
puVar9 = (undefined4 *)*puVar9;
}
iVar3 = iVar3 + 1;
}
}
LAB_00405b64:
if (iVar5 != 0) {
sobj_del(iVar5);
}
if (iVar6 != 0) {
sobj_del(iVar6);
}
if (iVar3 != -1) {
sprintf(&DAT_00434924,"%d",iVar3) //possible issue identified - semgrep
pcVar8 = &DAT_00434924;
goto LAB_00405cb0;
}
}
}
else {
iVar3 = xmldb_find_node(param_1,param_2,0,1);
if (iVar3 != 0) {
iVar5 = FUN_00404aa4(iVar3,&DAT_0042254c);
if (iVar5 != 0) {
FUN_00404d30(iVar5,iVar2);
sobj_eat_all_white(iVar2);
if (*(void **)(iVar3 + 0x20) != (void *)0x0) {
free(*(void **)(iVar3 + 0x20));
}
uVar4 = sobj_strdup(iVar2);
*(undefined4 *)(iVar3 + 0x20) = uVar4;
}
pcVar8 = *(char **)(iVar3 + 0x20);
goto LAB_00405cb0;
}
}
pcVar8 = (char *)0x0;
LAB_00405cb0:
sobj_del(iVar2);
if (pcVar8 == (char *)0x0) {
pcVar8 = "";
}
return pcVar8;
}