/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void ATEAsicSwitchChannel(int param_1)

{
  byte bVar1;
  byte bVar2;
  byte bVar3;
  byte bVar4;
  undefined1 uVar5;
  undefined1 *puVar6;
  char cVar7;
  uint uVar8;
  uint uVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  uint uVar13;
  byte local_30 [8];
  
  local_30[0] = 0;
  if ((*(char *)(param_1 + 0x76a52) == '\x01') || (*(char *)(param_1 + 0x76a53) == '\x01')) {
    if (*(char *)(param_1 + 0x76a38) == *(char *)(param_1 + 0x4be0)) {
      return;
    }
    *(char *)(param_1 + 0x76a38) = *(char *)(param_1 + 0x4be0);
    return;
  }
  uVar8 = *(uint *)(param_1 + 0x4a94);
  bVar1 = *(byte *)(param_1 + 0x76a10);
  bVar3 = *(byte *)(param_1 + 0x76a38);
  bVar2 = *(byte *)(param_1 + 0x76a0f);
  if (((((uVar8 == 0x28720200) &&
        (((*(char *)(param_1 + 0x4bd4) == '\x05' || ((*(uint *)(param_1 + 0x4bf4) & 0xf0) == 0x20))
         || (*(char *)(param_1 + 0x4bd4) == '\v')))) ||
       ((((uVar8 & 0xffff0000) == 0x33520000 || ((uVar8 & 0xffff0000) == 0x53500000)) ||
        (cVar7 = *(char *)(param_1 + 0x4bd4), cVar7 == '\b')))) ||   //possible issue identified - semgrep
      ((cVar7 == '\a' || (cVar7 == '\x05')))) || ((cVar7 == '\v' || (uVar13 = 0, cVar7 == '\f')))) {
    uVar13 = 0;
LAB_0009d344:
    iVar10 = uVar13 * 4;
    if (NUM_OF_3020_CHNL <= uVar13) goto LAB_0009d350;
    if ((&RtmpFreqItems3020)[iVar10] != bVar3) goto LAB_0009d340;
    if ((uVar8 & 0xffff0000) == 0x53500000) {
      if (_DAT_b0000010 << 0xb < 0) {
        RT30xxWriteRFRegister(param_1,8,(&DAT_000e3361)[iVar10]);
        RT30xxWriteRFRegister(param_1,9,(&DAT_000e3363)[iVar10]);
        local_30[0] = 0x9f;
      }
      else {
        RT30xxWriteRFRegister(param_1,8,FreqItems3020_Xtal20M[iVar10 + 1]);
        RT30xxWriteRFRegister(param_1,9,FreqItems3020_Xtal20M[iVar10 + 3]);
        local_30[0] = 0x1f;
      }
      RT30xxWriteRFRegister(param_1,0xd,local_30[0]);
      local_30[0] = 0x4a;
      RT30xxWriteRFRegister(param_1,0xb,0x4a);
      local_30[0] = 0x46;
      RT30xxWriteRFRegister(param_1,0xc,0x46);
      RT30xxReadRFRegister(param_1,0x1e,local_30);
      if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
        local_30[0] = local_30[0] & 0xf9;
      }
      else {
        local_30[0] = local_30[0] | 6;
      }
      RT30xxWriteRFRegister(param_1,0x1e,local_30[0]);
      if ((*(uint *)(param_1 + 0x76a14) & 0xc00000) == 0) {
        local_30[0] = 0xc0;
      }
      else {
        local_30[0] = 0x80;
      }
      RT30xxWriteRFRegister(param_1,0x20,local_30[0]);
      local_30[0] = 4;
      RT30xxWriteRFRegister(param_1,0x35,4);
      if ((*(uint *)(param_1 + 0x76a14) & 0xc00000) == 0) {
        local_30[0] = 0x47;
      }
      else {
        local_30[0] = 0x43;
      }
      RT30xxWriteRFRegister(param_1,0x37,local_30[0]);
      local_30[0] = 0xc2;
      RT30xxWriteRFRegister(param_1,0x38,0xc2);
      local_30[0] = 0xb;
      switch(bVar3) {
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
      case 6:
      case 7:
        local_30[0] = 0xb;
        break;
      case 8:
      case 9:
        local_30[0] = 10;
        break;
      case 10:
        local_30[0] = 9;
        break;
      case 0xb:
        local_30[0] = 8;
        break;
      case 0xc:
      case 0xd:
        local_30[0] = 7;
        break;
      case 0xe:
        local_30[0] = 6;
      }
      RT30xxWriteRFRegister(param_1,0x3b,local_30[0]);
      RT30xxWriteRFRegister(param_1,0x31,*(byte *)(param_1 + 0x76a0f) & 0xbf | 0x80);
      local_30[0] = 4;
      RT30xxWriteRFRegister(param_1,0x35,4);
      RT30xxReadRFRegister(param_1,3,local_30);
      local_30[0] = local_30[0] | 0x80;
      RT30xxWriteRFRegister(param_1,3,local_30[0]);
      RTMPusecDelay(2000);
      local_30[0] = 0;
      RT30xxWriteRFRegister(param_1,0x18,0);
      RT30xxWriteRFRegister(param_1,0x1f,0x80);
    }
    iVar10 = *(int *)(param_1 + 0x4a94);
    if (iVar10 == 0x28720200) {
      if (*(char *)(param_1 + 0x4bd4) == '\v') {
        iVar10 = uVar13 * 4;
        RT30xxWriteRFRegister(param_1,2,(&DAT_000e3361)[iVar10]);
        RT30xxReadRFRegister(param_1,3,local_30);
        local_30[0] = (&DAT_000e3363)[iVar10] & 0xf | local_30[0] & 0xf0;
        RT30xxWriteRFRegister(param_1,3,local_30[0]);
        RT30xxReadRFRegister(param_1,6,local_30);
        local_30[0] = local_30[0] & 0xfc | (&DAT_000e3362)[iVar10];
        RT30xxWriteRFRegister(param_1,6,local_30[0]);
        RT30xxReadRFRegister(param_1,0xc,local_30);
        local_30[0] = bVar2 | local_30[0] & 0xe0;
        RT30xxWriteRFRegister(param_1,0xc,local_30[0]);
        RT30xxReadRFRegister(param_1,0xd,local_30);
        local_30[0] = bVar1 | local_30[0] & 0xe0;
        RT30xxWriteRFRegister(param_1,0xd,local_30[0]);
        RT30xxReadRFRegister(param_1,0x17,local_30);
        uVar12 = local_30[0] & 0x80 | (uint)*(byte *)(param_1 + 0x76a48);
        uVar8 = 1;
        if (local_30[0] < uVar12) {
          for (; uVar8 <= uVar12 - local_30[0]; uVar8 = uVar8 + 1) {
            RT30xxWriteRFRegister(param_1,0x17,local_30[0] + uVar8 & 0xff);
            RtmpOsMsDelay(10);
          }
        }
        else {
          while( true ) {
            uVar9 = (uint)local_30[0];
            if (uVar9 - uVar12 < uVar8) break;
            if (uVar9 != (uVar8 & 0xff)) {
              RT30xxWriteRFRegister(param_1,0x17,uVar9 - (uVar8 & 0xff) & 0xff);
            }
            RtmpOsMsDelay(10);
            uVar8 = uVar8 + 1;
          }
        }
        if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
          RT30xxWriteRFRegister(param_1,0x1f,0x48);
          uVar8 = *(uint *)(param_1 + 0x76a14) & 0xc00000;
          local_30[0] = 0x1f;
          if (uVar8 != 0) {
            if (uVar8 == 0x400000) {
              local_30[0] = 0x18;
            }
            else {
              local_30[0] = 0x10;
            }
          }
        }
        else {
          RT30xxWriteRFRegister(param_1,0x1f,0x68);
          if ((*(uint *)(param_1 + 0x76a14) & 0xc00000) == 0) {
            local_30[0] = 0x3f;
          }
          else {
            local_30[0] = 0x28;
          }
        }
        RT30xxWriteRFRegister(param_1,0x18,local_30[0]);
      }
      iVar10 = *(int *)(param_1 + 0x4a94);
    }
    if (iVar10 == 0x28720200) {
      if ((*(char *)(param_1 + 0x4bd4) == '\x05') || ((*(uint *)(param_1 + 0x4bf4) & 0xf0) == 0x20))
      {
        iVar10 = uVar13 * 4;
        RT30xxWriteRFRegister(param_1,2,(&DAT_000e3361)[iVar10]);
        RT30xxWriteRFRegister(param_1,3,(&DAT_000e3363)[iVar10]);
        RT30xxReadRFRegister(param_1,6,local_30);
        local_30[0] = local_30[0] & 0xfc | (&DAT_000e3362)[iVar10];
        RT30xxWriteRFRegister(param_1,6,local_30[0]);
        RT30xxReadRFRegister(param_1,0xc,local_30);
        local_30[0] = bVar2 | local_30[0] & 0xe0;
        RT30xxWriteRFRegister(param_1,0xc,local_30[0]);
        RT30xxReadRFRegister(param_1,0xd,local_30);
        local_30[0] = bVar1 | local_30[0] & 0xe0;
        RT30xxWriteRFRegister(param_1,0xd,local_30[0]);
        RT30xxReadRFRegister(param_1,0x17,local_30);
        uVar12 = local_30[0] & 0x80 | (uint)*(byte *)(param_1 + 0x76a48);
        uVar8 = 1;
        if (local_30[0] < uVar12) {
          for (; uVar8 <= uVar12 - local_30[0]; uVar8 = uVar8 + 1) {
            RT30xxWriteRFRegister(param_1,0x17,local_30[0] + uVar8 & 0xff);
            RtmpOsMsDelay(10);
          }
        }
        else {
          while( true ) {
            uVar9 = (uint)local_30[0];
            if (uVar9 - uVar12 < uVar8) break;
            if (uVar9 != (uVar8 & 0xff)) {
              RT30xxWriteRFRegister(param_1,0x17,uVar9 - (uVar8 & 0xff) & 0xff);
            }
            RtmpOsMsDelay(10);
            uVar8 = uVar8 + 1;
          }
        }
        RT30xxReadRFRegister(param_1,0x18,local_30);
        local_30[0] = local_30[0] & 0xdf;
        if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
          RT30xxWriteRFRegister(param_1,0x1f,0xf);
        }
        else {
          RT30xxWriteRFRegister(param_1,0x1f,0x2f);
          local_30[0] = local_30[0] | 0x20;
        }
        RT30xxWriteRFRegister(param_1,0x18,local_30[0]);
        uVar8 = *(uint *)(param_1 + 0x4a94);
      }
      else {
        uVar8 = *(uint *)(param_1 + 0x4a94);
      }
    }
    else {
      uVar8 = *(uint *)(param_1 + 0x4a94);
    }
    if (((uVar8 & 0xffff0000) == 0x33520000) || (uVar12 = 0, (uVar8 & 0xffff0000) == 0x53500000)) {
      RT30xxReadRFRegister(param_1,3,local_30);
      local_30[0] = local_30[0] & 0x7f | 0x80;
      RT30xxWriteRFRegister(param_1,3,local_30[0]);
      RtmpOsMsDelay(2);
      iVar10 = 0;
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar8 = 0;
        if (cVar7 == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) == 0) break;
