void RTMPSuspendMsduTransmission(int param_1)

{
  char cVar1;
  uint uVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  
  if (2 < RTDebugLevel) {
    printk("SCANNING, suspend MSDU transmission ...\n");
  }
  uVar2 = Status;
  if (*(char *)(param_1 + 0xec) != '\0') goto LAB_000253b8;
  if (*(int *)(param_1 + 0x29f8) == 4) {
    uVar5 = 0;
    if (*(char *)(param_1 + 0xad) == '\x01') {
      Status = Status & 0xfffffffe;
      uVar5 = uVar2 & 1;
    }
    iVar4 = 0;
    cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_00025160:
    uVar2 = 0;
    if (cVar1 == '\0') {
      uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
    }
    if ((uVar2 & 0x20000) != 0) {
LAB_000251ec:
      iVar4 = iVar4 + 1;
      if (iVar4 == 100) goto LAB_000251f4;
      cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      goto LAB_00025160;
    }
    if (cVar1 == '\0') {
      *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb4200;
    }
    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 & 0x2ff00) != 0x4200) goto LAB_000251ec;
    *(char *)(param_1 + 0x4bd1) = (char)uVar2;
LAB_000251f4:
    if ((int)(uVar2 << 0xe) < 0) {
      printk("ERROR!!! ");
      printk("BBP(viaMCU=%d) read R%d fail\n",0,0x42);
      *(undefined1 *)(param_1 + 0x4bd1) = *(undefined1 *)(param_1 + 0x4b0b);
LAB_00025390:
      cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    else {
      cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
  }
  else {
    uVar5 = 0;
    if (*(char *)(param_1 + 0xad) == '\x01') {
      Status = Status & 0xfffffffe;
      uVar5 = uVar2 & 1;
    }
    iVar4 = 0;
    cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
LAB_0002526c:
    uVar2 = 0;
    if (cVar1 == '\0') {
      uVar2 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
    }
    if ((uVar2 & 0x20000) != 0) {
LAB_0002532c:
      iVar4 = iVar4 + 1;
      if (iVar4 == 100) goto LAB_00025334;
      cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      goto LAB_0002526c;
    }
    if (cVar1 == '\0') {
      *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb4200;
    }
    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 & 0x2ff00) != 0x4200) goto LAB_0002532c;
    *(char *)(param_1 + 0x4bd1) = (char)uVar2;
LAB_00025334:
    if ((int)(uVar2 << 0xe) < 0) {
      printk("ERROR!!! ");
      printk("BBP(viaMCU=%d) read R%d fail\n",1,0x42);
      *(undefined1 *)(param_1 + 0x4bd1) = *(undefined1 *)(param_1 + 0x4b0b);
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
             *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
      }
      goto LAB_00025390;
    }
    cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
  }
  if ((cVar1 == '\x01') && (Status = Status & 0xfffffffe, uVar5 != 0)) {
    Status = Status | 1;
  }
LAB_000253b8:
  RTMPSetAGCInitValue(param_1,0);
  *(uint *)(param_1 + 0x76904) = *(uint *)(param_1 + 0x76904) | 0x4000;
  return;
}