void APAsicEvaluateRxAnt(int param_1)

{
  int iVar1;
  char cVar2;
  uint uVar3;
  uint uVar4;
  int iVar5;
  uint uVar6;
  
  uVar3 = Status;
  if (*(char *)(param_1 + 0x76a0c) != -0x80) {
    return;
  }
  uVar4 = 0;
  if (*(char *)(param_1 + 0xec) == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar6 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar6 = uVar3 & 1;
      }
      iVar5 = 0;
      cVar2 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar3 = 0;
        if (cVar2 == '\0') {
          uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar3 & 0x20000) == 0) {
          if (cVar2 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0300;
          }
          iVar1 = 1;
          while( true ) {
            uVar3 = 0;
            if (*(char *)(param_1 + 0xec) == '\0') {
              uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
            }
            if (((uVar3 & 0x20000) == 0) || (iVar1 == 100)) break;
            iVar1 = iVar1 + 1;
          }
          if ((uVar3 & 0x2ff00) == 0x300) {
            uVar4 = uVar3 & 0xff;
            goto LAB_00071e4c;
          }
        }
        iVar5 = iVar5 + 1;
        if (iVar5 == 100) break;
        cVar2 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      uVar4 = 0;
LAB_00071e4c:
      if ((int)(uVar3 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",0,3);
        uVar4 = (uint)*(byte *)(param_1 + 0x4acc);
LAB_00071fe4:
        cVar2 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar2 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
    }
    else {
      uVar6 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar6 = uVar3 & 1;
      }
      iVar5 = 0;
      cVar2 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar3 = 0;
        if (cVar2 == '\0') {
          uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar3 & 0x20000) == 0) {
          if (cVar2 == '\0') {
            *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0300;
          }
          AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
          RTMPusecDelay(1000);
          iVar1 = 1;
          while( true ) {
            uVar3 = 0;
            if (*(char *)(param_1 + 0xec) == '\0') {
              uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
            }
            if (((uVar3 & 0x20000) == 0) || (iVar1 == 100)) break;
            iVar1 = iVar1 + 1;
          }
          if ((uVar3 & 0x2ff00) == 0x300) {
            uVar4 = uVar3 & 0xff;
            goto LAB_00071f8c;
          }
        }
        iVar5 = iVar5 + 1;
        if (iVar5 == 100) break;
        cVar2 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      uVar4 = 0;
LAB_00071f8c:
      if ((int)(uVar3 << 0xe) < 0) {
        printk("ERROR!!! ");
        printk("BBP(viaMCU=%d) read R%d fail\n",1,3);
        uVar4 = (uint)*(byte *)(param_1 + 0x4acc);
        if (*(char *)(param_1 + 0xec) == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
               *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
        }
        goto LAB_00071fe4;
      }
      cVar2 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    if (cVar2 != '\x01') {
      uVar3 = *(uint *)(param_1 + 0x4bf4);
      goto LAB_0007200c;
    }
    Status = Status & 0xfffffffe;
    if (uVar6 != 0) {
      Status = Status | 1;
    }
  }
  uVar3 = *(uint *)(param_1 + 0x4bf4);
LAB_0007200c:
  uVar6 = Status;
  uVar4 = uVar4 & 0xe7;
  if ((uVar3 & 0xf) == 3) {
    uVar4 = uVar4 | 0x10;
  }
  else if ((uVar3 & 0xf) == 2) {
    uVar4 = uVar4 | 8;
  }
  if (*(char *)(param_1 + 0xec) == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar3 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar3 = uVar6 & 1;
      }
      iVar5 = 1;
      cVar2 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar6 = 0;
        if (cVar2 == '\0') {
          uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar6 & 0x20000) == 0) break;
        iVar5 = iVar5 + 1;
        printk(&_LC2)   //possible issue identified - semgrep
        if (iVar5 == 100) goto LAB_00072104;
        cVar2 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar2 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar4 | 0xa0300;
      }
      *(char *)(param_1 + 0x4acc) = (char)uVar4;
      if (iVar5 != 100) goto LAB_00072124;
LAB_00072104:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",3);
LAB_00072124:
      cVar2 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    else {
      uVar3 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar3 = uVar6 & 1;
      }
      iVar5 = 1;
      cVar2 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar6 = 0;
        if (cVar2 == '\0') {
          uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar6 & 0x20000) == 0) break;
        iVar1 = iVar5 % 0x14;
        iVar5 = iVar5 + 1;
        if ((iVar1 == 0) && (cVar2 == '\0')) {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 & 0xfffdffff;
        }
        printk(&_LC2)   //possible issue identified - semgrep
        if (iVar5 == 100) goto LAB_00072280;
        cVar2 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar2 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar4 | 0xa0300;
      }
      iVar1 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
      if (*(char *)(param_1 + 0x16964) == '\x01') {
        RTMPusecDelay(1000);
      }
      if ((iVar1 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar4 | 0x80300;
      }
      *(char *)(param_1 + 0x4acc) = (char)uVar4;
      if (iVar5 != 100) goto LAB_000722c8;
LAB_00072280:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",3);
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
             *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
LAB_000722c8:
        cVar2 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar2 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
    }
    if ((cVar2 == '\x01') && (Status = Status & 0xfffffffe, uVar3 != 0)) {
      Status = Status | 1;
    }
  }
  if ((uint)(*(int *)(param_1 + 0x7670c) + *(int *)(param_1 + 0x76708) + *(int *)(param_1 + 0x76704)
            ) < 0x33) {
    RTMPSetTimer(param_1 + 0x1f100,300);
    *(undefined1 *)(param_1 + 0x1f0fd) = 1;
  }
  else {
    RTMPSetTimer(param_1 + 0x1f100,0x14);
    *(undefined1 *)(param_1 + 0x1f0fd) = 0;
  }
  return;
}