LAB_0009c610:
        iVar10 = iVar10 + 1;
        if (iVar10 == 100) goto LAB_0009c618;
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar7 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3100;
      }
      iVar11 = 0;
      do {
        uVar8 = 0;
        if (*(char *)(param_1 + 0xec) == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
      } while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
      if ((uVar8 & 0x2ff00) != 0x3100) goto LAB_0009c610;
      local_30[0] = (byte)uVar8;
LAB_0009c618:
      if ((int)(uVar8 << 0xe) < 0) {
        if (RTDebugLevel == 0) {
          local_30[0] = *(byte *)(param_1 + 0x4afa);
        }
        else {
          printk("BBP read R%d fail\n",0x31);
          local_30[0] = *(byte *)(param_1 + 0x4afa);
        }
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      else {
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      iVar10 = 0;
      do {
        uVar8 = 0;
        if (cVar7 == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) == 0) {
          if (cVar7 == '\0') {
            *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = local_30[0] & 0xfe | 0xa3100;
          }
          *(byte *)(param_1 + 0x4afa) = local_30[0] & 0xfe;
          if (iVar10 == 100) break;
          goto LAB_0009c70c;
        }
        iVar10 = iVar10 + 1;
      } while (iVar10 != 100);
      if (RTDebugLevel != 0) {
        printk("BBP write R%d fail\n",0x31);
      }
LAB_0009c70c:
      iVar10 = 0;
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar8 = 0;
        if (cVar7 == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) == 0) break;
LAB_0009c7b0:
        iVar10 = iVar10 + 1;
        if (iVar10 == 100) goto LAB_0009c7b8;
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar7 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3100;
      }
      iVar11 = 0;
      do {
        uVar8 = 0;
        if (*(char *)(param_1 + 0xec) == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
      } while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
      if ((uVar8 & 0x2ff00) != 0x3100) goto LAB_0009c7b0;
      local_30[0] = (byte)uVar8;
LAB_0009c7b8:
      if ((int)(uVar8 << 0xe) < 0) {
        if (RTDebugLevel == 0) {
          local_30[0] = *(byte *)(param_1 + 0x4afa);
        }
        else {
          printk("BBP read R%d fail\n",0x31);
          local_30[0] = *(byte *)(param_1 + 0x4afa);
        }
      }
      RT30xxReadRFRegister(param_1,1,local_30);
      local_30[0] = local_30[0] & 2;
      if (*(char *)(param_1 + 0x76a12) == '\x01') {
        local_30[0] = local_30[0] | 5;
      }
      else if (*(char *)(param_1 + 0x76a12) == '\x02') {
        local_30[0] = local_30[0] | 0x11;
      }
      else {
        local_30[0] = local_30[0] | 0x15;
      }
      if (*(char *)(param_1 + 0x76a11) == '\x01') {
        local_30[0] = local_30[0] | 8;
      }
      else if (*(char *)(param_1 + 0x76a11) == '\x02') {
        local_30[0] = local_30[0] | 0x20;
      }
      else {
        local_30[0] = local_30[0] | 0x28;
      }
      RT30xxWriteRFRegister(param_1,1,local_30[0]);
      iVar10 = 0;
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      do {
        uVar8 = 0;
        if (cVar7 == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) == 0) {
          if (cVar7 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0300;
          }
          iVar11 = 0;
          do {
            uVar8 = 0;
            if (*(char *)(param_1 + 0xec) == '\0') {
              uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
            }
          } while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
          if ((uVar8 & 0x2ff00) != 0x300) goto LAB_0009c94c;
          uVar12 = uVar8 & 0xff;
          goto LAB_0009c958;
        }
LAB_0009c94c:
        iVar10 = iVar10 + 1;
        if (iVar10 == 100) goto code_r0x0009c954;
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      } while( true );
    }
    goto LAB_0009cc00;
  }
