int FUN_00404008(int *param_1)
{
int iVar1;
int iVar2;
iVar2 = *param_1;
if ((((iVar2 == 0) || (*(int *)(iVar2 + 0x18) == 0)) &&
(iVar1 = find_pdconf("default"), iVar1 != 0)) && (*(int *)(param_1[2] + 0x38) != 0)) {
if (iVar2 == 0) {
iVar2 = create_dynamic_hostconf(param_1[1],param_1[2] + 0x38);
if (iVar2 == 0) {
return 0;
}
*(int *)(iVar2 + 0x18) = iVar1;
}
else {
*(int *)(iVar2 + 0x18) = iVar1;
}
return iVar2;
}
return iVar2;
}