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;
}