undefined4 GetBssCoexEffectedChRange(int param_1,byte *param_2)
{
char cVar1;
byte bVar2;
uint uVar3;
char *pcVar4;
int iVar5;
int iVar6;
memset(param_2,0,4) //possible issue identified - semgrep
pcVar4 = (char *)(param_1 + 0x4e3e);
iVar6 = 0;
while( true ) {
if ((int)(uint)*(byte *)(param_1 + 0x5058) <= iVar6) {
if (RTDebugLevel != 0) {
printk("2.4GHz: Didn\'t found valid channel range, Ch index=%d, ChListNum=%d, CtrlCh=%d\n",
iVar6,(uint)*(byte *)(param_1 + 0x5058),*(undefined1 *)(param_1 + 0x169ec));
}
return 0;
}
cVar1 = *pcVar4;
pcVar4 = pcVar4 + 10;
if (*(char *)(param_1 + 0x169ec) == cVar1) break;
iVar6 = iVar6 + 1;
}
bVar2 = (byte)iVar6;
*param_2 = bVar2;
if ((*(uint *)(param_1 + 0x16a44) & 0x60000) == 0x20000) {
if ((int)(uint)*(byte *)(param_1 + 0x5058) <= iVar6 + 4) {
return 1;
}
param_2[1] = bVar2 + 4;
iVar5 = iVar6 + 2;
LAB_000672ec:
uVar3 = iVar5 + 5;
iVar5 = iVar5 + -5;
if ((int)uVar3 < 0) {
uVar3 = 0;
}
if (iVar5 < 0) {
iVar5 = 0;
}
param_2[2] = (byte)iVar5;
param_2[3] = (byte)uVar3;
if (RTDebugLevel < 3) {
return 1;
}
if ((*(uint *)(param_1 + 0x16a44) & 0x60000) == 0x20000) {
pcVar4 = "ABOVE";
}
else {
pcVar4 = "BELOW";
}
printk("2.4GHz: Found CtrlCh idx(%d) from the ChList, ExtCh=%s, PrimaryCh=[Idx:%d, CH:%d], SecondaryCh=[Idx:%d, CH:%d], effected Ch=[CH:%d~CH:%d]!\n"
,iVar6,pcVar4,(uint)*param_2,*(undefined1 *)((uint)*param_2 * 10 + param_1 + 0x4e3e),
(uint)param_2[1],*(undefined1 *)((uint)param_2[1] * 10 + param_1 + 0x4e3e),
*(undefined1 *)((uint)param_2[2] * 10 + param_1 + 0x4e3e),
*(undefined1 *)((uVar3 & 0xff) * 10 + param_1 + 0x4e3e));
return 1;
}
if (-1 < iVar6 + -4) {
iVar5 = iVar6 + -2;
param_2[1] = bVar2 - 4;
if (iVar5 != 0) goto LAB_000672ec;
}
return 1;
}