undefined4 RT_CfgSetCountryRegion(int param_1,undefined4 param_2,int param_3)

{
  char cVar1;
  int iVar2;
  int iVar3;
  undefined4 uVar4;
  undefined1 *puVar5;
  undefined1 uVar6;
  
  iVar2 = simple_strtol(param_2,0,10);
  if (param_3 == 1) {
    iVar3 = 0x16980;
    cVar1 = *(char *)(param_1 + 0x16980)   //possible issue identified - semgrep
  }
  else {
    cVar1 = *(char *)(param_1 + 0x16981)   //possible issue identified - semgrep
    iVar3 = 0x16981;
  }
  puVar5 = (undefined1 *)(param_1 + iVar3);
  if (cVar1 < '\0') {
    if (RTDebugLevel == 0) {
      return 0;
    }
    printk("CfgSetCountryRegion():CountryRegion in eeprom was programmed\n");
    return 0;
  }
  if (iVar2 < 0) {
LAB_0003f248:
    uVar4 = 0;
    if (RTDebugLevel != 0) {
      printk("CfgSetCountryRegion():region(%ld) out of range!\n");
      uVar4 = 0;
    }
  }
  else {
    uVar6 = (undefined1)iVar2;
    if (param_3 == 1) {
      if (iVar2 < 8) {
        *puVar5 = uVar6;
      }
      else if (iVar2 == 0x1f) {
        *puVar5 = uVar6;
      }
      else if (iVar2 == 0x20) {
        *puVar5 = uVar6;
      }
      else {
        if (iVar2 != 0x21) goto LAB_0003f248;
        *puVar5 = uVar6;
      }
    }
    else {
      if ((param_3 != 0) || (0x25 < iVar2)) goto LAB_0003f248;
      *puVar5 = uVar6;
    }
    uVar4 = 1;
  }
  return uVar4;
}