LAB_0009d350:
  uVar12 = 0;
  goto LAB_0009d354;
LAB_0009d340:
  uVar13 = uVar13 + 1 & 0xff;
  goto LAB_0009d344;
code_r0x0009c954:
  uVar12 = 0;
LAB_0009c958:
  if ((int)(uVar8 << 0xe) < 0) {
    if (RTDebugLevel == 0) {
      bVar4 = *(byte *)(param_1 + 0x4acc);
    }
    else {
      printk("BBP read R%d fail\n",3);
      bVar4 = *(byte *)(param_1 + 0x4acc);
    }
    uVar12 = (uint)bVar4;
  }
  uVar12 = uVar12 & 0x24;
  uVar8 = uVar12;
  if (*(char *)(param_1 + 0x76a12) != '\x01') {
    if (*(char *)(param_1 + 0x76a12) == '\x02') {
      uVar8 = uVar12 | 1;
    }
    else {
      uVar9 = *(uint *)(param_1 + 0x4bf4) & 0xf;
      if (uVar9 == 3) {
        uVar8 = uVar12 | 0x13;
      }
      else {
        uVar8 = uVar12 | 3;
        if (uVar9 == 2) {
          uVar8 = uVar12 | 0xb;
        }
      }
    }
  }
  iVar10 = 0;
  do {
    uVar12 = 0;
    if (*(char *)(param_1 + 0xec) == '\0') {
      uVar12 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
    }
    if ((uVar12 & 0x20000) == 0) {
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar8 | 0xa0300;
      }
      *(char *)(param_1 + 0x4acc) = (char)uVar8;
      if (iVar10 == 100) break;
      goto LAB_0009ca8c;
    }
    iVar10 = iVar10 + 1;
  } while (iVar10 != 100);
  if (RTDebugLevel != 0) {
    printk("BBP write R%d fail\n",3);
  }
LAB_0009ca8c:
  cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  iVar10 = 0;
  if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa0440;
        }
        *(undefined1 *)(param_1 + 0x4acd) = 0x40;
        uVar12 = 0x40;
        if (iVar10 != 100) goto LAB_0009cc00;
        break;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
    if (RTDebugLevel == 0) {
      uVar12 = 0x40;
    }
    else {
      printk("BBP write R%d fail\n",4);
      uVar12 = 0x40;
    }
  }
  else {
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa0450;
        }
        *(undefined1 *)(param_1 + 0x4acd) = 0x50;
        uVar12 = 0x50;
        if (iVar10 != 100) goto LAB_0009cc00;
        break;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
    if (RTDebugLevel == 0) {
      uVar12 = 0x50;
    }
    else {
      printk("BBP write R%d fail\n",4);
      uVar12 = 0x50;
    }
  }
