undefined4 RT5350_GetDesiredTSSI(int param_1,undefined1 *param_2)

{
  code cVar1;
  undefined4 *puVar2;
  int iVar3;
  char cVar4;
  uint uVar5;
  char *pcVar6;
  undefined1 uVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  byte bVar12;
  undefined4 uVar13;
  
  uVar5 = Status;
  cVar1 = AsicRxAntEvalTimeout[param_1 + 5];
  uVar10 = 0;
  if (*(char *)(param_1 + 0xec) == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar11 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar11 = uVar5 & 1;
      }
      iVar8 = 0;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar5 & 0x20000) == 0) {
          if (cVar4 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
          }
          iVar3 = 0;
          do {
            uVar5 = 0;
            if (*(char *)(param_1 + 0xec) == '\0') {
              uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
            }
          } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
          if ((uVar5 & 0x2ff00) == 0x2f00) {
            uVar10 = uVar5 & 0xff;
            goto LAB_000b7664;
          }
        }
        iVar8 = iVar8 + 1;
        if (iVar8 == 100) break;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      uVar10 = 0;
LAB_000b7664:
      if ((int)(uVar5 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
        uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
LAB_000b77f8:
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
    }
    else {
      uVar11 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar11 = uVar5 & 1;
      }
      iVar8 = 0;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar5 & 0x20000) == 0) {
          if (cVar4 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
          }
          AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
          RTMPusecDelay(1000);
          iVar3 = 0;
          do {
            uVar5 = 0;
            if (*(char *)(param_1 + 0xec) == '\0') {
              uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
            }
          } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
          if ((uVar5 & 0x2ff00) == 0x2f00) {
            uVar10 = uVar5 & 0xff;
            goto LAB_000b77a0;
          }
        }
        iVar8 = iVar8 + 1;
        if (iVar8 == 100) break;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      uVar10 = 0;
