void RtmpUpdateFilterCoefficientControl(int param_1,char param_2)
{
int iVar1;
char cVar2;
uint uVar3;
uint uVar4;
int iVar5;
uint uVar6;
uVar3 = Status;
if (param_2 != '\x0e') {
return;
}
if (*(char *)(param_1 + 0x16982) != '\x01') {
uVar4 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar3 & 1;
}
iVar5 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar3 = 0;
if (cVar2 == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar3 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0400;
}
iVar1 = 1;
while( true ) {
uVar3 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar3 & 0x20000) == 0) || (iVar1 == 100)) break;
iVar1 = iVar1 + 1;
}
if ((uVar3 & 0x2ff00) == 0x400) {
uVar4 = uVar3 & 0xff;
goto LAB_0004ffbc;
}
}
iVar5 = iVar5 + 1;
if (iVar5 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar4 = 0;
LAB_0004ffbc:
if ((int)(uVar3 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,4);
uVar4 = (uint)*(byte *)(param_1 + 0x4acd);
LAB_00050150:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar3 & 1;
}
iVar5 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar3 = 0;
if (cVar2 == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar3 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0400;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar1 = 1;
while( true ) {
uVar3 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if (((uVar3 & 0x20000) == 0) || (iVar1 == 100)) break;
iVar1 = iVar1 + 1;
}
if ((uVar3 & 0x2ff00) == 0x400) {
uVar4 = uVar3 & 0xff;
goto LAB_000500f8;
}
}
iVar5 = iVar5 + 1;
if (iVar5 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar4 = 0;
LAB_000500f8:
if ((int)(uVar3 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,4);
uVar4 = (uint)*(byte *)(param_1 + 0x4acd);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_00050150;
}
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar2 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar6 != 0) {
Status = Status | 1;
}
goto LAB_00050174;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
LAB_00050174:
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar3 = Status;
if (cVar2 != '\0') {
return;
}
uVar4 = uVar4 & 0xdf;
if (*(int *)(param_1 + 0x29f8) != 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar3 & 1;
}
iVar5 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar3 = 0;
if (cVar2 == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar3 & 0x20000) == 0) goto LAB_0005031c;
iVar1 = iVar5 % 0x14;
iVar5 = iVar5 + 1;
if ((iVar1 == 0) && (cVar2 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar3 & 0xfffdffff;
}
printk(&_LC28) //possible issue identified - semgrep
if (iVar5 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
goto LAB_000503c4;
}
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar3 & 1;
}
iVar5 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar3 = 0;
if (cVar2 == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar3 & 0x20000) == 0) goto LAB_00050204;
iVar5 = iVar5 + 1;
printk(&_LC28) //possible issue identified - semgrep
if (iVar5 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
goto LAB_00050248;
}
uVar4 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
if (*(int *)(param_1 + 0x29f8) == 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar3 & 1;
}
iVar5 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar3 = 0;
if (cVar2 == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar3 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0400;
}
iVar1 = 1;
while( true ) {
uVar3 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar3 & 0x20000) == 0) || (iVar1 == 100)) break;
iVar1 = iVar1 + 1;
}
if ((uVar3 & 0x2ff00) == 0x400) {
uVar4 = uVar3 & 0xff;
goto LAB_0004fbf4;
}
}
iVar5 = iVar5 + 1;
if (iVar5 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar4 = 0;
LAB_0004fbf4:
if ((int)(uVar3 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",0,4);
uVar4 = (uint)*(byte *)(param_1 + 0x4acd);
LAB_0004fd88:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
}
else {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar3 & 1;
}
iVar5 = 0;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar3 = 0;
if (cVar2 == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar3 & 0x20000) == 0) {
if (cVar2 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x7028) = 0xb0400;
}
AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
RTMPusecDelay(1000);
iVar1 = 1;
while( true ) {
uVar3 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if (((uVar3 & 0x20000) == 0) || (iVar1 == 100)) break;
iVar1 = iVar1 + 1;
}
if ((uVar3 & 0x2ff00) == 0x400) {
uVar4 = uVar3 & 0xff;
goto LAB_0004fd30;
}
}
iVar5 = iVar5 + 1;
if (iVar5 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar4 = 0;
LAB_0004fd30:
if ((int)(uVar3 << 0xe) < 0) {
printk("ERROR!!! ");
printk("BBP(viaMCU=%d) read R%d fail\n",1,4);
uVar4 = (uint)*(byte *)(param_1 + 0x4acd);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
}
goto LAB_0004fd88;
}
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar2 == '\x01') {
Status = Status & 0xfffffffe;
if (uVar6 != 0) {
Status = Status | 1;
}
goto LAB_0004fdac;
}
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
LAB_0004fdac:
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar3 = Status;
if (cVar2 != '\0') {
return;
}
uVar4 = uVar4 | 0x20;
if (*(int *)(param_1 + 0x29f8) != 4) {
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar3 & 1;
}
iVar5 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar3 = 0;
if (cVar2 == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
}
if ((uVar3 & 0x20000) == 0) goto LAB_0005031c;
iVar1 = iVar5 % 0x14;
iVar5 = iVar5 + 1;
if ((iVar1 == 0) && (cVar2 == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar3 & 0xfffdffff;
}
printk(&_LC28) //possible issue identified - semgrep
if (iVar5 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
goto LAB_000503c4;
}
uVar6 = 0;
if (*(char *)(param_1 + 0xad) == '\x01') {
Status = Status & 0xfffffffe;
uVar6 = uVar3 & 1;
}
iVar5 = 1;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar3 = 0;
if (cVar2 == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar3 & 0x20000) == 0) goto LAB_00050204;
iVar5 = iVar5 + 1;
printk(&_LC28) //possible issue identified - semgrep
if (iVar5 == 100) break;
cVar2 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_00050248:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",4);
LAB_00050268:
if (*(char *)(param_1 + 0xad) == '\x01') {
LAB_00050420:
Status = Status & 0xfffffffe;
if (uVar6 != 0) {
Status = Status | 1;
}
}
return;
LAB_0005031c:
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar4 | 0xa0400;
}
iVar1 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
if (*(char *)(param_1 + 0x16964) == '\x01') {
RTMPusecDelay(1000);
}
if ((iVar1 == 0) && (*(char *)(param_1 + 0xec) == '\0')) {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar4 | 0x80400;
}
*(char *)(param_1 + 0x4acd) = (char)uVar4;
if (iVar5 == 100) {
LAB_000503c4:
printk("ERROR!!! ");
printk("BBP write R%d fail\n",4);
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
goto LAB_0005040c;
}
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
else {
LAB_0005040c:
cVar2 = *(char *)(param_1 + 0xad) //possible issue identified - semgrep
}
if (cVar2 != '\x01') {
return;
}
goto LAB_00050420;
LAB_00050204:
if (cVar2 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar4 | 0xa0400;
}
*(char *)(param_1 + 0x4acd) = (char)uVar4;
if (iVar5 == 100) goto LAB_00050248;
goto LAB_00050268;
}