LAB_0009cc00:
  if ((*(int *)(param_1 + 0x4a94) == 0x28720200) &&
     (((*(char *)(param_1 + 0x4bd4) == '\x05' || ((*(uint *)(param_1 + 0x4bf4) & 0xf0) == 0x20)) ||
      (*(char *)(param_1 + 0x4bd4) == '\v')))) {
    RT30xxReadRFRegister(param_1,1,local_30);
    bVar4 = local_30[0] & 2;
    local_30[0] = bVar4 | 0xc1;
    if (*(char *)(param_1 + 0x76a12) == '\x01') {
      local_30[0] = bVar4 | 0xd1;
    }
    else if (*(char *)(param_1 + 0x76a12) == '\x02') {
      local_30[0] = bVar4 | 0xc5;
    }
    if (*(char *)(param_1 + 0x76a11) == '\x01') {
      local_30[0] = local_30[0] | 0x20;
    }
    else if (*(char *)(param_1 + 0x76a11) == '\x02') {
      local_30[0] = local_30[0] | 8;
    }
    RT30xxWriteRFRegister(param_1,1,local_30[0]);
    if (*(char *)(param_1 + 0x76a12) == '\x01') {
      iVar10 = 0;
      while( true ) {
        uVar8 = 0;
        if (*(char *)(param_1 + 0xec) == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) == 0) break;
        iVar10 = iVar10 + 1;
        if (iVar10 == 100) goto LAB_0009ce8c;
      }
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa0300;
      }
      *(undefined1 *)(param_1 + 0x4acc) = 0;
      if (iVar10 == 100) goto LAB_0009ce8c;
    }
    else {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      iVar10 = 0;
      if (*(char *)(param_1 + 0x76a12) != '\x02') {
LAB_0009ce0c:
        uVar8 = 0;
        if (cVar7 == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) != 0) goto code_r0x0009ce24;
        uVar5 = 0xb;
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa030b;
          uVar5 = 0xb;
        }
LAB_0009ce68:
        *(undefined1 *)(param_1 + 0x4acc) = uVar5;
        if (iVar10 != 100) goto LAB_0009ceb0;
        goto LAB_0009ce8c;
      }
      do {
        uVar8 = 0;
        if (cVar7 == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) == 0) {
          if (cVar7 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa0301;
            uVar5 = 1;
          }
          else {
            uVar5 = 1;
          }
          goto LAB_0009ce68;
        }
        iVar10 = iVar10 + 1;
      } while (iVar10 != 100);
LAB_0009ce8c:
      if (RTDebugLevel != 0) {
        printk("BBP write R%d fail\n",3);
      }
    }
LAB_0009ceb0:
    RT30xxReadRFRegister(param_1,7,local_30);
    local_30[0] = local_30[0] | 1;
    RT30xxWriteRFRegister(param_1,7,local_30[0]);
  }
  if (((*(uint *)(param_1 + 0x4a94) != 0x28720200) || ((*(uint *)(param_1 + 0x4bf4) & 0xf0) != 0x20)
      ) && ((*(uint *)(param_1 + 0x4a94) & 0xffff0000) != 0x33520000)) {
    *(byte *)(param_1 + 0x4be0) = bVar3;
    goto LAB_0009d354;
  }
  if ((*(uint *)(param_1 + 0x4bf4) & 0xf0) == 0x20) {
    if (*(char *)(param_1 + 0x76a11) == '\x01') {
      iVar10 = 0;
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar8 = 0;
        if (cVar7 == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) == 0) break;
LAB_0009cff4:
        iVar10 = iVar10 + 1;
        if (iVar10 == 100) goto LAB_0009cffc;
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar7 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0100;
      }
      iVar11 = 0;
      do {
        uVar8 = 0;
        if (*(char *)(param_1 + 0xec) == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
      } while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
      if ((uVar8 & 0x2ff00) != 0x100) goto LAB_0009cff4;
      uVar12 = uVar8 & 0xff;
LAB_0009cffc:
      if ((int)(uVar8 << 0xe) < 0) {
        if (RTDebugLevel == 0) {
          bVar4 = *(byte *)(param_1 + 0x4aca);
        }
        else {
          printk("BBP read R%d fail\n",1);
          bVar4 = *(byte *)(param_1 + 0x4aca);
        }
        uVar12 = (uint)bVar4;
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      else {
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      uVar12 = uVar12 & 0xe7;
      iVar10 = 0;
      while( true ) {
        uVar8 = 0;
        if (cVar7 == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) == 0) break;
        iVar10 = iVar10 + 1;
        if (iVar10 == 100) goto LAB_0009d318;
      }
LAB_0009d2c8:
      if (cVar7 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar12 | 0xa0100;
      }
      *(char *)(param_1 + 0x4aca) = (char)uVar12;
      if (iVar10 == 100) goto LAB_0009d318;
    }
    else {
      iVar10 = 0;
      if (*(char *)(param_1 + 0x76a11) == '\x02') {
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        while( true ) {
          uVar8 = 0;
          if (cVar7 == '\0') {
            uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if ((uVar8 & 0x20000) == 0) break;
LAB_0009d124:
          iVar10 = iVar10 + 1;
          if (iVar10 == 100) goto LAB_0009d12c;
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0100;
        }
        iVar11 = 0;
        do {
          uVar8 = 0;
          if (*(char *)(param_1 + 0xec) == '\0') {
            uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
        } while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
        if ((uVar8 & 0x2ff00) != 0x100) goto LAB_0009d124;
        uVar12 = uVar8 & 0xff;
LAB_0009d12c:
        if ((int)(uVar8 << 0xe) < 0) {
          if (RTDebugLevel == 0) {
            bVar4 = *(byte *)(param_1 + 0x4aca);
          }
          else {
            printk("BBP read R%d fail\n",1);
            bVar4 = *(byte *)(param_1 + 0x4aca);
          }
          uVar12 = (uint)bVar4;
        }
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        uVar12 = uVar12 & 0xe7 | 8;
        iVar10 = 0;
        do {
          uVar8 = 0;
          if (cVar7 == '\0') {
            uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if ((uVar8 & 0x20000) == 0) goto LAB_0009d2c8;
          iVar10 = iVar10 + 1;
        } while (iVar10 != 100);
      }
      else {
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        while( true ) {
          uVar8 = 0;
          if (cVar7 == '\0') {
            uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if ((uVar8 & 0x20000) == 0) break;
LAB_0009d250:
          iVar10 = iVar10 + 1;
          if (iVar10 == 100) goto LAB_0009d258;
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0100;
        }
        iVar11 = 0;
        do {
          uVar8 = 0;
          if (*(char *)(param_1 + 0xec) == '\0') {
            uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
        } while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
        if ((uVar8 & 0x2ff00) != 0x100) goto LAB_0009d250;
        uVar12 = uVar8 & 0xff;
LAB_0009d258:
        if ((int)(uVar8 << 0xe) < 0) {
          if (RTDebugLevel == 0) {
            bVar4 = *(byte *)(param_1 + 0x4aca);
          }
          else {
            printk("BBP read R%d fail\n",1);
            bVar4 = *(byte *)(param_1 + 0x4aca);
          }
          uVar12 = (uint)bVar4;
        }
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        uVar12 = uVar12 & 0xe7 | 0x10;
        iVar10 = 0;
        do {
          uVar8 = 0;
          if (cVar7 == '\0') {
            uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if ((uVar8 & 0x20000) == 0) goto LAB_0009d2c8;
          iVar10 = iVar10 + 1;
        } while (iVar10 != 100);
      }
LAB_0009d318:
      if (RTDebugLevel == 0) {
        *(byte *)(param_1 + 0x4be0) = bVar3;
        goto LAB_0009d354;
      }
      printk("BBP write R%d fail\n",1);
    }
    *(byte *)(param_1 + 0x4be0) = bVar3;
  }
  else {
    *(byte *)(param_1 + 0x4be0) = bVar3;
  }
LAB_0009d354:
  cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  iVar10 = 0;
  if (bVar3 < 0xf) {
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
        }
        else if (bVar4 < 0x41) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
        }
        else if (bVar4 < 0x81) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
        }
        else {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
        }
        if (cVar7 == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa3e00;
        }
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          cVar7 = *(char *)(param_1 + 0x50e4)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x41) {
          cVar7 = *(char *)(param_1 + 0x50e5)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x81) {
          cVar7 = *(char *)(param_1 + 0x50e6)   //possible issue identified - semgrep
        }
        else {
          cVar7 = *(char *)(param_1 + 0x50e7)   //possible issue identified - semgrep
        }
        *(char *)(param_1 + 0x4b07) = '7' - cVar7;
        if (iVar10 != 100) {
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          goto LAB_0009d484;
        }
        break;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
    if (RTDebugLevel == 0) {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      printk("BBP write R%d fail\n",0x3e);
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
LAB_0009d484:
    iVar10 = 0;
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
        }
        else if (bVar4 < 0x41) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
        }
        else if (bVar4 < 0x81) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
        }
        else {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
        }
        if (cVar7 == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa3f00;
        }
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          cVar7 = *(char *)(param_1 + 0x50e4)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x41) {
          cVar7 = *(char *)(param_1 + 0x50e5)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x81) {
          cVar7 = *(char *)(param_1 + 0x50e6)   //possible issue identified - semgrep
        }
        else {
          cVar7 = *(char *)(param_1 + 0x50e7)   //possible issue identified - semgrep
        }
        *(char *)(param_1 + 0x4b08) = '7' - cVar7;
        if (iVar10 != 100) {
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          goto LAB_0009d5a8;
        }
        break;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
    if (RTDebugLevel == 0) {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      printk("BBP write R%d fail\n",0x3f);
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
LAB_0009d5a8:
    iVar10 = 0;
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
        }
        else if (bVar4 < 0x41) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
        }
        else if (bVar4 < 0x81) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
        }
        else {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
        }
        if (cVar7 == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa4000;
        }
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          cVar7 = *(char *)(param_1 + 0x50e4)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x41) {
          cVar7 = *(char *)(param_1 + 0x50e5)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x81) {
          cVar7 = *(char *)(param_1 + 0x50e6)   //possible issue identified - semgrep
        }
        else {
          cVar7 = *(char *)(param_1 + 0x50e7)   //possible issue identified - semgrep
        }
        *(char *)(param_1 + 0x4b09) = '7' - cVar7;
        if (iVar10 != 100) {
          uVar8 = *(uint *)(param_1 + 0x4a94);
          goto LAB_0009d6cc;
        }
        break;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
    if (RTDebugLevel == 0) {
      uVar8 = *(uint *)(param_1 + 0x4a94);
    }
    else {
      printk("BBP write R%d fail\n",0x40);
      uVar8 = *(uint *)(param_1 + 0x4a94);
    }
