void FUN_004041e4(int *param_1)
{
int *piVar1;
int *piVar2;
int *piVar3;
piVar3 = dhcp6_if;
if (dhcp6_if != (int *)0x0) {
do {
if ((param_1 == (int *)0x0) || (param_1 == piVar3)) {
release_all_ia(piVar3);
piVar2 = (int *)piVar3[2];
while (piVar1 = piVar2, piVar1 != (int *)0x0) {
piVar2 = (int *)*piVar1;
if (piVar1[0xf] != 6) {
dhcp6_remove_event(piVar1);
}
}
}
piVar3 = (int *)*piVar3;
} while (piVar3 != (int *)0x0);
}
return;
}