LAB_000b77a0:
      if ((int)(uVar5 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
        uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
        if (*(char *)(param_1 + 0xec) == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
               *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
        }
        goto LAB_000b77f8;
      }
      cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    if ((cVar4 == '\x01') && (Status = Status & 0xfffffffe, uVar11 != 0)) {
      Status = Status | 1;
    }
    if ((uVar10 & 4) != 0) {
      if (RTDebugLevel == 0) {
        return 0;
      }
      printk("%s: BBP TSSI INFO is not ready. (BbpR47 = 0x%X)\n","RT5350_GetDesiredTSSI",uVar10);
      return 0;
    }
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  else {
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  uVar5 = Status;
  if (cVar4 == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar11 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar11 = uVar5 & 1;
      }
      iVar8 = 0;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000b78b4:
      uVar5 = 0;
      if (cVar4 == '\0') {
        uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar5 & 0x20000) != 0) {
LAB_000b793c:
        iVar8 = iVar8 + 1;
        if (iVar8 == 100) goto LAB_000b7944;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        goto LAB_000b78b4;
      }
      if (cVar4 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
      }
      iVar3 = 0;
      do {
        uVar5 = 0;
        if (*(char *)(param_1 + 0xec) == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
      } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
      if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b793c;
      uVar10 = uVar5 & 0xff;
LAB_000b7944:
      if ((int)(uVar5 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
        uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      if (cVar4 == '\x01') {
LAB_000b7afc:
        Status = Status & 0xfffffffe;
        if (uVar11 != 0) {
          Status = Status | 1;
        }
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
    }
    else {
      uVar11 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar11 = uVar5 & 1;
      }
      iVar8 = 0;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000b79c8:
      uVar5 = 0;
      if (cVar4 == '\0') {
        uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
      }
      if ((uVar5 & 0x20000) != 0) {
LAB_000b7a88:
        iVar8 = iVar8 + 1;
        if (iVar8 == 100) goto LAB_000b7a90;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        goto LAB_000b79c8;
      }
      if (cVar4 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
      }
      AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
      RTMPusecDelay(1000);
      iVar3 = 0;
      do {
        uVar5 = 0;
        if (*(char *)(param_1 + 0xec) == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
      } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
      if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b7a88;
      uVar10 = uVar5 & 0xff;
LAB_000b7a90:
      if ((int)(uVar5 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
        uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
        if (*(char *)(param_1 + 0xec) == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
               *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
        }
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      if (cVar4 == '\x01') goto LAB_000b7afc;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
  }
  else {
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  uVar5 = Status;
  uVar10 = uVar10 & 0xfc;
  if (cVar4 == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar11 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar11 = uVar5 & 1;
      }
      iVar8 = 1;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar5 & 0x20000) == 0) break;
        iVar8 = iVar8 + 1;
        printk(&_LC5)   //possible issue identified - semgrep
        if (iVar8 == 100) goto LAB_000b7be0;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar4 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa2f00;
      }
      *(char *)(param_1 + 0x4af8) = (char)uVar10;
      if (iVar8 != 100) goto LAB_000b7c00;
LAB_000b7be0:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",0x2f);
LAB_000b7c00:
      if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_000b7db4:
        Status = Status & 0xfffffffe;
        if (uVar11 != 0) {
          Status = Status | 1;
        }
        goto LAB_000b7dc4;
      }
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      uVar11 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar11 = uVar5 & 1;
      }
      iVar8 = 1;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar5 & 0x20000) == 0) break;
        if ((iVar8 % 0x14 == 0) && (cVar4 == '\0')) {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
        }
        iVar8 = iVar8 + 1;
        printk(&_LC5)   //possible issue identified - semgrep
        if (iVar8 == 100) goto LAB_000b7d58;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar4 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0xa2f00;
      }
      iVar3 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
      if (*(char *)(param_1 + 0x16964) == '\x01') {
        RTMPusecDelay(1000);
      }
      if ((iVar3 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0x82f00;
      }
      *(char *)(param_1 + 0x4af8) = (char)uVar10;
      if (iVar8 != 100) goto LAB_000b7da0;
LAB_000b7d58:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",0x2f);
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
             *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000b7da0:
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      if (cVar4 == '\x01') goto LAB_000b7db4;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
  }
  else {
LAB_000b7dc4:
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  uVar5 = Status;
  uVar7 = 0;
  if (cVar4 == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar11 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar11 = uVar5 & 1;
      }
      iVar8 = 0;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar5 & 0x20000) == 0) {
          if (cVar4 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3100;
          }
          iVar3 = 0;
          do {
            uVar5 = 0;
            if (*(char *)(param_1 + 0xec) == '\0') {
              uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
            }
          } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
          if ((uVar5 & 0x2ff00) == 0x3100) {
            uVar9 = uVar5 & 0xff;
            goto LAB_000b7eac;
          }
        }
        iVar8 = iVar8 + 1;
        if (iVar8 == 100) break;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      uVar9 = 0;
LAB_000b7eac:
      if ((int)(uVar5 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",0,0x31);
        uVar9 = (uint)*(byte *)(param_1 + 0x4afa);
LAB_000b8040:
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
    }
    else {
      uVar11 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar11 = uVar5 & 1;
      }
      iVar8 = 0;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar5 & 0x20000) == 0) {
          if (cVar4 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb3100;
          }
          AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
          RTMPusecDelay(1000);
          iVar3 = 0;
          do {
            uVar5 = 0;
            if (*(char *)(param_1 + 0xec) == '\0') {
              uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
            }
          } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
          if ((uVar5 & 0x2ff00) == 0x3100) {
            uVar9 = uVar5 & 0xff;
            goto LAB_000b7fe8;
          }
        }
        iVar8 = iVar8 + 1;
        if (iVar8 == 100) break;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      uVar9 = 0;