LAB_0009d6cc:
    if ((uVar8 & 0xffff0000) == 0x33520000) {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_0009d6e8:
      iVar10 = 0;
LAB_0009d704:
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) != 0) goto code_r0x0009d71c;
      if (cVar7 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5638;
      }
      *(undefined1 *)(param_1 + 0x4b1f) = 0x38;
LAB_0009d7dc:
      if (iVar10 == 100) goto LAB_0009d7fc;
      iVar10 = *(int *)(param_1 + 0x4bf4);
      goto LAB_0009d820;
    }
    cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    if ((uVar8 & 0xffff0000) == 0x53500000) goto LAB_0009d6e8;
    iVar10 = 0;
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5600;
          *(undefined1 *)(param_1 + 0x4b1f) = 0;
        }
        else {
          *(undefined1 *)(param_1 + 0x4b1f) = 0;
        }
        goto LAB_0009d7dc;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
LAB_0009d7fc:
    if (RTDebugLevel == 0) {
      iVar10 = *(int *)(param_1 + 0x4bf4);
    }
    else {
      printk("BBP write R%d fail\n",0x56);
      iVar10 = *(int *)(param_1 + 0x4bf4);
    }
LAB_0009d820:
    cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    iVar11 = 0;
    if (iVar10 << 0xd < 0) {
      do {
        uVar8 = 0;
        if (cVar7 == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) == 0) {
          if (cVar7 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5262;
          }
          *(undefined1 *)(param_1 + 0x4b1b) = 0x62;
          if (iVar11 != 100) {
            cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
            goto LAB_0009d8dc;
          }
          break;
        }
        iVar11 = iVar11 + 1;
      } while (iVar11 != 100);
      if (RTDebugLevel == 0) {
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      else {
        printk("BBP write R%d fail\n",0x52);
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
LAB_0009d8dc:
      iVar10 = 0;
LAB_0009d8e8:
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) != 0) goto code_r0x0009d900;
      if (cVar7 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4b46;
        uVar5 = 0x46;
      }
      else {
        uVar5 = 0x46;
      }
LAB_0009da6c:
      *(undefined1 *)(param_1 + 0x4b14) = uVar5;
      if (iVar10 == 100) goto LAB_0009da90;
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      goto LAB_0009dab4;
    }
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5284;
        }
        *(undefined1 *)(param_1 + 0x4b1b) = 0x84;
        if (iVar11 != 100) {
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          goto LAB_0009da04;
        }
        break;
      }
      iVar11 = iVar11 + 1;
    } while (iVar11 != 100);
    if (RTDebugLevel == 0) {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      printk("BBP write R%d fail\n",0x52);
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
LAB_0009da04:
    iVar10 = 0;
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        uVar5 = 0x50;
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4b50;
          uVar5 = 0x50;
        }
        goto LAB_0009da6c;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
