void FUN_00404104(int param_1)

{
  int iVar1;
  int *piVar2;
  
  piVar2 = dhcp6_if;
  if (dhcp6_if != (int *)0x0) {
    do {
      if ((param_1 == 0) || (iVar1 = ifreset(piVar2), iVar1 == 0)) {
        iVar1 = client6_start(piVar2);
        if (iVar1 != 0) {
                    /* WARNING: Subroutine does not return */
          exit(1);
        }
      }
      else {
        dprintf(5,"client6_startall","failed to reset %s",piVar2[4]);
      }
      piVar2 = (int *)*piVar2;
    } while (piVar2 != (int *)0x0);
  }
  return;
}