void RT_snooping_dump(void)
{
byte bVar1;
byte bVar2;
byte bVar3;
uint uVar4;
char *pcVar5;
int iVar6;
uint uVar7;
char *pcVar8;
int *piVar9;
uint *puVar10;
byte *pbVar11;
char acStack_a8 [128];
pbVar11 = DAT_0041b9d0;
puts("=== Dump group entries:");
while (pbVar11 != (byte *)0x0) {
printf("01:00:5e:%02x:%02x:%02x\t",(uint)*pbVar11,(uint)pbVar11[1],(uint)pbVar11[2]);
if ((pbVar11[3] & 1) != 0) {
printf("%d ",0);
}
putchar(10);
for (puVar10 = *(uint **)(pbVar11 + 4); puVar10 != (uint *)0x0; puVar10 = (uint *)puVar10[2]) {
uVar7 = *puVar10;
uVar4 = puVar10[1];
bVar1 = *pbVar11;
bVar2 = pbVar11[1];
bVar3 = pbVar11[2];
pcVar5 = inet_ntoa((in_addr)(uVar7 << 0x18 | uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 |
(uVar7 & 0xff00) << 8));
pcVar8 = "not-reported";
if (*(char *)((int)puVar10 + 6) != '\0') {
pcVar8 = "reported";
}
printf("\t\t%d.%d.%d.%d\t%s(%d)\tport%d\t%s\n",(byte)((byte)uVar4 >> 1) | 0xe0,
((byte)uVar4 & 1) << 7 | (uint)bVar1,(uint)bVar2,(uint)bVar3,pcVar5,
(uint)(byte)puVar10[1],(int)*(char *)((int)puVar10 + 5),pcVar8);
}
pbVar11 = *(byte **)(pbVar11 + 8);
putchar(10);
}
puts("===");
piVar9 = &DAT_0041b9dc;
iVar6 = DAT_0041b9dc;
do {
if (iVar6 == -1) {
return;
}
sprintf(acStack_a8,"%08x%04x, %08x\n",*piVar9,(uint)*(ushort *)(piVar9 + 1),
(uint)*(byte *)((int)piVar9 + 6)) //possible issue identified - semgrep
puts(acStack_a8);
iVar6 = piVar9[2];
piVar9 = piVar9 + 2;
} while (piVar9 != &DAT_0041d9dc);
return;
}