LAB_0009da90:
    if (RTDebugLevel == 0) {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      printk("BBP write R%d fail\n",0x4b);
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
LAB_0009dab4:
    if (cVar7 == '\0') {
      *(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) =
           *(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) & 0xfffffff9 | 4;
      uVar8 = *(uint *)(param_1 + 0x4a94);
    }
    else {
      uVar8 = *(uint *)(param_1 + 0x4a94);
    }
    if (((uVar8 & 0xffff0000) == 0x33520000) || ((uVar8 & 0xffff0000) == 0x53500000)) {
      if (*(char *)(param_1 + 0x76a11) == '\x01') {
        uVar8 = 0x50f02;
      }
      else if (*(char *)(param_1 + 0x76a11) == '\x02') {
        uVar8 = 0x50f08;
      }
      else {
        uVar8 = 0x50f0a;
      }
      if (*(char *)(param_1 + 0x76a12) == '\x01') {
        uVar9 = 0xfffff3ff;
      }
      else {
        if (*(char *)(param_1 + 0x76a12) != '\x02') {
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          goto LAB_0009dbd8;
        }
        uVar9 = 0xfffffcff;
      }
LAB_0009dbd0:
      uVar8 = uVar8 & uVar9;
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      uVar9 = *(uint *)(param_1 + 0x4bf4) & 0xf0;
      if (uVar9 == 0x10) {
        uVar8 = 0x50f02;
      }
      else {
        uVar8 = 0x50f0a;
      }
      if ((*(uint *)(param_1 + 0x4bf4) & 0xf) == 1) {
        uVar8 = uVar8 & 0xfffff3ff;
      }
      if (uVar9 == 0x20) {
        if (*(char *)(param_1 + 0x76a11) == '\x01') {
          uVar9 = 0xfffffff7;
        }
        else {
          if (*(char *)(param_1 + 0x76a11) != '\x02') {
            cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
            goto LAB_0009dbd8;
          }
          uVar9 = 0xfffffffd;
        }
        goto LAB_0009dbd0;
      }
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
LAB_0009dbd8:
    if (cVar7 == '\0') {
      *(uint *)(*(int *)(param_1 + 0xdc) + 0x1328) = uVar8;
      uVar8 = *(uint *)(param_1 + 0x4a94);
    }
    else {
      uVar8 = *(uint *)(param_1 + 0x4a94);
    }
    uVar8 = uVar8 & 0xffff0000;
    if ((uVar8 == 0x33520000) || (uVar8 == 0x53500000)) {
      bVar4 = *(byte *)(param_1 + 0x4be0);
      if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
        if (bVar4 < 0xf) {
          iVar10 = (int)*(char *)(param_1 + 0x50e4);
        }
        else if (bVar4 < 0x41) {
          iVar10 = (int)*(char *)(param_1 + 0x50e5);
        }
        else if (bVar4 < 0x81) {
          iVar10 = (int)*(char *)(param_1 + 0x50e6);
        }
        else {
          iVar10 = (int)*(char *)(param_1 + 0x50e7);
        }
        uVar9 = iVar10 + 0xe;
      }
      else {
        if (bVar4 < 0xf) {
          iVar10 = (int)*(char *)(param_1 + 0x50e4);
        }
        else if (bVar4 < 0x41) {
          iVar10 = (int)*(char *)(param_1 + 0x50e5);
        }
        else if (bVar4 < 0x81) {
          iVar10 = (int)*(char *)(param_1 + 0x50e6);
        }
        else {
          iVar10 = (int)*(char *)(param_1 + 0x50e7);
        }
        uVar9 = iVar10 + 0x12;
      }
      uVar9 = (uVar9 & 0x7f) << 1;
      iVar10 = 0;
      if (uVar8 == 0x53500000) {
        cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_0009e538:
        uVar8 = 0;
        if (cVar7 == '\0') {
          uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar8 & 0x20000) != 0) {
LAB_0009e5c0:
          iVar10 = iVar10 + 1;
          if (iVar10 == 100) goto LAB_0009e5c8;
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          goto LAB_0009e538;
        }
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb1b00;
        }
        iVar11 = 0;
        do {
          uVar8 = 0;
          if (*(char *)(param_1 + 0xec) == '\0') {
            uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
        } while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
        if ((uVar8 & 0x2ff00) != 0x1b00) goto LAB_0009e5c0;
        uVar12 = uVar8 & 0xff;
LAB_0009e5c8:
        if ((int)(uVar8 << 0xe) < 0) {
          if (RTDebugLevel == 0) {
            bVar4 = *(byte *)(param_1 + 0x4ae4);
          }
          else {
            printk("BBP read R%d fail\n",0x1b);
            bVar4 = *(byte *)(param_1 + 0x4ae4);
          }
          uVar12 = (uint)bVar4;
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        else {
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        iVar10 = 0;
        do {
          uVar8 = 0;
          if (cVar7 == '\0') {
            uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if ((uVar8 & 0x20000) == 0) {
            if (cVar7 == '\0') {
              *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar12 & 0x9f | 0xa1b00;
            }
            *(char *)(param_1 + 0x4ae4) = (char)(uVar12 & 0x9f);
            if (iVar10 != 100) goto LAB_0009e6a4;
            break;
          }
          iVar10 = iVar10 + 1;
        } while (iVar10 != 100);
        if (RTDebugLevel == 0) {
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        else {
          printk("BBP write R%d fail\n",0x1b);
LAB_0009e6a4:
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        iVar11 = 0;
        do {
          uVar8 = 0;
          if (cVar7 == '\0') {
            uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if ((uVar8 & 0x20000) == 0) goto LAB_0009e708;
          iVar11 = iVar11 + 1;
        } while (iVar11 != 100);
        goto LAB_0009e8cc;
      }
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      bVar4 = *(byte *)(param_1 + 0x4be0);
      if (bVar4 < 0xf) {
        uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
      }
      else if (bVar4 < 0x41) {
        uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
      }
      else if (bVar4 < 0x81) {
        uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
      }
      else {
        uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
      }
      uVar9 = uVar8 + 0x2e & 0xff;
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    iVar11 = 0;
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) goto LAB_0009e708;
      iVar11 = iVar11 + 1;
    } while (iVar11 != 100);
  }
  else {
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
        }
        else if (bVar4 < 0x41) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
        }
        else if (bVar4 < 0x81) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
        }
        else {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
        }
        if (cVar7 == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa3e00;
        }
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          cVar7 = *(char *)(param_1 + 0x50e4)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x41) {
          cVar7 = *(char *)(param_1 + 0x50e5)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x81) {
          cVar7 = *(char *)(param_1 + 0x50e6)   //possible issue identified - semgrep
        }
        else {
          cVar7 = *(char *)(param_1 + 0x50e7)   //possible issue identified - semgrep
        }
        *(char *)(param_1 + 0x4b07) = '7' - cVar7;
        if (iVar10 != 100) {
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          goto LAB_0009dd14;
        }
        break;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
    if (RTDebugLevel == 0) {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      printk("BBP write R%d fail\n",0x3e);
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
LAB_0009dd14:
    iVar10 = 0;
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
        }
        else if (bVar4 < 0x41) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
        }
        else if (bVar4 < 0x81) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
        }
        else {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
        }
        if (cVar7 == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa3f00;
        }
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          cVar7 = *(char *)(param_1 + 0x50e4)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x41) {
          cVar7 = *(char *)(param_1 + 0x50e5)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x81) {
          cVar7 = *(char *)(param_1 + 0x50e6)   //possible issue identified - semgrep
        }
        else {
          cVar7 = *(char *)(param_1 + 0x50e7)   //possible issue identified - semgrep
        }
        *(char *)(param_1 + 0x4b08) = '7' - cVar7;
        if (iVar10 != 100) {
          cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          goto LAB_0009de38;
        }
        break;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
    if (RTDebugLevel == 0) {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      printk("BBP write R%d fail\n",0x3f);
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
LAB_0009de38:
    iVar10 = 0;
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
        }
        else if (bVar4 < 0x41) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
        }
        else if (bVar4 < 0x81) {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
        }
        else {
          uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
        }
        if (cVar7 == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa4000;
        }
        bVar4 = *(byte *)(param_1 + 0x4be0);
        if (bVar4 < 0xf) {
          cVar7 = *(char *)(param_1 + 0x50e4)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x41) {
          cVar7 = *(char *)(param_1 + 0x50e5)   //possible issue identified - semgrep
        }
        else if (bVar4 < 0x81) {
          cVar7 = *(char *)(param_1 + 0x50e6)   //possible issue identified - semgrep
        }
        else {
          cVar7 = *(char *)(param_1 + 0x50e7)   //possible issue identified - semgrep
        }
        *(char *)(param_1 + 0x4b09) = '7' - cVar7;
        if (iVar10 != 100) {
          uVar8 = *(uint *)(param_1 + 0x4a94);
          goto LAB_0009df5c;
        }
        break;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
    if (RTDebugLevel == 0) {
      uVar8 = *(uint *)(param_1 + 0x4a94);
    }
    else {
      printk("BBP write R%d fail\n",0x40);
      uVar8 = *(uint *)(param_1 + 0x4a94);
    }
