undefined4 SyncTxRxConfig(int param_1,uint param_2,uint param_3)

{
  char cVar1;
  uint uVar2;
  int iVar3;
  char *pcVar4;
  int iVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  
  uVar2 = Status;
  uVar7 = param_2 & 0xffff;
  if (*(char *)(param_1 + 0x76a0c) == -0x80) {
    uVar6 = 0;
    if (*(char *)(param_1 + 0xec) == '\0') {
      if (*(int *)(param_1 + 0x29f8) == 4) {
        uVar8 = 0;
        if (*(char *)(param_1 + 0xad) == '\x01') {
          Status = Status & 0xfffffffe;
          uVar8 = uVar2 & 1;
        }
        iVar5 = 0;
        cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        while( true ) {
          uVar2 = 0;
          if (cVar1 == '\0') {
            uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if ((uVar2 & 0x20000) == 0) {
            if (cVar1 == '\0') {
              *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = (param_2 & 0xff) << 8 | 0xb0000;
            }
            iVar3 = 1;
            while( true ) {
              uVar2 = 0;
              if (*(char *)(param_1 + 0xec) == '\0') {
                uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
              }
              if (((uVar2 & 0x20000) == 0) || (iVar3 == 100)) break;
              iVar3 = iVar3 + 1;
            }
            if (((uVar2 & 0x20000) == 0) && ((uVar2 << 0x10) >> 0x18 == uVar7)) {
              uVar6 = uVar2 & 0xff;
              goto LAB_0009b6ec;
            }
          }
          iVar5 = iVar5 + 1;
          if (iVar5 == 100) break;
          cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        uVar6 = 0;
LAB_0009b6ec:
        if ((int)(uVar2 << 0xe) < 0) {
          printk("ERROR!!! ");
          printk("BBP(viaMCU=%d) read R%d fail\n",0,uVar7);
          uVar6 = (uint)*(byte *)(param_1 + uVar7 + 0x4ac9);
LAB_0009b88c:
          cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
        }
        else {
          cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
        }
      }
      else {
        uVar8 = 0;
        if (*(char *)(param_1 + 0xad) == '\x01') {
          Status = Status & 0xfffffffe;
          uVar8 = uVar2 & 1;
        }
        iVar5 = 0;
        cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        while( true ) {
          uVar2 = 0;
          if (cVar1 == '\0') {
            uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
          }
          if ((uVar2 & 0x20000) == 0) {
            if (cVar1 == '\0') {
              *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = (param_2 & 0xff) << 8 | 0xb0000;
            }
            AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
            RTMPusecDelay(1000);
            iVar3 = 1;
            while( true ) {
              uVar2 = 0;
              if (*(char *)(param_1 + 0xec) == '\0') {
                uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
              }
              if (((uVar2 & 0x20000) == 0) || (iVar3 == 100)) break;
              iVar3 = iVar3 + 1;
            }
            if (((uVar2 & 0x20000) == 0) && ((uVar2 << 0x10) >> 0x18 == uVar7)) {
              uVar6 = uVar2 & 0xff;
              goto LAB_0009b830;
            }
          }
          iVar5 = iVar5 + 1;
          if (iVar5 == 100) break;
          cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
        uVar6 = 0;
LAB_0009b830:
        if ((int)(uVar2 << 0xe) < 0) {
          printk("ERROR!!! ");
          printk("BBP(viaMCU=%d) read R%d fail\n",1,uVar7);
          uVar6 = (uint)*(byte *)(param_1 + uVar7 + 0x4ac9);
          if (*(char *)(param_1 + 0xec) == '\0') {
            *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
                 *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
          }
          goto LAB_0009b88c;
        }
        cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      if ((cVar1 == '\x01') && (Status = Status & 0xfffffffe, uVar8 != 0)) {
        Status = Status | 1;
      }
    }
  }
  else {
    iVar5 = 0;
    cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    while( true ) {
      uVar2 = 0;
      if (cVar1 == '\0') {
        uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
      }
      if ((uVar2 & 0x20000) == 0) {
        if (cVar1 == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = (param_2 & 0xff) << 8 | 0xb0000;
        }
        iVar3 = 1;
        while( true ) {
          uVar2 = 0;
          if (*(char *)(param_1 + 0xec) == '\0') {
            uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
          }
          if (((uVar2 & 0x20000) == 0) || (iVar3 == 100)) break;
          iVar3 = iVar3 + 1;
        }
        if (((uVar2 & 0x20000) == 0) && ((uVar2 << 0x10) >> 0x18 == uVar7)) {
          uVar6 = uVar2 & 0xff;
          goto LAB_0009b5c0;
        }
      }
      iVar5 = iVar5 + 1;
      if (iVar5 == 100) break;
      cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
    }
    uVar6 = 0;
LAB_0009b5c0:
    if ((int)(uVar2 << 0xe) < 0) {
      if (RTDebugLevel != 0) {
        printk("BBP read R%d fail\n",uVar7);
      }
      uVar6 = (uint)*(byte *)(param_1 + uVar7 + 0x4ac9);
    }
  }
  if (uVar6 != (param_3 & 0xff)) {
    printk("<4>/home/eric/release/dir600b5/progs.priv/rt2860v2/build/rt2860v2_ap/../rt2860v2/common/rt_ate.c:%d assert bbp_data == valuefailed\n"
           ,0x97a);
  }
  if (uVar7 == 1) {
    uVar2 = (uVar6 << 0x1b) >> 0x1e;
    if (uVar2 == 1) {
      *(undefined1 *)(param_1 + 0x76a11) = 2;
      return 1;
    }
    if (uVar2 == 0) {
      *(char *)(param_1 + 0x76a11) = (char)uVar7;
      return 1;
    }
    if (uVar2 == 2) {
      *(undefined1 *)(param_1 + 0x76a11) = 0;
      return 1;
    }
    if (RTDebugLevel < 3) {
      return 0;
    }
  }
  else {
    if (uVar7 == 3) {
      uVar2 = uVar6 & 3;
      if (uVar2 == 1) {
        *(undefined1 *)(param_1 + 0x76a12) = 2;
        return 1;
      }
      if (uVar2 == 0) {
        *(undefined1 *)(param_1 + 0x76a12) = 1;
        if ((uVar6 << 0x1b) >> 0x1e == 2) {
          *(undefined1 *)(param_1 + 0x76a12) = 0;
          return 1;
        }
        return 1;
      }
      if (uVar2 == 2) {
        *(char *)(param_1 + 0x76a12) = (char)uVar7;
        return 1;
      }
      if (uVar2 == 3) {
        *(undefined1 *)(param_1 + 0x76a12) = 0;
        return 1;
      }
      if (RTDebugLevel == 0) {
        return 0;
      }
      pcVar4 = "%s -- Impossible!  : return FALSE; \n";
      goto LAB_0009b9ec;
    }
    if (RTDebugLevel == 0) {
      return 0;
    }
  }
  pcVar4 = "%s -- Sth. wrong!  : return FALSE; \n";
LAB_0009b9ec:
  printk(pcVar4,"SyncTxRxConfig");
  return 0;
}