void ChipResumeMsduTransmission(int param_1)
{
char cVar1;
byte bVar2;
undefined1 uVar3;
int iVar4;
uint uVar5;
int iVar6;
uint uVar7;
uVar5 = Status;
if (*(char *)(param_1 + 0xec) == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar7 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar7 = uVar5 & 1;
}
iVar6 = 1;
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar1 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar5 & 0x20000) == 0) break;
iVar6 = iVar6 + 1;
printk(&_LC19) //possible issue identified - semgrep
if (iVar6 == 100) goto LAB_00061d68;
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar1 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = *(byte *)(param_1 + 0x4bd1) | 0xa4200;
}
*(undefined1 *)(param_1 + 0x4b0b) = *(undefined1 *)(param_1 + 0x4bd1);
if (iVar6 != 100) {
cVar1 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
goto joined_r0x00061f44;
}
LAB_00061d68:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x42);
cVar1 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
uVar7 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar7 = uVar5 & 1;
}
iVar6 = 1;
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar5 = 0;
if (cVar1 == '\0') {
uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar5 & 0x20000) == 0) break;
iVar4 = iVar6 % 0x14;
iVar6 = iVar6 + 1;
if ((iVar4 == 0) && (cVar1 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
}
printk(&_LC19) //possible issue identified - semgrep
if (iVar6 == 100) goto LAB_00061ef4;
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
bVar2 = *(byte *)(param_1 + 0x4bd1);
if (cVar1 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = bVar2 | 0xa4200;
}
iVar4 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if (iVar4 == 0) {
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = bVar2 | 0x84200;
}
uVar3 = *(undefined1 *)(param_1 + 0x4bd1);
}
else {
uVar3 = *(undefined1 *)(param_1 + 0x4bd1);
}
*(undefined1 *)(param_1 + 0x4b0b) = uVar3;
if (iVar6 != 100) {
cVar1 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
goto joined_r0x00061f44;
}
LAB_00061ef4:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",0x42);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
cVar1 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar1 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
joined_r0x00061f44:
if ((cVar1 == '\x01') && (Status = Status & 0xfffffffe, uVar7 != 0)) {
Status = Status | 1;
}
}
return;
}