void SetJapanFilter(int param_1)
{
char cVar1;
byte bVar2;
uint uVar3;
int iVar4;
uint uVar5;
char *pcVar6;
int iVar7;
iVar7 = 0;
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
while( true ) {
uVar3 = 0;
if (cVar1 == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar3 & 0x20000) == 0) {
if (cVar1 == '\0') {
*(undefined4 *)(*(int *)(param_1 + 0xdc) + 0x101c) = 0xb0400;
}
iVar4 = 1;
while( true ) {
uVar3 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if (((uVar3 & 0x20000) == 0) || (iVar4 == 100)) break;
iVar4 = iVar4 + 1;
}
if ((uVar3 & 0x2ff00) == 0x400) {
uVar5 = uVar3 & 0xff;
goto LAB_0009632c;
}
}
iVar7 = iVar7 + 1;
if (iVar7 == 100) break;
cVar1 = *(char *)(param_1 + 0xec) //possible issue identified - semgrep
}
uVar5 = 0;
LAB_0009632c:
if ((int)(uVar3 << 0xe) < 0) {
if (RTDebugLevel == 0) {
bVar2 = *(byte *)(param_1 + 0x4acd);
}
else {
printk("BBP read R%d fail\n",4);
bVar2 = *(byte *)(param_1 + 0x4acd);
}
uVar5 = (uint)bVar2;
}
if ((((*(uint *)(param_1 + 0x76a14) & 0xc00000) == 0) && (*(char *)(param_1 + 0x76a38) == '\x0e'))
&& ((*(uint *)(param_1 + 0x76a14) & 0x8000) == 0)) {
uVar5 = uVar5 | 0x20;
if (RTDebugLevel < 3) goto LAB_000963e0;
pcVar6 = "SetJapanFilter!!!\n";
}
else {
uVar5 = uVar5 & 0xdf;
if (RTDebugLevel < 3) goto LAB_000963e0;
pcVar6 = "ClearJapanFilter!!!\n";
}
printk(pcVar6);
LAB_000963e0:
iVar7 = 0;
while( true ) {
uVar3 = 0;
if (*(char *)(param_1 + 0xec) == '\0') {
uVar3 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
}
if ((uVar3 & 0x20000) == 0) break;
iVar7 = iVar7 + 1;
if (iVar7 == 100) {
LAB_00096460:
if (RTDebugLevel == 0) {
return;
}
printk("BBP write R%d fail\n",4);
return;
}
}
if (*(char *)(param_1 + 0xec) == '\0') {
*(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = uVar5 | 0xa0400;
}
*(char *)(param_1 + 0x4acd) = (char)uVar5;
if (iVar7 != 100) {
return;
}
goto LAB_00096460;
}