undefined4
FUN_004070f4(undefined4 param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5
,undefined4 param_6,undefined4 param_7)
{
int iVar1;
undefined4 uVar2;
char *pcVar3;
undefined1 auStack_110 [8];
undefined1 auStack_108 [240];
if (*(int *)(param_4 + 0x28) == 0) {
if (*(int *)(param_4 + 0x30) == 0) {
if (*(int *)(param_4 + 8) != 0) {
iVar1 = duidcmp(param_4 + 8,&DAT_0043a634);
if (iVar1 != 0) {
pcVar3 = "server DUID mismatch";
goto LAB_00407304;
}
}
dhcp6_init_options(auStack_110);
iVar1 = duidcpy(auStack_108,&DAT_0043a634);
if (iVar1 == 0) {
if ((*(int *)(param_4 + 4) == 0) || (iVar1 = duidcpy(auStack_110,param_4), iVar1 == 0)) {
iVar1 = FUN_00403588(0xb,auStack_110,param_4 + 0x38);
if (iVar1 == 0) {
uVar2 = FUN_0040621c(7,param_1,param_2,param_4,param_5,param_6,auStack_110,param_7,0);
dhcp6_clear_options(auStack_110);
return uVar2;
}
dprintf(3,"react_informreq","failed to set other stateless information");
}
else {
dprintf(3,"react_informreq","failed to copy client ID");
}
}
else {
dprintf(3,"react_informreq","failed to copy server ID");
}
dhcp6_clear_options(auStack_110);
return 0xffffffff;
}
pcVar3 = "information request contains an IA_NA option";
}
else {
pcVar3 = "information request contains an IA_PD option";
}
LAB_00407304:
dprintf(6,"react_informreq",pcVar3);
return 0xffffffff;
}