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