void RT28xxPciMlmeRadioOFF(int param_1)

{
  bool bVar1;
  undefined1 uVar2;
  char cVar3;
  uint uVar4;
  int iVar5;
  undefined1 auStack_20 [12];
  
  if (-1 < *(int *)(param_1 + 0x76904) << 0xe) {
    if (2 < RTDebugLevel) {
      printk("%s===>\n","RT28xxPciMlmeRadioOFF");
    }
    *(uint *)(param_1 + 0x76904) = *(uint *)(param_1 + 0x76904) | 0x20000;
    RTMPCancelTimer(param_1 + 0x48268,auStack_20);
    RTMPSetLEDStatus(param_1,2);
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar4 = 0;
      if (*(char *)(param_1 + 0xec) == '\0') {
        uVar4 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x208);
      }
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x208) = uVar4 & 0xfffffffa;
      }
      cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      if (cVar3 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x1004) = 0;
        cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        if (cVar3 == '\0') {
          *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x1204) = 0;
          cVar3 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
        }
      }
      if (cVar3 == '\0') {
        *(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x1328) = 0x10000;
      }
      if (AsicRxAntEvalTimeout[param_1 + 5] == (code)0x1) {
        uVar2 = *(undefined1 *)(param_1 + 0x169ed);
      }
      else {
        uVar2 = *(undefined1 *)(param_1 + 0x169ec);
      }
      AsicTurnOffRFClk(param_1,uVar2);
      iVar5 = 0;
      do {
        if (*(char *)(param_1 + 0xec) != '\0') {
          return;
        }
        if ((*(uint *)(*(int *)(param_1 + 0xdc) + 0x208) & 10) == 0) {
          return;
        }
        RTMPusecDelay(1000);
        bVar1 = iVar5 != 100;
        iVar5 = iVar5 + 1;
      } while (bVar1);
    }
  }
  return;
}