LAB_0009df5c:
    if ((uVar8 & 0xffff0000) == 0x33520000) {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_0009df78:
      iVar10 = 0;
LAB_0009df94:
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) != 0) goto code_r0x0009dfac;
      if (cVar7 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5638;
      }
      *(undefined1 *)(param_1 + 0x4b1f) = 0x38;
LAB_0009e06c:
      if (iVar10 == 100) goto LAB_0009e08c;
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      goto LAB_0009e0b0;
    }
    cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    if ((uVar8 & 0xffff0000) == 0x53500000) goto LAB_0009df78;
    iVar10 = 0;
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5600;
          *(undefined1 *)(param_1 + 0x4b1f) = 0;
        }
        else {
          *(undefined1 *)(param_1 + 0x4b1f) = 0;
        }
        goto LAB_0009e06c;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
LAB_0009e08c:
    if (RTDebugLevel == 0) {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      printk("BBP write R%d fail\n",0x56);
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
LAB_0009e0b0:
    iVar10 = 0;
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa52f2;
        }
        *(undefined1 *)(param_1 + 0x4b1b) = 0xf2;
        if (iVar10 != 100) {
          iVar10 = *(int *)(param_1 + 0x4bf4);
          goto LAB_0009e160;
        }
        break;
      }
      iVar10 = iVar10 + 1;
    } while (iVar10 != 100);
    if (RTDebugLevel == 0) {
      iVar10 = *(int *)(param_1 + 0x4bf4);
    }
    else {
      printk("BBP write R%d fail\n",0x52);
      iVar10 = *(int *)(param_1 + 0x4bf4);
    }
LAB_0009e160:
    cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    iVar11 = 0;
    if (iVar10 << 0xc < 0) {
LAB_0009e178:
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) != 0) goto code_r0x0009e190;
      if (cVar7 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4b46;
        uVar5 = 0x46;
      }
      else {
        uVar5 = 0x46;
      }
LAB_0009e288:
      *(undefined1 *)(param_1 + 0x4b14) = uVar5;
      if (iVar11 == 100) goto LAB_0009e1e4;
      goto LAB_0009e208;
    }
    do {
      uVar8 = 0;
      if (cVar7 == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar8 & 0x20000) == 0) {
        uVar5 = 0x50;
        if (cVar7 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4b50;
          uVar5 = 0x50;
        }
        goto LAB_0009e288;
      }
      iVar11 = iVar11 + 1;
    } while (iVar11 != 100);
LAB_0009e1e4:
    if (RTDebugLevel != 0) {
      printk("BBP write R%d fail\n",0x4b);
    }