LAB_000b7fe8:
      if ((int)(uVar5 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",1,0x31);
        uVar9 = (uint)*(byte *)(param_1 + 0x4afa);
        if (*(char *)(param_1 + 0xec) == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
               *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
        }
        goto LAB_000b8040;
      }
      cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    uVar7 = (undefined1)uVar9;
    if ((cVar4 == '\x01') && (Status = Status & 0xfffffffe, uVar11 != 0)) {
      Status = Status | 1;
    }
    if (uVar9 < 0x7d) goto LAB_000b80a0;
    if (2 < RTDebugLevel) {
      printk("TSSI: BBP_R49=%X is native value\n");
    }
    *param_2 = 0;
  }
  else {
LAB_000b80a0:
    *param_2 = uVar7;
  }
  uVar5 = Status;
  if (*(char *)(param_1 + 0xec) == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar11 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar11 = uVar5 & 1;
      }
      iVar8 = 0;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000b80fc:
      uVar5 = 0;
      if (cVar4 == '\0') {
        uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar5 & 0x20000) != 0) {
LAB_000b8184:
        iVar8 = iVar8 + 1;
        if (iVar8 == 100) goto LAB_000b818c;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        goto LAB_000b80fc;
      }
      if (cVar4 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
      }
      iVar3 = 0;
      do {
        uVar5 = 0;
        if (*(char *)(param_1 + 0xec) == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
      } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
      if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b8184;
      uVar10 = uVar5 & 0xff;
LAB_000b818c:
      if ((int)(uVar5 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
        uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
LAB_000b831c:
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
    }
    else {
      uVar11 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar11 = uVar5 & 1;
      }
      iVar8 = 0;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000b81fc:
      uVar5 = 0;
      if (cVar4 == '\0') {
        uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
      }
      if ((uVar5 & 0x20000) != 0) {
LAB_000b82bc:
        iVar8 = iVar8 + 1;
        if (iVar8 == 100) goto LAB_000b82c4;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        goto LAB_000b81fc;
      }
      if (cVar4 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
      }
      AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
      RTMPusecDelay(1000);
      iVar3 = 0;
      do {
        uVar5 = 0;
        if (*(char *)(param_1 + 0xec) == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
      } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
      if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b82bc;
      uVar10 = uVar5 & 0xff;
LAB_000b82c4:
      if ((int)(uVar5 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
        uVar10 = (uint)*(byte *)(param_1 + 0x4af8);
        if (*(char *)(param_1 + 0xec) == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
               *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
        }
        goto LAB_000b831c;
      }
      cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    if (cVar4 == '\x01') {
      Status = Status & 0xfffffffe;
      if (uVar11 != 0) {
        Status = Status | 1;
      }
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
  }
  else {
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  uVar5 = Status;
  uVar10 = uVar10 & 0xfc;
  uVar11 = uVar10 | 1;
  if (cVar4 == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar9 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar9 = uVar5 & 1;
      }
      iVar8 = 1;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar5 & 0x20000) == 0) break;
        iVar8 = iVar8 + 1;
        printk(&_LC5)   //possible issue identified - semgrep
        if (iVar8 == 100) goto LAB_000b8418;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar4 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa2f01;
      }
      *(char *)(param_1 + 0x4af8) = (char)uVar11;
      if (iVar8 != 100) goto LAB_000b8438;
LAB_000b8418:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",0x2f);
LAB_000b8438:
      if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_000b85ec:
        Status = Status & 0xfffffffe;
        if (uVar9 != 0) {
          Status = Status | 1;
        }
        goto LAB_000b85fc;
      }
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      uVar9 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar9 = uVar5 & 1;
      }
      iVar8 = 1;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar5 & 0x20000) == 0) break;
        if ((iVar8 % 0x14 == 0) && (cVar4 == '\0')) {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
        }
        iVar8 = iVar8 + 1;
        printk(&_LC5)   //possible issue identified - semgrep
        if (iVar8 == 100) goto LAB_000b8590;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar4 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0xa2f01;
      }
      iVar3 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
      if (*(char *)(param_1 + 0x16964) == '\x01') {
        RTMPusecDelay(1000);
      }
      if ((iVar3 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0x82f01;
      }
      *(char *)(param_1 + 0x4af8) = (char)uVar11;
      if (iVar8 != 100) goto LAB_000b85d8;
LAB_000b8590:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",0x2f);
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
             *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000b85d8:
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      if (cVar4 == '\x01') goto LAB_000b85ec;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
  }
  else {
LAB_000b85fc:
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  uVar5 = Status;
  uVar10 = 0;
  if (cVar4 == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar9 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar9 = uVar5 & 1;
      }
      iVar8 = 0;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar5 & 0x20000) == 0) {
          if (cVar4 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3100;
          }
          iVar3 = 0;
          do {
            uVar5 = 0;
            if (*(char *)(param_1 + 0xec) == '\0') {
              uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
            }
          } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
          if ((uVar5 & 0x2ff00) == 0x3100) {
            uVar10 = uVar5 & 0xff;
            goto LAB_000b86e4;
          }
        }
        iVar8 = iVar8 + 1;
        if (iVar8 == 100) break;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      uVar10 = 0;
