void APAsicRxAntEvalTimeout(int param_1)

{
  char cVar1;
  int iVar2;
  char cVar3;
  undefined1 uVar4;
  char cVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  uint uVar9;
  
  uVar6 = Status;
  if (*(char *)(param_1 + 0x76a0c) != -0x80) {
    return;
  }
  if (*(char *)(param_1 + 0x1f0fd) == '\x01') {
    cVar5 = *(char *)(param_1 + 0x165f6)   //possible issue identified - semgrep
    cVar1 = *(char *)(param_1 + 0x165f4)   //possible issue identified - semgrep
    cVar3 = *(char *)(param_1 + 0x165f5)   //possible issue identified - semgrep
  }
  else {
    cVar5 = *(char *)(param_1 + 0x165f9)   //possible issue identified - semgrep
    cVar1 = *(char *)(param_1 + 0x165f7)   //possible issue identified - semgrep
    cVar3 = *(char *)(param_1 + 0x165f8)   //possible issue identified - semgrep
  }
  if ((*(uint *)(param_1 + 0x4bf4) & 0xf) == 3) {
    if (cVar3 < cVar1) {
      cVar3 = cVar1;
    }
    if (cVar5 + 0x14 < (int)cVar3) {
      uVar4 = 2;
    }
    else {
      uVar4 = 3;
    }
    *(undefined1 *)(param_1 + 0x1f0fc) = uVar4;
    cVar5 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  else {
    cVar5 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  uVar7 = 0;
  if (cVar5 != '\0') goto LAB_00071a0c;
  if (*(int *)(param_1 + 0x29f8) == 4) {
    uVar9 = 0;
    if (*(char *)(param_1 + 0xad) == '\x01') {
      Status = Status & 0xfffffffe;
      uVar9 = uVar6 & 1;
    }
    iVar8 = 0;
    cVar5 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    while( true ) {
      uVar6 = 0;
      if (cVar5 == '\0') {
        uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar6 & 0x20000) == 0) {
        if (cVar5 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0300;
        }
        iVar2 = 1;
        while( true ) {
          uVar6 = 0;
          if (*(char *)(param_1 + 0xec) == '\0') {
            uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if (((uVar6 & 0x20000) == 0) || (iVar2 == 100)) break;
          iVar2 = iVar2 + 1;
        }
        if ((uVar6 & 0x2ff00) == 0x300) {
          uVar7 = uVar6 & 0xff;
          goto LAB_0007184c;
        }
      }
      iVar8 = iVar8 + 1;
      if (iVar8 == 100) break;
      cVar5 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    uVar7 = 0;
LAB_0007184c:
    if ((int)(uVar6 << 0xe) < 0) {
      printk("ERROR!!! ");
      printk("BBP(viaMCU=%d) read R%d fail\n",0,3);
      uVar7 = (uint)*(byte *)(param_1 + 0x4acc);
LAB_000719e4:
      cVar5 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    else {
      cVar5 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
  }
  else {
    uVar9 = 0;
    if (*(char *)(param_1 + 0xad) == '\x01') {
      Status = Status & 0xfffffffe;
      uVar9 = uVar6 & 1;
    }
    iVar8 = 0;
    cVar5 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    while( true ) {
      uVar6 = 0;
      if (cVar5 == '\0') {
        uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
      }
      if ((uVar6 & 0x20000) == 0) {
        if (cVar5 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0300;
        }
        AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
        RTMPusecDelay(1000);
        iVar2 = 1;
        while( true ) {
          uVar6 = 0;
          if (*(char *)(param_1 + 0xec) == '\0') {
            uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
          }
          if (((uVar6 & 0x20000) == 0) || (iVar2 == 100)) break;
          iVar2 = iVar2 + 1;
        }
        if ((uVar6 & 0x2ff00) == 0x300) {
          uVar7 = uVar6 & 0xff;
          goto LAB_0007198c;
        }
      }
      iVar8 = iVar8 + 1;
      if (iVar8 == 100) break;
      cVar5 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    uVar7 = 0;
LAB_0007198c:
    if ((int)(uVar6 << 0xe) < 0) {
      printk("ERROR!!! ");
      printk("BBP(viaMCU=%d) read R%d fail\n",1,3);
      uVar7 = (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_000719e4;
    }
    cVar5 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
  }
  if ((cVar5 == '\x01') && (Status = Status & 0xfffffffe, uVar9 != 0)) {
    Status = Status | 1;
  }
LAB_00071a0c:
  uVar6 = Status;
  uVar7 = uVar7 & 0xe7;
  if (*(char *)(param_1 + 0x1f0fc) == '\x03') {
    uVar7 = uVar7 | 0x10;
  }
  else if (*(char *)(param_1 + 0x1f0fc) == '\x02') {
    uVar7 = uVar7 | 8;
  }
  if (*(char *)(param_1 + 0xec) == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar9 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar9 = uVar6 & 1;
      }
      iVar8 = 1;
      cVar5 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar6 = 0;
        if (cVar5 == '\0') {
          uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar6 & 0x20000) == 0) break;
        iVar8 = iVar8 + 1;
        printk(&_LC2)   //possible issue identified - semgrep
        if (iVar8 == 100) goto LAB_00071b04;
        cVar5 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar5 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar7 | 0xa0300;
      }
      *(char *)(param_1 + 0x4acc) = (char)uVar7;
      if (iVar8 != 100) goto LAB_00071b24;
LAB_00071b04:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",3);
LAB_00071b24:
      cVar5 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    else {
      uVar9 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar9 = uVar6 & 1;
      }
      iVar8 = 1;
      cVar5 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar6 = 0;
        if (cVar5 == '\0') {
          uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar6 & 0x20000) == 0) break;
        iVar2 = iVar8 % 0x14;
        iVar8 = iVar8 + 1;
        if ((iVar2 == 0) && (cVar5 == '\0')) {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar6 & 0xfffdffff;
        }
        printk(&_LC2)   //possible issue identified - semgrep
        if (iVar8 == 100) goto LAB_00071c80;
        cVar5 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar5 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar7 | 0xa0300;
      }
      iVar2 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
      if (*(char *)(param_1 + 0x16964) == '\x01') {
        RTMPusecDelay(1000);
      }
      if ((iVar2 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar7 | 0x80300;
      }
      *(char *)(param_1 + 0x4acc) = (char)uVar7;
      if (iVar8 != 100) goto LAB_00071cc8;
LAB_00071c80:
      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_00071cc8:
        cVar5 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar5 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
    }
    if ((cVar5 == '\x01') && (Status = Status & 0xfffffffe, uVar9 != 0)) {
      Status = Status | 1;
    }
  }
  return;
}