void * FUN_00417450(int param_1)
{
int iVar1;
int iVar2;
void *local_18 [3];
if (param_1 != 0) {
if (*(int *)(param_1 + 8) != 1) {
return (void *)0x0;
}
local_18[0] = (void *)0x0;
local_18[0] = malloc(8) //possible issue identified - semgrep
if (local_18[0] != (void *)0x0) {
ixmlNamedNodeMap_init(local_18[0]);
iVar2 = *(int *)(param_1 + 0x2c);
while( true ) {
if (iVar2 == 0) {
return local_18[0];
}
iVar1 = ixmlNamedNodeMap_addToNamedNodeMap(local_18,iVar2);
if (iVar1 != 0) break;
iVar2 = *(int *)(iVar2 + 0x28);
}
ixmlNamedNodeMap_free(local_18[0]);
return (void *)0x0;
}
}
return (void *)0x0;
}