undefined4 FUN_00404a7c(undefined4 *param_1,int param_2,undefined4 param_3)
{
int iVar1;
int *piVar2;
undefined4 uVar3;
undefined4 local_30;
undefined4 local_2c;
undefined4 local_28;
undefined4 local_24;
undefined4 local_20;
undefined4 local_1c;
dprintf(7,"make_iana_from_pool","called");
iVar1 = find_pool(*param_1);
if (iVar1 == 0) {
dprintf(3,"make_iana_from_pool","pool \'%s\' not found",*param_1);
return 0;
}
if (param_2 == 0) {
iVar1 = get_free_address_from_pool(iVar1,&local_28);
uVar3 = 0;
if (iVar1 == 0) goto LAB_00404b68;
}
else {
local_20 = *(undefined4 *)(param_2 + 0x1c);
local_28 = *(undefined4 *)(param_2 + 0x14);
local_1c = *(undefined4 *)(param_2 + 0x20);
local_24 = *(undefined4 *)(param_2 + 0x18);
iVar1 = is_available_in_pool(iVar1);
if (iVar1 == 0) {
piVar2 = __errno_location();
*piVar2 = 0x16;
return 0;
}
}
local_2c = param_1[2];
local_30 = param_1[1];
iVar1 = dhcp6_add_listval(param_3,7,&local_30,0);
if (iVar1 == 0) {
return 0;
}
uVar3 = 1;
LAB_00404b68:
dprintf(7,"make_iana_from_pool","returns (found=%d)",uVar3);
return uVar3;
}