LAB_0009e208:
    iVar10 = 0;
    cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_0009e2b4:
    uVar8 = 0;
    if (cVar7 == '\0') {
      uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
    }
    if ((uVar8 & 0x20000) != 0) {
LAB_0009e33c:
      iVar10 = iVar10 + 1;
      if (iVar10 == 100) goto LAB_0009e344;
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      goto LAB_0009e2b4;
    }
    if (cVar7 == '\0') {
      *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb5b00;
    }
    iVar11 = 0;
    do {
      uVar8 = 0;
      if (*(char *)(param_1 + 0xec) == '\0') {
        uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
    } while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
    if ((uVar8 & 0x2ff00) != 0x5b00) goto LAB_0009e33c;
    uVar12 = uVar8 & 0xff;
LAB_0009e344:
    if ((int)(uVar8 << 0xe) < 0) {
      if (RTDebugLevel == 0) {
        bVar4 = *(byte *)(param_1 + 0x4b24);
      }
      else {
        printk("BBP read R%d fail\n",0x5b);
        bVar4 = *(byte *)(param_1 + 0x4b24);
      }
      uVar12 = (uint)bVar4;
    }
    if (uVar12 == 4) {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      printk("<4>/home/eric/release/dir600b5/progs.priv/rt2860v2/build/rt2860v2_ap/../rt2860v2/common/rt_ate.c:%d assert (BbpValue == 0x04)failed\n"
             ,0x711);
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    if (cVar7 == '\0') {
      *(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) =
           *(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) & 0xfffffff9 | 2;
      uVar8 = *(uint *)(param_1 + 0x4bf4);
    }
    else {
      uVar8 = *(uint *)(param_1 + 0x4bf4);
    }
    if ((uVar8 & 0xf0) == 0x10) {
      uVar12 = 0x50f01;
    }
    else {
      uVar12 = 0x50f05;
    }
    if ((uVar8 & 0xf) == 1) {
      uVar12 = uVar12 & 0xfffff3ff;
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    if (cVar7 == '\0') {
      *(uint *)(*(int *)(param_1 + 0xdc) + 0x1328) = uVar12;
    }
    bVar4 = *(byte *)(param_1 + 0x4be0);
    if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
      if (bVar4 < 0xf) {
        iVar10 = (int)*(char *)(param_1 + 0x50e4);
      }
      else if (bVar4 < 0x41) {
        iVar10 = (int)*(char *)(param_1 + 0x50e5);
      }
      else if (bVar4 < 0x81) {
        iVar10 = (int)*(char *)(param_1 + 0x50e6);
      }
      else {
        iVar10 = (int)*(char *)(param_1 + 0x50e7);
      }
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      iVar11 = 0;
      uVar8 = (iVar10 * 5) / 3 + 0x32;
      do {
        uVar12 = 0;
        if (cVar7 == '\0') {
          uVar12 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar12 & 0x20000) == 0) goto LAB_0009e874;
        iVar11 = iVar11 + 1;
      } while (iVar11 != 100);
    }
    else {
      if (bVar4 < 0xf) {
        iVar10 = (int)*(char *)(param_1 + 0x50e4);
      }
      else if (bVar4 < 0x41) {
        iVar10 = (int)*(char *)(param_1 + 0x50e5);
      }
      else if (bVar4 < 0x81) {
        iVar10 = (int)*(char *)(param_1 + 0x50e6);
      }
      else {
        iVar10 = (int)*(char *)(param_1 + 0x50e7);
      }
      cVar7 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      iVar11 = 0;
      uVar8 = (iVar10 * 5) / 3 + 0x3a;
      do {
        uVar12 = 0;
        if (cVar7 == '\0') {
          uVar12 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar12 & 0x20000) == 0) goto LAB_0009e874;
        iVar11 = iVar11 + 1;
      } while (iVar11 != 100);
    }
  }
  goto LAB_0009e8cc;
code_r0x0009ce24:
  iVar10 = iVar10 + 1;
  if (iVar10 == 100) goto LAB_0009ce8c;
  goto LAB_0009ce0c;
code_r0x0009dfac:
  iVar10 = iVar10 + 1;
  if (iVar10 == 100) goto LAB_0009e08c;
  goto LAB_0009df94;
code_r0x0009e190:
  iVar11 = iVar11 + 1;
  if (iVar11 == 100) goto LAB_0009e1e4;
  goto LAB_0009e178;
LAB_0009e874:
  if (cVar7 == '\0') {
    *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar8 & 0xff | 0xa4200;
    *(char *)(param_1 + 0x4b0b) = (char)uVar8;
  }
  else {
    *(char *)(param_1 + 0x4b0b) = (char)uVar8;
  }
  goto LAB_0009e8ac;
code_r0x0009d71c:
  iVar10 = iVar10 + 1;
  if (iVar10 == 100) goto LAB_0009d7fc;
  goto LAB_0009d704;
code_r0x0009d900:
  iVar10 = iVar10 + 1;
  if (iVar10 == 100) goto LAB_0009da90;
  goto LAB_0009d8e8;
LAB_0009e708:
  if (cVar7 == '\0') {
    *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar9 | 0xa4200;
    *(char *)(param_1 + 0x4b0b) = (char)uVar9;
  }
  else {
    *(char *)(param_1 + 0x4b0b) = (char)uVar9;
  }
LAB_0009e8ac:
  if (iVar11 == 100) {
LAB_0009e8cc:
    if (RTDebugLevel != 0) {
      printk("BBP write R%d fail\n",0x42);
    }
  }
  RtmpOsMsDelay(1);
  uVar8 = *(uint *)(param_1 + 0x4a94) & 0xffff0000;
  if (((uVar8 == 0x33520000) || (uVar8 == 0x53500000)) && (-1 < _DAT_b0000010 << 0xb)) {
    if (RTDebugLevel < 3) {
      return;
    }
    puVar6 = FreqItems3020_Xtal20M;
  }
  else {
    if (RTDebugLevel < 3) {
      return;
    }
    puVar6 = &RtmpFreqItems3020;
  }
  printk("SwitchChannel#%d(RFIC=%d, Pwr0=%d, Pwr1=%d, %dT), N=0x%02X, K=0x%02X, R=0x%02X\n",bVar3,
         *(undefined1 *)(param_1 + 0x4bd4),(int)(char)bVar2,(int)(char)bVar1,
         (uint)(*(int *)(param_1 + 0x4bf4) << 0x18) >> 0x1c,puVar6[uVar13 * 4 + 1],
         puVar6[uVar13 * 4 + 3],puVar6[uVar13 * 4 + 2]);
  return;
}