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;
}