void APOverlappingBSSScan(int param_1)

{
  byte bVar1;
  bool bVar2;
  char cVar3;
  byte *pbVar4;
  int iVar5;
  uint uVar6;
  undefined1 *puVar7;
  uint uVar8;
  uint uVar9;
  int iVar10;
  int *unaff_gp;
  undefined1 auStack_68 [8];
  undefined4 local_60;
  int local_5c;
  undefined *local_58;
  undefined4 ******local_54;
  undefined4 ******local_50;
  int local_48;
  byte *local_44;
  int local_40;
  int local_3c;
  int local_38;
  int local_34;
  uint local_30;
  
  if (((*(byte *)(param_1 + 0x16982) < 5) || ((*(uint *)(param_1 + 0x16a44) & 0x800) == 0)) ||
     (0xe < *(byte *)(param_1 + 0x169ec))) {
    if (2 < RTDebugLevel) {
      printk("The pAd->PhyMode=%d, BW=%d, didn\'t need channel adjustment!\n",
             *(byte *)(param_1 + 0x16982),(uint)(*(int *)(param_1 + 0x16a44) << 0x14) >> 0x1f);
    }
  }
  else {
    uVar8 = (uint)*(byte *)(param_1 + 0x5058);
    pbVar4 = (byte *)(param_1 + 0x4e3e);
    for (local_3c = 0; local_3c < (int)uVar8; local_3c = local_3c + 1) {
      bVar1 = *pbVar4;
      pbVar4 = pbVar4 + 10;
      if (bVar1 == *(byte *)(param_1 + 0x169ec)) {
        if ((*(uint *)(param_1 + 0x16a44) & 0x60000) == 0x20000) {
          local_40 = local_3c + 4;
          if ((int)uVar8 <= local_3c + 4) {
            local_40 = uVar8 - 1;
          }
          local_34 = local_3c + -3;
          local_38 = local_40 + 3;
          if ((int)uVar8 <= local_40 + 3) {
            local_38 = uVar8 - 1;
          }
          if (local_3c < 3) {
            local_34 = 0;
          }
        }
        else {
          local_40 = local_3c + -4;
          if (local_40 < 0) {
            local_40 = 0;
          }
          local_34 = local_40 + -3;
          local_38 = local_3c + 3;
          if ((int)uVar8 <= local_3c + 3) {
            local_38 = uVar8 - 1;
          }
          if (local_40 < 3) {
            local_34 = 0;
          }
        }
        GetBssCoexEffectedChRange(param_1,&local_60);
        puVar7 = (undefined1 *)(param_1 + 0x4e3f);
        iVar5 = 0;
        while (bVar2 = iVar5 < (int)(uint)*(byte *)(param_1 + 0x5058), iVar5 = iVar5 + 1, bVar2) {
          *puVar7 = 0;
          puVar7 = puVar7 + 10;
        }
        *(undefined1 *)(param_1 + 0x16b32) = 0;
        if (-1 < *(int *)(param_1 + 0x76904) << 3) {
          if (2 < RTDebugLevel) {
            printk("Card still not enable Tx/Rx, enable it now!\n");
          }
          uVar8 = Status & 1;
          *(undefined4 *)(param_1 + 0xf0) = 0x3fffc;
          *(undefined4 *)(param_1 + 0xf4) = 0;
          *(undefined4 *)(param_1 + 0xf8) = 0;
          Status = Status & 0xfffffffe;
          if (uVar8 != 0) {
            Status = Status | 1;
          }
          if ((*(char *)(param_1 + 0xec) == '\0') &&
             (*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x200) = 0xffffffff,
             *(char *)(param_1 + 0xec) == '\0')) {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x204) = *(undefined4 *)(param_1 + 0xf0);
          }
          *(uint *)(param_1 + 0x76904) = *(uint *)(param_1 + 0x76904) | 0x2000;
          RTMPEnableRxTx(param_1);
          *(uint *)(param_1 + 0x76904) = *(uint *)(param_1 + 0x76904) | 0x10000000;
        }
        if (2 < RTDebugLevel) {
          printk("Ready to do passive scanning for Channel[%d] to Channel[%d]!\n",
                 *(undefined1 *)(local_34 * 10 + param_1 + 0x4e3e),
                 *(undefined1 *)(local_38 * 10 + param_1 + 0x4e3e));
        }
        *(undefined1 *)(param_1 + 0x16e01) = 1;
        local_44 = (byte *)(local_34 * 10 + param_1 + 0x4e3e);
        local_48 = local_34;
        uVar8 = 0;
        do {
          uVar6 = Status;
          if (local_38 < local_48) {
            *(undefined1 *)(param_1 + 0x16e01) = 0;
            pbVar4 = (byte *)(local_34 * 10 + param_1 + 0x4e3f);
            iVar10 = 0;
            for (iVar5 = local_34; iVar5 <= local_38; iVar5 = iVar5 + 1) {
              if (RTDebugLevel < 3) {
                bVar1 = *pbVar4;
              }
              else {
                printk("Channel[Idx=%d, Ch=%d].bEffectedChannel=0x%x!\n",iVar5,pbVar4[-1],*pbVar4);
                bVar1 = *pbVar4;
              }
              if ((bVar1 & 6) == 0) {
                bVar1 = *pbVar4;
              }
              else {
                if ((iVar5 != local_3c) && (iVar10 = 1, 2 < RTDebugLevel)) {
                  printk("needFallBack=TRUE due to OP/OT!\n");
                  iVar10 = 1;
                }
                bVar1 = *pbVar4;
              }
              if ((((bVar1 & 1) != 0) && (iVar5 != local_40)) && (iVar10 = 1, 2 < RTDebugLevel)) {
                printk("needFallBack=TRUE due to OS!\n");
                iVar10 = 1;
              }
              pbVar4 = pbVar4 + 10;
            }
            if (iVar10 == 0) {
              return;
            }
            if (*(byte *)(param_1 + 0x16b32) <= *(byte *)(param_1 + 0x16b31)) {
              return;
            }
            *(uint *)(param_1 + 0x16a44) = *(uint *)(param_1 + 0x16a44) & 0xfff9ffff;
            *(uint *)(param_1 + 0x16b18) = *(uint *)(param_1 + 0x16b18) & 0xfffff8ff;
            *(uint *)(param_1 + 0x16b74) = *(uint *)(param_1 + 0x16b74) & 0xfffffffb | iVar10 << 2;
            *(byte *)(param_1 + 0x16b33) = *(byte *)(param_1 + 0x16b33) | 2;
            return;
          }
          local_30 = (uint)*local_44;
          if (*(char *)(param_1 + 0xec) == '\0') {
            if (*(int *)(param_1 + 0x29f8) == 4) {
              uVar9 = 0;
              if (*(char *)(param_1 + 0xad) == '\x01') {
                Status = Status & 0xfffffffe;
                uVar9 = uVar6 & 1;
              }
              iVar5 = 0;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_00067b54:
              uVar6 = 0;
              if (cVar3 == '\0') {
                uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
              }
              if ((uVar6 & 0x20000) != 0) {
LAB_00067be0:
                iVar5 = iVar5 + 1;
                if (iVar5 == 100) goto LAB_00067be8;
                cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
                goto LAB_00067b54;
              }
              if (cVar3 == '\0') {
                *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0300;
              }
              iVar10 = 1;
              while( true ) {
                uVar6 = 0;
                if (*(char *)(param_1 + 0xec) == '\0') {
                  uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
                }
                if (((uVar6 & 0x20000) == 0) || (iVar10 == 100)) break;
                iVar10 = iVar10 + 1;
              }
              if ((uVar6 & 0x2ff00) != 0x300) goto LAB_00067be0;
              uVar8 = uVar6 & 0xff;
LAB_00067be8:
              if ((int)(uVar6 << 0xe) < 0) {
                printk("ERROR!!! ");
                printk("BBP(viaMCU=%d) read R%d fail\n",0,3);
                uVar8 = (uint)*(byte *)(param_1 + 0x4acc);
                cVar3 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
              }
              else {
                cVar3 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
              }
              if (cVar3 == '\x01') {
LAB_00067da4:
                Status = Status & 0xfffffffe;
                if (uVar9 != 0) {
                  Status = Status | 1;
                }
                goto LAB_00067db4;
              }
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
            }
            else {
              uVar9 = 0;
              if (*(char *)(param_1 + 0xad) == '\x01') {
                Status = Status & 0xfffffffe;
                uVar9 = uVar6 & 1;
              }
              iVar5 = 0;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_00067c60:
              uVar6 = 0;
              if (cVar3 == '\0') {
                uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
              }
              if ((uVar6 & 0x20000) != 0) {
LAB_00067d2c:
                iVar5 = iVar5 + 1;
                if (iVar5 == 100) goto LAB_00067d34;
                cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
                goto LAB_00067c60;
              }
              if (cVar3 == '\0') {
                *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0300;
              }
              AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
              RTMPusecDelay(1000);
              iVar10 = 1;
              while( true ) {
                uVar6 = 0;
                if (*(char *)(param_1 + 0xec) == '\0') {
                  uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
                }
                if (((uVar6 & 0x20000) == 0) || (iVar10 == 100)) break;
                iVar10 = iVar10 + 1;
              }
              if ((uVar6 & 0x2ff00) != 0x300) goto LAB_00067d2c;
              uVar8 = uVar6 & 0xff;
LAB_00067d34:
              if ((int)(uVar6 << 0xe) < 0) {
                printk("ERROR!!! ");
                printk("BBP(viaMCU=%d) read R%d fail\n",1,3);
                uVar8 = (uint)*(byte *)(param_1 + 0x4acc);
                uVar6 = 0;
                if (*(char *)(param_1 + 0xec) == '\0') {
                  uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
                }
                if (*(char *)(param_1 + 0xec) == '\0') {
                  *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 & 0xfffdffff;
                }
                cVar3 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
              }
              else {
                cVar3 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
              }
              if (cVar3 == '\x01') goto LAB_00067da4;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
            }
          }
          else {
LAB_00067db4:
            cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          }
          uVar6 = Status;
          uVar8 = uVar8 & 0xdf;
          if (cVar3 == '\0') {
            if (*(int *)(param_1 + 0x29f8) == 4) {
              uVar9 = 0;
              if (*(char *)(param_1 + 0xad) == '\x01') {
                Status = Status & 0xfffffffe;
                uVar9 = uVar6 & 1;
              }
              iVar5 = 1;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
              while( true ) {
                uVar6 = 0;
                if (cVar3 == '\0') {
                  uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
                }
                if ((uVar6 & 0x20000) == 0) break;
                iVar5 = iVar5 + 1;
                printk(&_LC12)   //possible issue identified - semgrep
                if (iVar5 == 100) goto LAB_00067e78;
                cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
              }
              if (cVar3 == '\0') {
                *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar8 | 0xa0300;
              }
              *(char *)(param_1 + 0x4acc) = (char)uVar8;
              if (iVar5 != 100) goto LAB_00067e90;
LAB_00067e78:
              printk("ERROR!!! ");
              printk("BBP write R%d fail\n",3);
LAB_00067e90:
              if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_0006803c:
                Status = Status & 0xfffffffe;
                if (uVar9 != 0) {
                  Status = Status | 1;
                }
                goto LAB_0006804c;
              }
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
            }
            else {
              uVar9 = 0;
              if (*(char *)(param_1 + 0xad) == '\x01') {
                Status = Status & 0xfffffffe;
                uVar9 = uVar6 & 1;
              }
              iVar5 = 1;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
              while( true ) {
                uVar6 = 0;
                if (cVar3 == '\0') {
                  uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
                }
                if ((uVar6 & 0x20000) == 0) break;
                iVar10 = iVar5 % 0x14;
                iVar5 = iVar5 + 1;
                if ((iVar10 == 0) && (cVar3 == '\0')) {
                  *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 & 0xfffdffff;
                }
                printk(&_LC12)   //possible issue identified - semgrep
                if (iVar5 == 100) goto LAB_00067fe4;
                cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
              }
              if (cVar3 == '\0') {
                *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar8 | 0xa0300;
              }
              iVar10 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
              if (*(char *)(param_1 + 0x16964) == '\x01') {
                RTMPusecDelay(1000);
              }
              if ((iVar10 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
                *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar8 | 0x80300;
              }
              *(char *)(param_1 + 0x4acc) = (char)uVar8;
              if (iVar5 != 100) goto LAB_00068028;
LAB_00067fe4:
              printk("ERROR!!! ");
              printk("BBP write R%d fail\n",3);
              uVar6 = 0;
              if (*(char *)(param_1 + 0xec) == '\0') {
                uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
              }
              if (*(char *)(param_1 + 0xec) == '\0') {
                *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 & 0xfffdffff;
              }
LAB_00068028:
              if (*(char *)(param_1 + 0xad) == '\x01') goto LAB_0006803c;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
            }
          }
          else {
LAB_0006804c:
            cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          }
          uVar6 = Status;
          if (cVar3 == '\0') {
            if (*(int *)(param_1 + 0x29f8) == 4) {
              uVar9 = 0;
              if (*(char *)(param_1 + 0xad) == '\x01') {
                Status = Status & 0xfffffffe;
                uVar9 = uVar6 & 1;
              }
              iVar5 = 0;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000680a0:
              uVar6 = 0;
              if (cVar3 == '\0') {
                uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
              }
              if ((uVar6 & 0x20000) != 0) {
LAB_0006812c:
                iVar5 = iVar5 + 1;
                if (iVar5 == 100) goto LAB_00068134;
                cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
                goto LAB_000680a0;
              }
              if (cVar3 == '\0') {
                *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0400;
              }
              iVar10 = 1;
              while( true ) {
                uVar6 = 0;
                if (*(char *)(param_1 + 0xec) == '\0') {
                  uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
                }
                if (((uVar6 & 0x20000) == 0) || (iVar10 == 100)) break;
                iVar10 = iVar10 + 1;
              }
              if ((uVar6 & 0x2ff00) != 0x400) goto LAB_0006812c;
              uVar8 = uVar6 & 0xff;
LAB_00068134:
              if ((int)(uVar6 << 0xe) < 0) {
                printk("ERROR!!! ");
                printk("BBP(viaMCU=%d) read R%d fail\n",0,4);
                uVar8 = (uint)*(byte *)(param_1 + 0x4acd);
                cVar3 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
              }
              else {
                cVar3 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
              }
              if (cVar3 == '\x01') {
LAB_000682f0:
                Status = Status & 0xfffffffe;
                if (uVar9 != 0) {
                  Status = Status | 1;
                }
                cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
              }
              else {
                cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
              }
            }
            else {
              uVar9 = 0;
              if (*(char *)(param_1 + 0xad) == '\x01') {
                Status = Status & 0xfffffffe;
                uVar9 = uVar6 & 1;
              }
              iVar5 = 0;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000681ac:
              uVar6 = 0;
              if (cVar3 == '\0') {
                uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
              }
              if ((uVar6 & 0x20000) != 0) {
LAB_00068278:
                iVar5 = iVar5 + 1;
                if (iVar5 == 100) goto LAB_00068280;
                cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
                goto LAB_000681ac;
              }
              if (cVar3 == '\0') {
                *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0400;
              }
              AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
              RTMPusecDelay(1000);
              iVar10 = 1;
              while( true ) {
                uVar6 = 0;
                if (*(char *)(param_1 + 0xec) == '\0') {
                  uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
                }
                if (((uVar6 & 0x20000) == 0) || (iVar10 == 100)) break;
                iVar10 = iVar10 + 1;
              }
              if ((uVar6 & 0x2ff00) != 0x400) goto LAB_00068278;
              uVar8 = uVar6 & 0xff;
LAB_00068280:
              if ((int)(uVar6 << 0xe) < 0) {
                printk("ERROR!!! ");
                printk("BBP(viaMCU=%d) read R%d fail\n",1,4);
                uVar8 = (uint)*(byte *)(param_1 + 0x4acd);
                uVar6 = 0;
                if (*(char *)(param_1 + 0xec) == '\0') {
                  uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
                }
                if (*(char *)(param_1 + 0xec) == '\0') {
                  *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 & 0xfffdffff;
                }
                cVar3 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
              }
              else {
                cVar3 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
              }
              if (cVar3 == '\x01') goto LAB_000682f0;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
            }
          }
          else {
            cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          }
          uVar6 = Status;
          uVar8 = uVar8 & 0xe7;
          if (cVar3 == '\0') {
            if (*(int *)(param_1 + 0x29f8) == 4) {
              uVar9 = 0;
              if (*(char *)(param_1 + 0xad) == '\x01') {
                Status = Status & 0xfffffffe;
                uVar9 = uVar6 & 1;
              }
              iVar5 = 1;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
              while( true ) {
                uVar6 = 0;
                if (cVar3 == '\0') {
                  uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
                }
                if ((uVar6 & 0x20000) == 0) break;
                iVar5 = iVar5 + 1;
                printk(&_LC12)   //possible issue identified - semgrep
                if (iVar5 == 100) goto LAB_000683c4;
                cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
              }
              if (cVar3 == '\0') {
                *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar8 | 0xa0400;
              }
              *(char *)(param_1 + 0x4acd) = (char)uVar8;
              if (iVar5 != 100) goto LAB_000683dc;
LAB_000683c4:
              printk("ERROR!!! ");
              printk("BBP write R%d fail\n",4);
LAB_000683dc:
              cVar3 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
            }
            else {
              uVar9 = 0;
              if (*(char *)(param_1 + 0xad) == '\x01') {
                Status = Status & 0xfffffffe;
                uVar9 = uVar6 & 1;
              }
              iVar5 = 1;
              cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
              while( true ) {
                uVar6 = 0;
                if (cVar3 == '\0') {
                  uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
                }
                if ((uVar6 & 0x20000) == 0) break;
                iVar10 = iVar5 % 0x14;
                iVar5 = iVar5 + 1;
                if ((iVar10 == 0) && (cVar3 == '\0')) {
                  *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 & 0xfffdffff;
                }
                printk(&_LC12)   //possible issue identified - semgrep
                if (iVar5 == 100) goto LAB_00068530;
                cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
              }
              if (cVar3 == '\0') {
                *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar8 | 0xa0400;
              }
              iVar10 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
              if (*(char *)(param_1 + 0x16964) == '\x01') {
                RTMPusecDelay(1000);
              }
              if ((iVar10 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
                *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar8 | 0x80400;
              }
              *(char *)(param_1 + 0x4acd) = (char)uVar8;
              if (iVar5 != 100) goto LAB_00068574;
LAB_00068530:
              printk("ERROR!!! ");
              printk("BBP write R%d fail\n",4);
              uVar6 = 0;
              if (*(char *)(param_1 + 0xec) == '\0') {
                uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
              }
              if (*(char *)(param_1 + 0xec) == '\0') {
                *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 & 0xfffdffff;
              }
LAB_00068574:
              cVar3 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
            }
            if ((cVar3 == '\x01') && (Status = Status & 0xfffffffe, uVar9 != 0)) {
              Status = Status | 1;
            }
          }
          AsicSwitchChannel(param_1,local_30,1);
          AsicLockChannel(param_1,local_30);
          if (RTDebugLevel == 0) {
            uVar6 = unaff_gp[5];
          }
          else {
            printk("SYNC - BBP R4 to 20MHz.l\n");
            uVar6 = unaff_gp[5];
          }
          if ((uVar6 & 0x7ffff00) == 0) {
            __init_waitqueue_head(auStack_68,0x10000);
            iVar5 = 0;
            local_5c = *unaff_gp;
            do {
              iVar10 = 1;
              local_60 = 0;
              local_58 = &autoremove_wake_function;
              local_54 = &local_54;
              local_50 = &local_54;
              do {
                prepare_to_wait(auStack_68,&local_60,1);
                if ((*(uint *)(*(int *)(*unaff_gp + 4) + 8) & 2) != 0) break;
                iVar10 = schedule_timeout(iVar10);
              } while (iVar10 != 0);
              iVar5 = iVar5 + 1;
              finish_wait(auStack_68,&local_60);
              if (iVar5 == 0x4b) goto LAB_000686d0;
              local_5c = *unaff_gp;
            } while( true );
          }
          RTMPusecDelay(300000);
LAB_000686d0:
          local_48 = local_48 + 1;
          local_44 = local_44 + 10;
        } while( true );
      }
    }
    if (RTDebugLevel != 0) {
      printk("2.4GHz: Cannot found the Control Channel(%d) in ChannelList, something wrong?\n");
    }
  }
  return;
}