LAB_000b86e4:
      if ((int)(uVar5 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",0,0x31);
        uVar10 = (uint)*(byte *)(param_1 + 0x4afa);
LAB_000b8878:
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
    }
    else {
      uVar9 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar9 = uVar5 & 1;
      }
      iVar8 = 0;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar5 & 0x20000) == 0) {
          if (cVar4 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb3100;
          }
          AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
          RTMPusecDelay(1000);
          iVar3 = 0;
          do {
            uVar5 = 0;
            if (*(char *)(param_1 + 0xec) == '\0') {
              uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
            }
          } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
          if ((uVar5 & 0x2ff00) == 0x3100) {
            uVar10 = uVar5 & 0xff;
            goto LAB_000b8820;
          }
        }
        iVar8 = iVar8 + 1;
        if (iVar8 == 100) break;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      uVar10 = 0;
LAB_000b8820:
      if ((int)(uVar5 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",1,0x31);
        uVar10 = (uint)*(byte *)(param_1 + 0x4afa);
        if (*(char *)(param_1 + 0xec) == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
               *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
        }
        goto LAB_000b8878;
      }
      cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    if ((cVar4 == '\x01') && (Status = Status & 0xfffffffe, uVar9 != 0)) {
      Status = Status | 1;
    }
  }
  uVar5 = uVar10 & 3;
  if (uVar5 == 1) {
    iVar8 = 6;
    switch((uVar10 >> 4) - 9 & 0xff) {
    case 0:
      iVar8 = 4;
      break;
    case 1:
      iVar8 = 2;
      break;
    case 2:
      iVar8 = 0;
      break;
    case 3:
      iVar8 = 7;
      break;
    case 4:
      iVar8 = 5;
      break;
    case 5:
      iVar8 = 3;
      break;
    case 6:
      iVar8 = 1;
    }
    uVar13 = (&RT5350_desiredTSSIOverOFDM)[iVar8];
    if (3 < RTDebugLevel) {
      pcVar6 = "OFDM: desiredTSSI = %d, MCS = %d\n";
LAB_000b9234:
      printk(pcVar6,uVar13);
    }
  }
  else if (uVar5 == 2) {
    if (RTDebugLevel < 4) {
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      printk("mixed mode or green-field mode\n");
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    uVar5 = Status;
    if (cVar4 == '\0') {
      if (*(int *)(param_1 + 0x29f8) == 4) {
        uVar10 = 0;
        if (*(char *)(param_1 + 0xad) == '\x01') {
          Status = Status & 0xfffffffe;
          uVar10 = uVar5 & 1;
        }
        iVar8 = 0;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000b8a34:
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar5 & 0x20000) != 0) {
LAB_000b8abc:
          iVar8 = iVar8 + 1;
          if (iVar8 == 100) goto LAB_000b8ac4;
          cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          goto LAB_000b8a34;
        }
        if (cVar4 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
        }
        iVar3 = 0;
        do {
          uVar5 = 0;
          if (*(char *)(param_1 + 0xec) == '\0') {
            uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
        } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
        if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b8abc;
        uVar11 = uVar5 & 0xff;
LAB_000b8ac4:
        if ((int)(uVar5 << 0xe) < 0) {
          printk("ERROR!!! ");
          printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
          uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
LAB_000b8c54:
          cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
        }
        else {
          cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
        }
      }
      else {
        uVar10 = 0;
        if (*(char *)(param_1 + 0xad) == '\x01') {
          Status = Status & 0xfffffffe;
          uVar10 = uVar5 & 1;
        }
        iVar8 = 0;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000b8b34:
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar5 & 0x20000) != 0) {
LAB_000b8bf4:
          iVar8 = iVar8 + 1;
          if (iVar8 == 100) goto LAB_000b8bfc;
          cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
          goto LAB_000b8b34;
        }
        if (cVar4 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
        }
        AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
        RTMPusecDelay(1000);
        iVar3 = 0;
        do {
          uVar5 = 0;
          if (*(char *)(param_1 + 0xec) == '\0') {
            uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
          }
        } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
        if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b8bf4;
        uVar11 = uVar5 & 0xff;
LAB_000b8bfc:
        if ((int)(uVar5 << 0xe) < 0) {
          printk("ERROR!!! ");
          printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
          uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
          if (*(char *)(param_1 + 0xec) == '\0') {
            *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
                 *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
          }
          goto LAB_000b8c54;
        }
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      if (cVar4 == '\x01') {
        Status = Status & 0xfffffffe;
        if (uVar10 != 0) {
          Status = Status | 1;
        }
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
    }
    else {
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    uVar5 = Status;
    uVar10 = uVar11 & 0xfc;
    uVar11 = uVar10 | 2;
    if (cVar4 == '\0') {
      if (*(int *)(param_1 + 0x29f8) == 4) {
        uVar9 = 0;
        if (*(char *)(param_1 + 0xad) == '\x01') {
          Status = Status & 0xfffffffe;
          uVar9 = uVar5 & 1;
        }
        iVar8 = 1;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        while( true ) {
          uVar5 = 0;
          if (cVar4 == '\0') {
            uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if ((uVar5 & 0x20000) == 0) break;
          iVar8 = iVar8 + 1;
          printk(&_LC5)   //possible issue identified - semgrep
          if (iVar8 == 100) goto LAB_000b8d50;
          cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        if (cVar4 == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar10 | 0xa2f02;
        }
        *(char *)(param_1 + 0x4af8) = (char)uVar11;
        if (iVar8 != 100) goto LAB_000b8d70;
LAB_000b8d50:
        printk("ERROR!!! ");
        printk("BBP write R%d fail\n",0x2f);
LAB_000b8d70:
        if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_000b8f24:
          Status = Status & 0xfffffffe;
          if (uVar9 != 0) {
            Status = Status | 1;
          }
          goto LAB_000b8f34;
        }
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      else {
        uVar9 = 0;
        if (*(char *)(param_1 + 0xad) == '\x01') {
          Status = Status & 0xfffffffe;
          uVar9 = uVar5 & 1;
        }
        iVar8 = 1;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        while( true ) {
          uVar5 = 0;
          if (cVar4 == '\0') {
            uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
          }
          if ((uVar5 & 0x20000) == 0) break;
          if ((iVar8 % 0x14 == 0) && (cVar4 == '\0')) {
            *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
          }
          iVar8 = iVar8 + 1;
          printk(&_LC5)   //possible issue identified - semgrep
          if (iVar8 == 100) goto LAB_000b8ec8;
          cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        if (cVar4 == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0xa2f02;
        }
        iVar3 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
        if (*(char *)(param_1 + 0x16964) == '\x01') {
          RTMPusecDelay(1000);
        }
        if ((iVar3 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar10 | 0x82f02;
        }
        *(char *)(param_1 + 0x4af8) = (char)uVar11;
        if (iVar8 != 100) goto LAB_000b8f10;
LAB_000b8ec8:
        printk("ERROR!!! ");
        printk("BBP write R%d fail\n",0x2f);
        if (*(char *)(param_1 + 0xec) == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
               *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000b8f10:
          cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
        }
        else {
          cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
        }
        if (cVar4 == '\x01') goto LAB_000b8f24;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
    }
    else {
LAB_000b8f34:
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    uVar5 = Status;
    uVar10 = 0;
    if (cVar4 == '\0') {
      if (*(int *)(param_1 + 0x29f8) == 4) {
        uVar9 = 0;
        if (*(char *)(param_1 + 0xad) == '\x01') {
          Status = Status & 0xfffffffe;
          uVar9 = uVar5 & 1;
        }
        iVar8 = 0;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        while( true ) {
          uVar5 = 0;
          if (cVar4 == '\0') {
            uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if ((uVar5 & 0x20000) == 0) {
            if (cVar4 == '\0') {
              *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3100;
            }
            iVar3 = 0;
            do {
              uVar5 = 0;
              if (*(char *)(param_1 + 0xec) == '\0') {
                uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
              }
            } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
            if ((uVar5 & 0x2ff00) == 0x3100) {
              uVar10 = uVar5 & 0xff;
              goto LAB_000b901c;
            }
          }
          iVar8 = iVar8 + 1;
          if (iVar8 == 100) break;
          cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        uVar10 = 0;
LAB_000b901c:
        if ((int)(uVar5 << 0xe) < 0) {
          printk("ERROR!!! ");
          printk("BBP(viaMCU=%d) read R%d fail\n",0,0x31);
          uVar10 = (uint)*(byte *)(param_1 + 0x4afa);
LAB_000b91b0:
          cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
        }
        else {
          cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
        }
      }
      else {
        uVar9 = 0;
        if (*(char *)(param_1 + 0xad) == '\x01') {
          Status = Status & 0xfffffffe;
          uVar9 = uVar5 & 1;
        }
        iVar8 = 0;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        while( true ) {
          uVar5 = 0;
          if (cVar4 == '\0') {
            uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
          }
          if ((uVar5 & 0x20000) == 0) {
            if (cVar4 == '\0') {
              *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb3100;
            }
            AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
            RTMPusecDelay(1000);
            iVar3 = 0;
            do {
              uVar5 = 0;
              if (*(char *)(param_1 + 0xec) == '\0') {
                uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
              }
            } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
            if ((uVar5 & 0x2ff00) == 0x3100) {
              uVar10 = uVar5 & 0xff;
              goto LAB_000b9158;
            }
          }
          iVar8 = iVar8 + 1;
          if (iVar8 == 100) break;
          cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        uVar10 = 0;
LAB_000b9158:
        if ((int)(uVar5 << 0xe) < 0) {
          printk("ERROR!!! ");
          printk("BBP(viaMCU=%d) read R%d fail\n",1,0x31);
          uVar10 = (uint)*(byte *)(param_1 + 0x4afa);
          if (*(char *)(param_1 + 0xec) == '\0') {
            *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
                 *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
          }
          goto LAB_000b91b0;
        }
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      if ((cVar4 == '\x01') && (Status = Status & 0xfffffffe, uVar9 != 0)) {
        Status = Status | 1;
      }
    }
    if ((cVar1 == (code)0x1) && (((uVar10 & 0x7f) - 5 & 0xff) < 3)) {
      puVar2 = &RT5350_desiredTSSIOverHT40;
    }
    else {
      puVar2 = &RT5350_desiredTSSIOverHT;
    }
    uVar13 = puVar2[uVar10 & 0x7f];
    if (3 < RTDebugLevel) {
      pcVar6 = "HT: desiredTSSI = %d, MCS = %d\n";
      goto LAB_000b9234;
    }
  }
  else {
    uVar13 = 0;
    if (uVar5 == 0) {
      uVar10 = uVar10 >> 4;
      iVar8 = 1;
      if (uVar10 != 9) {
        if (uVar10 < 9) {
          iVar8 = 0;
        }
        else {
          iVar8 = 2;
          if ((uVar10 != 10) && (iVar8 = 3, uVar10 != 0xb)) {
            iVar8 = 0;
          }
        }
      }
      uVar13 = (&RT5350_desiredTSSIOverCCK)[iVar8];
      if (3 < RTDebugLevel) {
        pcVar6 = "CCK: desiredTSSI = %d, MCS = %d\n";
        goto LAB_000b9234;
      }
    }
  }
  uVar5 = Status;
  cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  if (cVar4 != '\0') {
    uVar11 = uVar11 & 0xf8;
    goto LAB_000b979c;
  }
  if (*(int *)(param_1 + 0x29f8) == 4) {
    uVar10 = 0;
    if (*(char *)(param_1 + 0xad) == '\x01') {
      Status = Status & 0xfffffffe;
      uVar10 = uVar5 & 1;
    }
    iVar8 = 0;
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000b9298:
    uVar5 = 0;
    if (cVar4 == '\0') {
      uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
    }
    if ((uVar5 & 0x20000) != 0) {
LAB_000b9320:
      iVar8 = iVar8 + 1;
      if (iVar8 == 100) goto LAB_000b9328;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      goto LAB_000b9298;
    }
    if (cVar4 == '\0') {
      *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
    }
    iVar3 = 0;
    do {
      uVar5 = 0;
      if (*(char *)(param_1 + 0xec) == '\0') {
        uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
    } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
    if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b9320;
    uVar11 = uVar5 & 0xff;
LAB_000b9328:
    if ((int)(uVar5 << 0xe) < 0) {
      printk("ERROR!!! ");
      printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
      uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
LAB_000b94bc:
      cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    else {
      cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
  }
  else {
    uVar10 = 0;
    if (*(char *)(param_1 + 0xad) == '\x01') {
      Status = Status & 0xfffffffe;
      uVar10 = uVar5 & 1;
    }
    iVar8 = 0;
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000b9394:
    uVar5 = 0;
    if (cVar4 == '\0') {
      uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
    }
    if ((uVar5 & 0x20000) != 0) {
LAB_000b945c:
      iVar8 = iVar8 + 1;
      if (iVar8 == 100) goto LAB_000b9464;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      goto LAB_000b9394;
    }
    if (cVar4 == '\0') {
      *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
    }
    AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
    RTMPusecDelay(1000);
    iVar3 = 0;
    do {
      uVar5 = 0;
      if (*(char *)(param_1 + 0xec) == '\0') {
        uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
      }
      iVar3 = iVar3 + 1;
    } while (((uVar5 & 0x20000) != 0) && (iVar3 != 100));
    if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b945c;
    uVar11 = uVar5 & 0xff;
LAB_000b9464:
    if ((int)(uVar5 << 0xe) < 0) {
      printk("ERROR!!! ");
      printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
      uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
             *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
      }
      goto LAB_000b94bc;
    }
    cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
  }
  if (cVar4 == '\x01') {
    Status = Status & 0xfffffffe;
    if (uVar10 != 0) {
      Status = Status | 1;
    }
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  else {
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  uVar5 = Status;
  uVar11 = uVar11 & 0xf8;
  if (cVar4 == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar10 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar10 = uVar5 & 1;
      }
      iVar8 = 1;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar5 & 0x20000) == 0) break;
        iVar8 = iVar8 + 1;
        printk(&_LC5)   //possible issue identified - semgrep
        if (iVar8 == 100) goto LAB_000b95b4;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar4 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar11 | 0xa2f00;
      }
      *(char *)(param_1 + 0x4af8) = (char)uVar11;
      if (iVar8 != 100) goto LAB_000b95d4;
LAB_000b95b4:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",0x2f);
LAB_000b95d4:
      if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_000b9788:
        Status = Status & 0xfffffffe;
        if (uVar10 != 0) {
          Status = Status | 1;
        }
        goto LAB_000b9798;
      }
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    else {
      uVar10 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar10 = uVar5 & 1;
      }
      iVar8 = 1;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar5 & 0x20000) == 0) break;
        if ((iVar8 % 0x14 == 0) && (cVar4 == '\0')) {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
        }
        iVar8 = iVar8 + 1;
        printk(&_LC5)   //possible issue identified - semgrep
        if (iVar8 == 100) goto LAB_000b972c;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar4 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar11 | 0xa2f00;
      }
      iVar3 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
      if (*(char *)(param_1 + 0x16964) == '\x01') {
        RTMPusecDelay(1000);
      }
      if ((iVar3 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar11 | 0x82f00;
      }
      *(char *)(param_1 + 0x4af8) = (char)uVar11;
      if (iVar8 != 100) goto LAB_000b9774;
LAB_000b972c:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",0x2f);
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
             *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000b9774:
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      if (cVar4 == '\x01') goto LAB_000b9788;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
  }
  else {
LAB_000b9798:
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
LAB_000b979c:
  uVar5 = Status;
  if (cVar4 != '\0') {
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    goto LAB_000b9a38;
  }
  if (*(int *)(param_1 + 0x29f8) == 4) {
    uVar10 = 0;
    if (*(char *)(param_1 + 0xad) == '\x01') {
      Status = Status & 0xfffffffe;
      uVar10 = uVar5 & 1;
    }
    iVar8 = 0;
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000b97ec:
    uVar5 = 0;
    if (cVar4 == '\0') {
      uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
    }
    if ((uVar5 & 0x20000) != 0) {
LAB_000b9874:
      iVar8 = iVar8 + 1;
      if (iVar8 == 100) goto LAB_000b987c;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      goto LAB_000b97ec;
    }
    if (cVar4 == '\0') {
      *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb2f00;
    }
    iVar3 = 0;
    do {
      uVar5 = 0;
      if (*(char *)(param_1 + 0xec) == '\0') {
        uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
    } while (((uVar5 & 0x20000) != 0) && (iVar3 = iVar3 + 1, iVar3 != 100));
    if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b9874;
    uVar11 = uVar5 & 0xff;
LAB_000b987c:
    if ((int)(uVar5 << 0xe) < 0) {
      printk("ERROR!!! ");
      printk("BBP(viaMCU=%d) read R%d fail\n",0,0x2f);
      uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
LAB_000b9a10:
      cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    else {
      cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
  }
  else {
    uVar10 = 0;
    if (*(char *)(param_1 + 0xad) == '\x01') {
      Status = Status & 0xfffffffe;
      uVar10 = uVar5 & 1;
    }
    iVar8 = 0;
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_000b98e8:
    uVar5 = 0;
    if (cVar4 == '\0') {
      uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
    }
    if ((uVar5 & 0x20000) != 0) {
LAB_000b99b0:
      iVar8 = iVar8 + 1;
      if (iVar8 == 100) goto LAB_000b99b8;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      goto LAB_000b98e8;
    }
    if (cVar4 == '\0') {
      *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb2f00;
    }
    AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
    RTMPusecDelay(1000);
    iVar3 = 0;
    do {
      uVar5 = 0;
      if (*(char *)(param_1 + 0xec) == '\0') {
        uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
      }
      iVar3 = iVar3 + 1;
    } while (((uVar5 & 0x20000) != 0) && (iVar3 != 100));
    if ((uVar5 & 0x2ff00) != 0x2f00) goto LAB_000b99b0;
    uVar11 = uVar5 & 0xff;
LAB_000b99b8:
    if ((int)(uVar5 << 0xe) < 0) {
      printk("ERROR!!! ");
      printk("BBP(viaMCU=%d) read R%d fail\n",1,0x2f);
      uVar11 = (uint)*(byte *)(param_1 + 0x4af8);
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
             *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
      }
      goto LAB_000b9a10;
    }
    cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
  }
  if (cVar4 == '\x01') {
    Status = Status & 0xfffffffe;
    if (uVar10 != 0) {
      Status = Status | 1;
    }
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  else {
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
LAB_000b9a38:
  uVar5 = Status;
  if (cVar4 == '\0') {
    bVar12 = (byte)uVar11 | 4;
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar10 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar10 = uVar5 & 1;
      }
      iVar8 = 1;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar5 & 0x20000) == 0) break;
        iVar8 = iVar8 + 1;
        printk(&_LC5)   //possible issue identified - semgrep
        if (iVar8 == 100) goto LAB_000b9b0c;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar4 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar11 | 0xa2f04;
      }
      *(byte *)(param_1 + 0x4af8) = bVar12;
      if (iVar8 != 100) goto LAB_000b9b2c;
LAB_000b9b0c:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",0x2f);
LAB_000b9b2c:
      cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    else {
      uVar10 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar10 = uVar5 & 1;
      }
      iVar8 = 1;
      cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar4 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar5 & 0x20000) == 0) break;
        if ((iVar8 % 0x14 == 0) && (cVar4 == '\0')) {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
        }
        iVar8 = iVar8 + 1;
        printk(&_LC5)   //possible issue identified - semgrep
        if (iVar8 == 100) goto LAB_000b9c84;
        cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar4 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar11 | 0xa2f04;
      }
      iVar3 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
      if (*(char *)(param_1 + 0x16964) == '\x01') {
        RTMPusecDelay(1000);
      }
      if ((iVar3 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar11 | 0x82f04;
      }
      *(byte *)(param_1 + 0x4af8) = bVar12;
      if (iVar8 != 100) goto LAB_000b9ccc;
LAB_000b9c84:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",0x2f);
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
             *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000b9ccc:
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar4 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
    }
    if ((cVar4 == '\x01') && (Status = Status & 0xfffffffe, uVar10 != 0)) {
      Status = Status | 1;
    }
  }
  return uVar13;
}