/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void ATEAsicSwitchChannel(int param_1)
{
byte bVar1;
byte bVar2;
byte bVar3;
byte bVar4;
undefined1 uVar5;
undefined1 *puVar6;
char cVar7;
uint uVar8;
uint uVar9;
int iVar10;
int iVar11;
uint uVar12;
uint uVar13;
byte local_30 [8];
local_30[0] = 0;
if ((*(char *)(param_1 + 0x76a52) == '\x01') || (*(char *)(param_1 + 0x76a53) == '\x01')) {
if (*(char *)(param_1 + 0x76a38) == *(char *)(param_1 + 0x4be0)) {
return;
}
*(char *)(param_1 + 0x76a38) = *(char *)(param_1 + 0x4be0);
return;
}
uVar8 = *(uint *)(param_1 + 0x4a94);
bVar1 = *(byte *)(param_1 + 0x76a10);
bVar3 = *(byte *)(param_1 + 0x76a38);
bVar2 = *(byte *)(param_1 + 0x76a0f);
if (((((uVar8 == 0x28720200) &&
(((*(char *)(param_1 + 0x4bd4) == '\x05' || ((*(uint *)(param_1 + 0x4bf4) & 0xf0) == 0x20))
|| (*(char *)(param_1 + 0x4bd4) == '\v')))) ||
((((uVar8 & 0xffff0000) == 0x33520000 || ((uVar8 & 0xffff0000) == 0x53500000)) ||
(cVar7 = *(char *)(param_1 + 0x4bd4), cVar7 == '\b')))) || //possible issue identified - semgrep
((cVar7 == '\a' || (cVar7 == '\x05')))) || ((cVar7 == '\v' || (uVar13 = 0, cVar7 == '\f')))) {
uVar13 = 0;
LAB_0009d344:
iVar10 = uVar13 * 4;
if (NUM_OF_3020_CHNL <= uVar13) goto LAB_0009d350;
if ((&RtmpFreqItems3020)[iVar10] != bVar3) goto LAB_0009d340;
if ((uVar8 & 0xffff0000) == 0x53500000) {
if (_DAT_b0000010 << 0xb < 0) {
RT30xxWriteRFRegister(param_1,8,(&DAT_000e3361)[iVar10]);
RT30xxWriteRFRegister(param_1,9,(&DAT_000e3363)[iVar10]);
local_30[0] = 0x9f;
}
else {
RT30xxWriteRFRegister(param_1,8,FreqItems3020_Xtal20M[iVar10 + 1]);
RT30xxWriteRFRegister(param_1,9,FreqItems3020_Xtal20M[iVar10 + 3]);
local_30[0] = 0x1f;
}
RT30xxWriteRFRegister(param_1,0xd,local_30[0]);
local_30[0] = 0x4a;
RT30xxWriteRFRegister(param_1,0xb,0x4a);
local_30[0] = 0x46;
RT30xxWriteRFRegister(param_1,0xc,0x46);
RT30xxReadRFRegister(param_1,0x1e,local_30);
if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
local_30[0] = local_30[0] & 0xf9;
}
else {
local_30[0] = local_30[0] | 6;
}
RT30xxWriteRFRegister(param_1,0x1e,local_30[0]);
if ((*(uint *)(param_1 + 0x76a14) & 0xc00000) == 0) {
local_30[0] = 0xc0;
}
else {
local_30[0] = 0x80;
}
RT30xxWriteRFRegister(param_1,0x20,local_30[0]);
local_30[0] = 4;
RT30xxWriteRFRegister(param_1,0x35,4);
if ((*(uint *)(param_1 + 0x76a14) & 0xc00000) == 0) {
local_30[0] = 0x47;
}
else {
local_30[0] = 0x43;
}
RT30xxWriteRFRegister(param_1,0x37,local_30[0]);
local_30[0] = 0xc2;
RT30xxWriteRFRegister(param_1,0x38,0xc2);
local_30[0] = 0xb;
switch(bVar3) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
local_30[0] = 0xb;
break;
case 8:
case 9:
local_30[0] = 10;
break;
case 10:
local_30[0] = 9;
break;
case 0xb:
local_30[0] = 8;
break;
case 0xc:
case 0xd:
local_30[0] = 7;
break;
case 0xe:
local_30[0] = 6;
}
RT30xxWriteRFRegister(param_1,0x3b,local_30[0]);
RT30xxWriteRFRegister(param_1,0x31,*(byte *)(param_1 + 0x76a0f) & 0xbf | 0x80);
local_30[0] = 4;
RT30xxWriteRFRegister(param_1,0x35,4);
RT30xxReadRFRegister(param_1,3,local_30);
local_30[0] = local_30[0] | 0x80;
RT30xxWriteRFRegister(param_1,3,local_30[0]);
RTMPusecDelay(2000);
local_30[0] = 0;
RT30xxWriteRFRegister(param_1,0x18,0);
RT30xxWriteRFRegister(param_1,0x1f,0x80);
}
iVar10 = *(int *)(param_1 + 0x4a94);
if (iVar10 == 0x28720200) {
if (*(char *)(param_1 + 0x4bd4) == '\v') {
iVar10 = uVar13 * 4;
RT30xxWriteRFRegister(param_1,2,(&DAT_000e3361)[iVar10]);
RT30xxReadRFRegister(param_1,3,local_30);
local_30[0] = (&DAT_000e3363)[iVar10] & 0xf | local_30[0] & 0xf0;
RT30xxWriteRFRegister(param_1,3,local_30[0]);
RT30xxReadRFRegister(param_1,6,local_30);
local_30[0] = local_30[0] & 0xfc | (&DAT_000e3362)[iVar10];
RT30xxWriteRFRegister(param_1,6,local_30[0]);
RT30xxReadRFRegister(param_1,0xc,local_30);
local_30[0] = bVar2 | local_30[0] & 0xe0;
RT30xxWriteRFRegister(param_1,0xc,local_30[0]);
RT30xxReadRFRegister(param_1,0xd,local_30);
local_30[0] = bVar1 | local_30[0] & 0xe0;
RT30xxWriteRFRegister(param_1,0xd,local_30[0]);
RT30xxReadRFRegister(param_1,0x17,local_30);
uVar12 = local_30[0] & 0x80 | (uint)*(byte *)(param_1 + 0x76a48);
uVar8 = 1;
if (local_30[0] < uVar12) {
for (; uVar8 <= uVar12 - local_30[0]; uVar8 = uVar8 + 1) {
RT30xxWriteRFRegister(param_1,0x17,local_30[0] + uVar8 & 0xff);
RtmpOsMsDelay(10);
}
}
else {
while( true ) {
uVar9 = (uint)local_30[0];
if (uVar9 - uVar12 < uVar8) break;
if (uVar9 != (uVar8 & 0xff)) {
RT30xxWriteRFRegister(param_1,0x17,uVar9 - (uVar8 & 0xff) & 0xff);
}
RtmpOsMsDelay(10);
uVar8 = uVar8 + 1;
}
}
if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
RT30xxWriteRFRegister(param_1,0x1f,0x48);
uVar8 = *(uint *)(param_1 + 0x76a14) & 0xc00000;
local_30[0] = 0x1f;
if (uVar8 != 0) {
if (uVar8 == 0x400000) {
local_30[0] = 0x18;
}
else {
local_30[0] = 0x10;
}
}
}
else {
RT30xxWriteRFRegister(param_1,0x1f,0x68);
if ((*(uint *)(param_1 + 0x76a14) & 0xc00000) == 0) {
local_30[0] = 0x3f;
}
else {
local_30[0] = 0x28;
}
}
RT30xxWriteRFRegister(param_1,0x18,local_30[0]);
}
iVar10 = *(int *)(param_1 + 0x4a94);
}
if (iVar10 == 0x28720200) {
if ((*(char *)(param_1 + 0x4bd4) == '\x05') || ((*(uint *)(param_1 + 0x4bf4) & 0xf0) == 0x20))
{
iVar10 = uVar13 * 4;
RT30xxWriteRFRegister(param_1,2,(&DAT_000e3361)[iVar10]);
RT30xxWriteRFRegister(param_1,3,(&DAT_000e3363)[iVar10]);
RT30xxReadRFRegister(param_1,6,local_30);
local_30[0] = local_30[0] & 0xfc | (&DAT_000e3362)[iVar10];
RT30xxWriteRFRegister(param_1,6,local_30[0]);
RT30xxReadRFRegister(param_1,0xc,local_30);
local_30[0] = bVar2 | local_30[0] & 0xe0;
RT30xxWriteRFRegister(param_1,0xc,local_30[0]);
RT30xxReadRFRegister(param_1,0xd,local_30);
local_30[0] = bVar1 | local_30[0] & 0xe0;
RT30xxWriteRFRegister(param_1,0xd,local_30[0]);
RT30xxReadRFRegister(param_1,0x17,local_30);
uVar12 = local_30[0] & 0x80 | (uint)*(byte *)(param_1 + 0x76a48);
uVar8 = 1;
if (local_30[0] < uVar12) {
for (; uVar8 <= uVar12 - local_30[0]; uVar8 = uVar8 + 1) {
RT30xxWriteRFRegister(param_1,0x17,local_30[0] + uVar8 & 0xff);
RtmpOsMsDelay(10);
}
}
else {
while( true ) {
uVar9 = (uint)local_30[0];
if (uVar9 - uVar12 < uVar8) break;
if (uVar9 != (uVar8 & 0xff)) {
RT30xxWriteRFRegister(param_1,0x17,uVar9 - (uVar8 & 0xff) & 0xff);
}
RtmpOsMsDelay(10);
uVar8 = uVar8 + 1;
}
}
RT30xxReadRFRegister(param_1,0x18,local_30);
local_30[0] = local_30[0] & 0xdf;
if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
RT30xxWriteRFRegister(param_1,0x1f,0xf);
}
else {
RT30xxWriteRFRegister(param_1,0x1f,0x2f);
local_30[0] = local_30[0] | 0x20;
}
RT30xxWriteRFRegister(param_1,0x18,local_30[0]);
uVar8 = *(uint *)(param_1 + 0x4a94);
}
else {
uVar8 = *(uint *)(param_1 + 0x4a94);
}
}
else {
uVar8 = *(uint *)(param_1 + 0x4a94);
}
if (((uVar8 & 0xffff0000) == 0x33520000) || (uVar12 = 0, (uVar8 & 0xffff0000) == 0x53500000)) {
RT30xxReadRFRegister(param_1,3,local_30);
local_30[0] = local_30[0] & 0x7f | 0x80;
RT30xxWriteRFRegister(param_1,3,local_30[0]);
RtmpOsMsDelay(2);
iVar10 = 0;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) break;
LAB_0009c610:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009c618;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3100;
}
iVar11 = 0;
do {
uVar8 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
if ((uVar8 & 0x2ff00) != 0x3100) goto LAB_0009c610;
local_30[0] = (byte)uVar8;
LAB_0009c618:
if ((int)(uVar8 << 0xe) < 0) {
if (RTDebugLevel == 0) {
local_30[0] = *(byte *)(param_1 + 0x4afa);
}
else {
printk("BBP read R%d fail\n",0x31);
local_30[0] = *(byte *)(param_1 + 0x4afa);
}
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = local_30[0] & 0xfe | 0xa3100;
}
*(byte *)(param_1 + 0x4afa) = local_30[0] & 0xfe;
if (iVar10 == 100) break;
goto LAB_0009c70c;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x31);
}
LAB_0009c70c:
iVar10 = 0;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) break;
LAB_0009c7b0:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009c7b8;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb3100;
}
iVar11 = 0;
do {
uVar8 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
if ((uVar8 & 0x2ff00) != 0x3100) goto LAB_0009c7b0;
local_30[0] = (byte)uVar8;
LAB_0009c7b8:
if ((int)(uVar8 << 0xe) < 0) {
if (RTDebugLevel == 0) {
local_30[0] = *(byte *)(param_1 + 0x4afa);
}
else {
printk("BBP read R%d fail\n",0x31);
local_30[0] = *(byte *)(param_1 + 0x4afa);
}
}
RT30xxReadRFRegister(param_1,1,local_30);
local_30[0] = local_30[0] & 2;
if (*(char *)(param_1 + 0x76a12) == '\x01') {
local_30[0] = local_30[0] | 5;
}
else if (*(char *)(param_1 + 0x76a12) == '\x02') {
local_30[0] = local_30[0] | 0x11;
}
else {
local_30[0] = local_30[0] | 0x15;
}
if (*(char *)(param_1 + 0x76a11) == '\x01') {
local_30[0] = local_30[0] | 8;
}
else if (*(char *)(param_1 + 0x76a11) == '\x02') {
local_30[0] = local_30[0] | 0x20;
}
else {
local_30[0] = local_30[0] | 0x28;
}
RT30xxWriteRFRegister(param_1,1,local_30[0]);
iVar10 = 0;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0300;
}
iVar11 = 0;
do {
uVar8 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
if ((uVar8 & 0x2ff00) != 0x300) goto LAB_0009c94c;
uVar12 = uVar8 & 0xff;
goto LAB_0009c958;
}
LAB_0009c94c:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto code_r0x0009c954;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
} while( true );
}
goto LAB_0009cc00;
}
LAB_0009d350:
uVar12 = 0;
goto LAB_0009d354;
LAB_0009d340:
uVar13 = uVar13 + 1 & 0xff;
goto LAB_0009d344;
code_r0x0009c954:
uVar12 = 0;
LAB_0009c958:
if ((int)(uVar8 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4acc);
}
else {
printk("BBP read R%d fail\n",3);
bVar4 = *(byte *)(param_1 + 0x4acc);
}
uVar12 = (uint)bVar4;
}
uVar12 = uVar12 & 0x24;
uVar8 = uVar12;
if (*(char *)(param_1 + 0x76a12) != '\x01') {
if (*(char *)(param_1 + 0x76a12) == '\x02') {
uVar8 = uVar12 | 1;
}
else {
uVar9 = *(uint *)(param_1 + 0x4bf4) & 0xf;
if (uVar9 == 3) {
uVar8 = uVar12 | 0x13;
}
else {
uVar8 = uVar12 | 3;
if (uVar9 == 2) {
uVar8 = uVar12 | 0xb;
}
}
}
}
iVar10 = 0;
do {
uVar12 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar12 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar12 & 0x20000) == 0) {
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar8 | 0xa0300;
}
*(char *)(param_1 + 0x4acc) = (char)uVar8;
if (iVar10 == 100) break;
goto LAB_0009ca8c;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",3);
}
LAB_0009ca8c:
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
iVar10 = 0;
if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa0440;
}
*(undefined1 *)(param_1 + 0x4acd) = 0x40;
uVar12 = 0x40;
if (iVar10 != 100) goto LAB_0009cc00;
break;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel == 0) {
uVar12 = 0x40;
}
else {
printk("BBP write R%d fail\n",4);
uVar12 = 0x40;
}
}
else {
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa0450;
}
*(undefined1 *)(param_1 + 0x4acd) = 0x50;
uVar12 = 0x50;
if (iVar10 != 100) goto LAB_0009cc00;
break;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel == 0) {
uVar12 = 0x50;
}
else {
printk("BBP write R%d fail\n",4);
uVar12 = 0x50;
}
}
LAB_0009cc00:
if ((*(int *)(param_1 + 0x4a94) == 0x28720200) &&
(((*(char *)(param_1 + 0x4bd4) == '\x05' || ((*(uint *)(param_1 + 0x4bf4) & 0xf0) == 0x20)) ||
(*(char *)(param_1 + 0x4bd4) == '\v')))) {
RT30xxReadRFRegister(param_1,1,local_30);
bVar4 = local_30[0] & 2;
local_30[0] = bVar4 | 0xc1;
if (*(char *)(param_1 + 0x76a12) == '\x01') {
local_30[0] = bVar4 | 0xd1;
}
else if (*(char *)(param_1 + 0x76a12) == '\x02') {
local_30[0] = bVar4 | 0xc5;
}
if (*(char *)(param_1 + 0x76a11) == '\x01') {
local_30[0] = local_30[0] | 0x20;
}
else if (*(char *)(param_1 + 0x76a11) == '\x02') {
local_30[0] = local_30[0] | 8;
}
RT30xxWriteRFRegister(param_1,1,local_30[0]);
if (*(char *)(param_1 + 0x76a12) == '\x01') {
iVar10 = 0;
while( true ) {
uVar8 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) break;
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009ce8c;
}
if (*(char *)(param_1 + 0xec) == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa0300;
}
*(undefined1 *)(param_1 + 0x4acc) = 0;
if (iVar10 == 100) goto LAB_0009ce8c;
}
else {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
iVar10 = 0;
if (*(char *)(param_1 + 0x76a12) != '\x02') {
LAB_0009ce0c:
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) != 0) goto code_r0x0009ce24;
uVar5 = 0xb;
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa030b;
uVar5 = 0xb;
}
LAB_0009ce68:
*(undefined1 *)(param_1 + 0x4acc) = uVar5;
if (iVar10 != 100) goto LAB_0009ceb0;
goto LAB_0009ce8c;
}
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa0301;
uVar5 = 1;
}
else {
uVar5 = 1;
}
goto LAB_0009ce68;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
LAB_0009ce8c:
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",3);
}
}
LAB_0009ceb0:
RT30xxReadRFRegister(param_1,7,local_30);
local_30[0] = local_30[0] | 1;
RT30xxWriteRFRegister(param_1,7,local_30[0]);
}
if (((*(uint *)(param_1 + 0x4a94) != 0x28720200) || ((*(uint *)(param_1 + 0x4bf4) & 0xf0) != 0x20)
) && ((*(uint *)(param_1 + 0x4a94) & 0xffff0000) != 0x33520000)) {
*(byte *)(param_1 + 0x4be0) = bVar3;
goto LAB_0009d354;
}
if ((*(uint *)(param_1 + 0x4bf4) & 0xf0) == 0x20) {
if (*(char *)(param_1 + 0x76a11) == '\x01') {
iVar10 = 0;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) break;
LAB_0009cff4:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009cffc;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0100;
}
iVar11 = 0;
do {
uVar8 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
if ((uVar8 & 0x2ff00) != 0x100) goto LAB_0009cff4;
uVar12 = uVar8 & 0xff;
LAB_0009cffc:
if ((int)(uVar8 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4aca);
}
else {
printk("BBP read R%d fail\n",1);
bVar4 = *(byte *)(param_1 + 0x4aca);
}
uVar12 = (uint)bVar4;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar12 = uVar12 & 0xe7;
iVar10 = 0;
while( true ) {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) break;
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009d318;
}
LAB_0009d2c8:
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar12 | 0xa0100;
}
*(char *)(param_1 + 0x4aca) = (char)uVar12;
if (iVar10 == 100) goto LAB_0009d318;
}
else {
iVar10 = 0;
if (*(char *)(param_1 + 0x76a11) == '\x02') {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) break;
LAB_0009d124:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009d12c;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0100;
}
iVar11 = 0;
do {
uVar8 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
if ((uVar8 & 0x2ff00) != 0x100) goto LAB_0009d124;
uVar12 = uVar8 & 0xff;
LAB_0009d12c:
if ((int)(uVar8 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4aca);
}
else {
printk("BBP read R%d fail\n",1);
bVar4 = *(byte *)(param_1 + 0x4aca);
}
uVar12 = (uint)bVar4;
}
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
uVar12 = uVar12 & 0xe7 | 8;
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) goto LAB_0009d2c8;
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
}
else {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) break;
LAB_0009d250:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009d258;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0100;
}
iVar11 = 0;
do {
uVar8 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
if ((uVar8 & 0x2ff00) != 0x100) goto LAB_0009d250;
uVar12 = uVar8 & 0xff;
LAB_0009d258:
if ((int)(uVar8 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4aca);
}
else {
printk("BBP read R%d fail\n",1);
bVar4 = *(byte *)(param_1 + 0x4aca);
}
uVar12 = (uint)bVar4;
}
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
uVar12 = uVar12 & 0xe7 | 0x10;
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) goto LAB_0009d2c8;
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
}
LAB_0009d318:
if (RTDebugLevel == 0) {
*(byte *)(param_1 + 0x4be0) = bVar3;
goto LAB_0009d354;
}
printk("BBP write R%d fail\n",1);
}
*(byte *)(param_1 + 0x4be0) = bVar3;
}
else {
*(byte *)(param_1 + 0x4be0) = bVar3;
}
LAB_0009d354:
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
iVar10 = 0;
if (bVar3 < 0xf) {
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
}
else {
uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
}
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa3e00;
}
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
cVar7 = *(char *)(param_1 + 0x50e4) //possible issue identified - semgrep
}
else if (bVar4 < 0x41) {
cVar7 = *(char *)(param_1 + 0x50e5) //possible issue identified - semgrep
}
else if (bVar4 < 0x81) {
cVar7 = *(char *)(param_1 + 0x50e6) //possible issue identified - semgrep
}
else {
cVar7 = *(char *)(param_1 + 0x50e7) //possible issue identified - semgrep
}
*(char *)(param_1 + 0x4b07) = '7' - cVar7;
if (iVar10 != 100) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009d484;
}
break;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel == 0) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x3e);
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_0009d484:
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
}
else {
uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
}
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa3f00;
}
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
cVar7 = *(char *)(param_1 + 0x50e4) //possible issue identified - semgrep
}
else if (bVar4 < 0x41) {
cVar7 = *(char *)(param_1 + 0x50e5) //possible issue identified - semgrep
}
else if (bVar4 < 0x81) {
cVar7 = *(char *)(param_1 + 0x50e6) //possible issue identified - semgrep
}
else {
cVar7 = *(char *)(param_1 + 0x50e7) //possible issue identified - semgrep
}
*(char *)(param_1 + 0x4b08) = '7' - cVar7;
if (iVar10 != 100) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009d5a8;
}
break;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel == 0) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x3f);
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_0009d5a8:
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
}
else {
uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
}
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa4000;
}
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
cVar7 = *(char *)(param_1 + 0x50e4) //possible issue identified - semgrep
}
else if (bVar4 < 0x41) {
cVar7 = *(char *)(param_1 + 0x50e5) //possible issue identified - semgrep
}
else if (bVar4 < 0x81) {
cVar7 = *(char *)(param_1 + 0x50e6) //possible issue identified - semgrep
}
else {
cVar7 = *(char *)(param_1 + 0x50e7) //possible issue identified - semgrep
}
*(char *)(param_1 + 0x4b09) = '7' - cVar7;
if (iVar10 != 100) {
uVar8 = *(uint *)(param_1 + 0x4a94);
goto LAB_0009d6cc;
}
break;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel == 0) {
uVar8 = *(uint *)(param_1 + 0x4a94);
}
else {
printk("BBP write R%d fail\n",0x40);
uVar8 = *(uint *)(param_1 + 0x4a94);
}
LAB_0009d6cc:
if ((uVar8 & 0xffff0000) == 0x33520000) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_0009d6e8:
iVar10 = 0;
LAB_0009d704:
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) != 0) goto code_r0x0009d71c;
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5638;
}
*(undefined1 *)(param_1 + 0x4b1f) = 0x38;
LAB_0009d7dc:
if (iVar10 == 100) goto LAB_0009d7fc;
iVar10 = *(int *)(param_1 + 0x4bf4);
goto LAB_0009d820;
}
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
if ((uVar8 & 0xffff0000) == 0x53500000) goto LAB_0009d6e8;
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5600;
*(undefined1 *)(param_1 + 0x4b1f) = 0;
}
else {
*(undefined1 *)(param_1 + 0x4b1f) = 0;
}
goto LAB_0009d7dc;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
LAB_0009d7fc:
if (RTDebugLevel == 0) {
iVar10 = *(int *)(param_1 + 0x4bf4);
}
else {
printk("BBP write R%d fail\n",0x56);
iVar10 = *(int *)(param_1 + 0x4bf4);
}
LAB_0009d820:
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
iVar11 = 0;
if (iVar10 << 0xd < 0) {
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5262;
}
*(undefined1 *)(param_1 + 0x4b1b) = 0x62;
if (iVar11 != 100) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009d8dc;
}
break;
}
iVar11 = iVar11 + 1;
} while (iVar11 != 100);
if (RTDebugLevel == 0) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x52);
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_0009d8dc:
iVar10 = 0;
LAB_0009d8e8:
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) != 0) goto code_r0x0009d900;
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4b46;
uVar5 = 0x46;
}
else {
uVar5 = 0x46;
}
LAB_0009da6c:
*(undefined1 *)(param_1 + 0x4b14) = uVar5;
if (iVar10 == 100) goto LAB_0009da90;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009dab4;
}
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5284;
}
*(undefined1 *)(param_1 + 0x4b1b) = 0x84;
if (iVar11 != 100) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009da04;
}
break;
}
iVar11 = iVar11 + 1;
} while (iVar11 != 100);
if (RTDebugLevel == 0) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x52);
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_0009da04:
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
uVar5 = 0x50;
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4b50;
uVar5 = 0x50;
}
goto LAB_0009da6c;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
LAB_0009da90:
if (RTDebugLevel == 0) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x4b);
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_0009dab4:
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) & 0xfffffff9 | 4;
uVar8 = *(uint *)(param_1 + 0x4a94);
}
else {
uVar8 = *(uint *)(param_1 + 0x4a94);
}
if (((uVar8 & 0xffff0000) == 0x33520000) || ((uVar8 & 0xffff0000) == 0x53500000)) {
if (*(char *)(param_1 + 0x76a11) == '\x01') {
uVar8 = 0x50f02;
}
else if (*(char *)(param_1 + 0x76a11) == '\x02') {
uVar8 = 0x50f08;
}
else {
uVar8 = 0x50f0a;
}
if (*(char *)(param_1 + 0x76a12) == '\x01') {
uVar9 = 0xfffff3ff;
}
else {
if (*(char *)(param_1 + 0x76a12) != '\x02') {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009dbd8;
}
uVar9 = 0xfffffcff;
}
LAB_0009dbd0:
uVar8 = uVar8 & uVar9;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
uVar9 = *(uint *)(param_1 + 0x4bf4) & 0xf0;
if (uVar9 == 0x10) {
uVar8 = 0x50f02;
}
else {
uVar8 = 0x50f0a;
}
if ((*(uint *)(param_1 + 0x4bf4) & 0xf) == 1) {
uVar8 = uVar8 & 0xfffff3ff;
}
if (uVar9 == 0x20) {
if (*(char *)(param_1 + 0x76a11) == '\x01') {
uVar9 = 0xfffffff7;
}
else {
if (*(char *)(param_1 + 0x76a11) != '\x02') {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009dbd8;
}
uVar9 = 0xfffffffd;
}
goto LAB_0009dbd0;
}
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_0009dbd8:
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1328) = uVar8;
uVar8 = *(uint *)(param_1 + 0x4a94);
}
else {
uVar8 = *(uint *)(param_1 + 0x4a94);
}
uVar8 = uVar8 & 0xffff0000;
if ((uVar8 == 0x33520000) || (uVar8 == 0x53500000)) {
bVar4 = *(byte *)(param_1 + 0x4be0);
if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
if (bVar4 < 0xf) {
iVar10 = (int)*(char *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
iVar10 = (int)*(char *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
iVar10 = (int)*(char *)(param_1 + 0x50e6);
}
else {
iVar10 = (int)*(char *)(param_1 + 0x50e7);
}
uVar9 = iVar10 + 0xe;
}
else {
if (bVar4 < 0xf) {
iVar10 = (int)*(char *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
iVar10 = (int)*(char *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
iVar10 = (int)*(char *)(param_1 + 0x50e6);
}
else {
iVar10 = (int)*(char *)(param_1 + 0x50e7);
}
uVar9 = iVar10 + 0x12;
}
uVar9 = (uVar9 & 0x7f) << 1;
iVar10 = 0;
if (uVar8 == 0x53500000) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_0009e538:
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) != 0) {
LAB_0009e5c0:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009e5c8;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009e538;
}
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb1b00;
}
iVar11 = 0;
do {
uVar8 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
if ((uVar8 & 0x2ff00) != 0x1b00) goto LAB_0009e5c0;
uVar12 = uVar8 & 0xff;
LAB_0009e5c8:
if ((int)(uVar8 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4ae4);
}
else {
printk("BBP read R%d fail\n",0x1b);
bVar4 = *(byte *)(param_1 + 0x4ae4);
}
uVar12 = (uint)bVar4;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar12 & 0x9f | 0xa1b00;
}
*(char *)(param_1 + 0x4ae4) = (char)(uVar12 & 0x9f);
if (iVar10 != 100) goto LAB_0009e6a4;
break;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel == 0) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x1b);
LAB_0009e6a4:
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
iVar11 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) goto LAB_0009e708;
iVar11 = iVar11 + 1;
} while (iVar11 != 100);
goto LAB_0009e8cc;
}
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
}
else {
uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
}
uVar9 = uVar8 + 0x2e & 0xff;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
iVar11 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) goto LAB_0009e708;
iVar11 = iVar11 + 1;
} while (iVar11 != 100);
}
else {
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
}
else {
uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
}
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa3e00;
}
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
cVar7 = *(char *)(param_1 + 0x50e4) //possible issue identified - semgrep
}
else if (bVar4 < 0x41) {
cVar7 = *(char *)(param_1 + 0x50e5) //possible issue identified - semgrep
}
else if (bVar4 < 0x81) {
cVar7 = *(char *)(param_1 + 0x50e6) //possible issue identified - semgrep
}
else {
cVar7 = *(char *)(param_1 + 0x50e7) //possible issue identified - semgrep
}
*(char *)(param_1 + 0x4b07) = '7' - cVar7;
if (iVar10 != 100) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009dd14;
}
break;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel == 0) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x3e);
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_0009dd14:
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
}
else {
uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
}
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa3f00;
}
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
cVar7 = *(char *)(param_1 + 0x50e4) //possible issue identified - semgrep
}
else if (bVar4 < 0x41) {
cVar7 = *(char *)(param_1 + 0x50e5) //possible issue identified - semgrep
}
else if (bVar4 < 0x81) {
cVar7 = *(char *)(param_1 + 0x50e6) //possible issue identified - semgrep
}
else {
cVar7 = *(char *)(param_1 + 0x50e7) //possible issue identified - semgrep
}
*(char *)(param_1 + 0x4b08) = '7' - cVar7;
if (iVar10 != 100) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009de38;
}
break;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel == 0) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x3f);
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_0009de38:
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
uVar8 = (uint)*(byte *)(param_1 + 0x50e6);
}
else {
uVar8 = (uint)*(byte *)(param_1 + 0x50e7);
}
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0x37 - uVar8 & 0xff | 0xa4000;
}
bVar4 = *(byte *)(param_1 + 0x4be0);
if (bVar4 < 0xf) {
cVar7 = *(char *)(param_1 + 0x50e4) //possible issue identified - semgrep
}
else if (bVar4 < 0x41) {
cVar7 = *(char *)(param_1 + 0x50e5) //possible issue identified - semgrep
}
else if (bVar4 < 0x81) {
cVar7 = *(char *)(param_1 + 0x50e6) //possible issue identified - semgrep
}
else {
cVar7 = *(char *)(param_1 + 0x50e7) //possible issue identified - semgrep
}
*(char *)(param_1 + 0x4b09) = '7' - cVar7;
if (iVar10 != 100) {
uVar8 = *(uint *)(param_1 + 0x4a94);
goto LAB_0009df5c;
}
break;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel == 0) {
uVar8 = *(uint *)(param_1 + 0x4a94);
}
else {
printk("BBP write R%d fail\n",0x40);
uVar8 = *(uint *)(param_1 + 0x4a94);
}
LAB_0009df5c:
if ((uVar8 & 0xffff0000) == 0x33520000) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_0009df78:
iVar10 = 0;
LAB_0009df94:
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) != 0) goto code_r0x0009dfac;
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5638;
}
*(undefined1 *)(param_1 + 0x4b1f) = 0x38;
LAB_0009e06c:
if (iVar10 == 100) goto LAB_0009e08c;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009e0b0;
}
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
if ((uVar8 & 0xffff0000) == 0x53500000) goto LAB_0009df78;
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa5600;
*(undefined1 *)(param_1 + 0x4b1f) = 0;
}
else {
*(undefined1 *)(param_1 + 0x4b1f) = 0;
}
goto LAB_0009e06c;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
LAB_0009e08c:
if (RTDebugLevel == 0) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("BBP write R%d fail\n",0x56);
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
LAB_0009e0b0:
iVar10 = 0;
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa52f2;
}
*(undefined1 *)(param_1 + 0x4b1b) = 0xf2;
if (iVar10 != 100) {
iVar10 = *(int *)(param_1 + 0x4bf4);
goto LAB_0009e160;
}
break;
}
iVar10 = iVar10 + 1;
} while (iVar10 != 100);
if (RTDebugLevel == 0) {
iVar10 = *(int *)(param_1 + 0x4bf4);
}
else {
printk("BBP write R%d fail\n",0x52);
iVar10 = *(int *)(param_1 + 0x4bf4);
}
LAB_0009e160:
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
iVar11 = 0;
if (iVar10 << 0xc < 0) {
LAB_0009e178:
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) != 0) goto code_r0x0009e190;
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4b46;
uVar5 = 0x46;
}
else {
uVar5 = 0x46;
}
LAB_0009e288:
*(undefined1 *)(param_1 + 0x4b14) = uVar5;
if (iVar11 == 100) goto LAB_0009e1e4;
goto LAB_0009e208;
}
do {
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) == 0) {
uVar5 = 0x50;
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xa4b50;
uVar5 = 0x50;
}
goto LAB_0009e288;
}
iVar11 = iVar11 + 1;
} while (iVar11 != 100);
LAB_0009e1e4:
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x4b);
}
LAB_0009e208:
iVar10 = 0;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
LAB_0009e2b4:
uVar8 = 0;
if (cVar7 == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar8 & 0x20000) != 0) {
LAB_0009e33c:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009e344;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
goto LAB_0009e2b4;
}
if (cVar7 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb5b00;
}
iVar11 = 0;
do {
uVar8 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar8 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
} while (((uVar8 & 0x20000) != 0) && (iVar11 = iVar11 + 1, iVar11 != 100));
if ((uVar8 & 0x2ff00) != 0x5b00) goto LAB_0009e33c;
uVar12 = uVar8 & 0xff;
LAB_0009e344:
if ((int)(uVar8 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar4 = *(byte *)(param_1 + 0x4b24);
}
else {
printk("BBP read R%d fail\n",0x5b);
bVar4 = *(byte *)(param_1 + 0x4b24);
}
uVar12 = (uint)bVar4;
}
if (uVar12 == 4) {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
printk("<4>/home/eric/release/dir600b5/progs.priv/rt2860v2/build/rt2860v2_ap/../rt2860v2/common/rt_ate.c:%d assert (BbpValue == 0x04)failed\n"
,0x711);
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) =
*(uint *)(*(int *)(param_1 + 0xdc) + 0x132c) & 0xfffffff9 | 2;
uVar8 = *(uint *)(param_1 + 0x4bf4);
}
else {
uVar8 = *(uint *)(param_1 + 0x4bf4);
}
if ((uVar8 & 0xf0) == 0x10) {
uVar12 = 0x50f01;
}
else {
uVar12 = 0x50f05;
}
if ((uVar8 & 0xf) == 1) {
uVar12 = uVar12 & 0xfffff3ff;
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
else {
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x1328) = uVar12;
}
bVar4 = *(byte *)(param_1 + 0x4be0);
if ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0) {
if (bVar4 < 0xf) {
iVar10 = (int)*(char *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
iVar10 = (int)*(char *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
iVar10 = (int)*(char *)(param_1 + 0x50e6);
}
else {
iVar10 = (int)*(char *)(param_1 + 0x50e7);
}
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
iVar11 = 0;
uVar8 = (iVar10 * 5) / 3 + 0x32;
do {
uVar12 = 0;
if (cVar7 == '\0') {
uVar12 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar12 & 0x20000) == 0) goto LAB_0009e874;
iVar11 = iVar11 + 1;
} while (iVar11 != 100);
}
else {
if (bVar4 < 0xf) {
iVar10 = (int)*(char *)(param_1 + 0x50e4);
}
else if (bVar4 < 0x41) {
iVar10 = (int)*(char *)(param_1 + 0x50e5);
}
else if (bVar4 < 0x81) {
iVar10 = (int)*(char *)(param_1 + 0x50e6);
}
else {
iVar10 = (int)*(char *)(param_1 + 0x50e7);
}
cVar7 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
iVar11 = 0;
uVar8 = (iVar10 * 5) / 3 + 0x3a;
do {
uVar12 = 0;
if (cVar7 == '\0') {
uVar12 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar12 & 0x20000) == 0) goto LAB_0009e874;
iVar11 = iVar11 + 1;
} while (iVar11 != 100);
}
}
goto LAB_0009e8cc;
code_r0x0009ce24:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009ce8c;
goto LAB_0009ce0c;
code_r0x0009dfac:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009e08c;
goto LAB_0009df94;
code_r0x0009e190:
iVar11 = iVar11 + 1;
if (iVar11 == 100) goto LAB_0009e1e4;
goto LAB_0009e178;
LAB_0009e874:
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar8 & 0xff | 0xa4200;
*(char *)(param_1 + 0x4b0b) = (char)uVar8;
}
else {
*(char *)(param_1 + 0x4b0b) = (char)uVar8;
}
goto LAB_0009e8ac;
code_r0x0009d71c:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009d7fc;
goto LAB_0009d704;
code_r0x0009d900:
iVar10 = iVar10 + 1;
if (iVar10 == 100) goto LAB_0009da90;
goto LAB_0009d8e8;
LAB_0009e708:
if (cVar7 == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar9 | 0xa4200;
*(char *)(param_1 + 0x4b0b) = (char)uVar9;
}
else {
*(char *)(param_1 + 0x4b0b) = (char)uVar9;
}
LAB_0009e8ac:
if (iVar11 == 100) {
LAB_0009e8cc:
if (RTDebugLevel != 0) {
printk("BBP write R%d fail\n",0x42);
}
}
RtmpOsMsDelay(1);
uVar8 = *(uint *)(param_1 + 0x4a94) & 0xffff0000;
if (((uVar8 == 0x33520000) || (uVar8 == 0x53500000)) && (-1 < _DAT_b0000010 << 0xb)) {
if (RTDebugLevel < 3) {
return;
}
puVar6 = FreqItems3020_Xtal20M;
}
else {
if (RTDebugLevel < 3) {
return;
}
puVar6 = &RtmpFreqItems3020;
}
printk("SwitchChannel#%d(RFIC=%d, Pwr0=%d, Pwr1=%d, %dT), N=0x%02X, K=0x%02X, R=0x%02X\n",bVar3,
*(undefined1 *)(param_1 + 0x4bd4),(int)(char)bVar2,(int)(char)bVar1,
(uint)(*(int *)(param_1 + 0x4bf4) << 0x18) >> 0x1c,puVar6[uVar13 * 4 + 1],
puVar6[uVar13 * 4 + 3],puVar6[uVar13 * 4 + 2]);
return;
}