undefined4 FUN_00403588(int param_1,int param_2,int *param_3)
{
bool bVar1;
bool bVar2;
bool bVar3;
bool bVar4;
bool bVar5;
bool bVar6;
bool bVar7;
bool bVar8;
bool bVar9;
bool bVar10;
bool bVar11;
int iVar12;
undefined4 uVar13;
char *pcVar14;
param_3 = (int *)*param_3;
if (param_3 == (int *)0x0) {
LAB_004036bc:
iVar12 = optrefreshtime;
uVar13 = 0;
if ((param_1 == 0xb) && ((optrefreshtime != -1 || (uVar13 = 0, DAT_00438d14 != -1)))) {
*(int *)(param_2 + 0x24) = DAT_00438d14;
*(int *)(param_2 + 0x20) = iVar12;
return 0;
}
}
else {
bVar11 = false;
bVar10 = false;
bVar9 = false;
bVar8 = false;
bVar7 = false;
bVar6 = false;
bVar5 = false;
bVar4 = false;
bVar3 = false;
bVar2 = false;
bVar1 = false;
do {
if (param_3[2] == 1) {
switch(param_3[3]) {
case 0x15:
bVar1 = true;
break;
case 0x16:
bVar2 = true;
break;
case 0x17:
bVar3 = true;
break;
case 0x18:
bVar4 = true;
break;
case 0x1b:
bVar7 = true;
break;
case 0x1c:
bVar9 = true;
break;
case 0x1d:
bVar6 = true;
break;
case 0x1e:
bVar8 = true;
break;
case 0x1f:
bVar5 = true;
break;
case 0x21:
bVar10 = true;
break;
case 0x22:
bVar11 = true;
}
}
param_3 = (int *)*param_3;
} while (param_3 != (int *)0x0);
if ((bVar1) && (iVar12 = dhcp6_copy_list(param_2 + 0x50,&sipnamelist), iVar12 != 0)) {
pcVar14 = "failed to copy SIP domain list";
}
else if ((bVar2) && (iVar12 = dhcp6_copy_list(param_2 + 0x48,&siplist), iVar12 != 0)) {
pcVar14 = "failed to copy SIP servers";
}
else if ((bVar3) && (iVar12 = dhcp6_copy_list(param_2 + 0x68,&dnslist), iVar12 != 0)) {
pcVar14 = "failed to copy DNS servers";
}
else if ((bVar4) && (iVar12 = dhcp6_copy_list(param_2 + 0x70,&dnsnamelist), iVar12 != 0)) {
pcVar14 = "failed to copy DNS search list";
}
else if ((bVar5) && (iVar12 = dhcp6_copy_list(param_2 + 0x78,&ntplist), iVar12 != 0)) {
pcVar14 = "failed to copy NTP servers";
}
else if ((bVar6) && (iVar12 = dhcp6_copy_list(param_2 + 0x90,&nisnamelist), iVar12 != 0)) {
pcVar14 = "failed to copy NIS domain list";
}
else if ((bVar7) && (iVar12 = dhcp6_copy_list(param_2 + 0x88,&nislist), iVar12 != 0)) {
pcVar14 = "failed to copy NIS servers";
}
else if ((bVar8) && (iVar12 = dhcp6_copy_list(param_2 + 0xa0,&nispnamelist), iVar12 != 0)) {
pcVar14 = "failed to copy NIS+ domain list";
}
else if ((bVar9) && (iVar12 = dhcp6_copy_list(param_2 + 0x98,&nisplist), iVar12 != 0)) {
pcVar14 = "failed to copy NIS+ servers";
}
else if ((bVar10) && (iVar12 = dhcp6_copy_list(param_2 + 0xb0,&bcmcsnamelist), iVar12 != 0)) {
pcVar14 = "failed to copy BCMCS domain list";
}
else {
if ((!bVar11) || (iVar12 = dhcp6_copy_list(param_2 + 0xa8,&bcmcslist), iVar12 == 0))
goto LAB_004036bc;
pcVar14 = "failed to copy BCMCS servers";
}
dprintf(3,"set_statelessinfo",pcVar14);
uVar13 = 0xffffffff;
}
return uVar13;
}