void FUN_00403d0c(int *param_1)
{
undefined4 uVar1;
undefined4 *puVar2;
int iVar3;
undefined4 *puVar4;
short in_stack_00000010;
dolog(7,"Received a ICMPv6 MLD Query on %s\n",param_1 + 1);
if (in_stack_00000010 == 0x18) {
uVar1 = 1;
}
else {
uVar1 = 2;
}
int_set_mld_version(param_1,uVar1);
if ((*(int *)(g_conf + 0x30) == 0) &&
(((*(int *)(g_conf + 0x2c) != 0 || (param_1[7] == 0)) || (param_1[7] == 1)))) {
for (puVar4 = (undefined4 *)**(undefined4 **)(g_conf + 0xc); puVar4 != (undefined4 *)0x0;
puVar4 = (undefined4 *)*puVar4) {
iVar3 = puVar4[2];
if (iVar3 != 0) {
for (puVar2 = (undefined4 *)**(undefined4 **)(iVar3 + 0x10); puVar2 != (undefined4 *)0x0;
puVar2 = (undefined4 *)*puVar2) {
if (((int *)puVar2[2] != (int *)0x0) && (*(int *)puVar2[2] == *param_1)) {
FUN_00403c08(param_1,iVar3);
}
}
}
}
return;
}
if ((*(int *)(g_conf + 0x2c) == 0) && ((*(int *)(g_conf + 0x30) != 0 || (param_1[7] == 2)))) {
FUN_00403168(param_1,0);
return;
}
dolog(7,"Did not answer query on %s\n",param_1 + 1);
return;
}