undefined4 Set_PwrConstraint(int param_1,undefined4 param_2)

{
  char cVar1;
  char cVar2;
  char cVar3;
  undefined4 uVar4;
  uint uVar5;
  char *pcVar6;
  int iVar7;
  char local_48 [4];
  char local_44 [4];
  char local_40 [44];
  
  memcpy(local_48,C_565_39391,0x30)   //possible issue identified - semgrep
  cVar1 = simple_strtol(param_2,0,10)   //possible issue identified - semgrep
  cVar2 = GetRegulatoryMaxTxPwr(param_1,*(undefined1 *)(param_1 + 0x169ec))   //possible issue identified - semgrep
  uVar4 = RTMP_GetTxPwr(param_1,*(undefined2 *)(param_1 + 0x5d350));
  uVar5 = *(uint *)(param_1 + 0x16a58);
  cVar3 = (char)uVar4 - (cVar2 - cVar1);
  if (uVar5 < 0x5b) {
    if (uVar5 < 0x3d) {
      if (uVar5 < 0x1f) {
        if (uVar5 < 0x10) {
          if (uVar5 < 10) {
            cVar3 = cVar3 + '\f';
          }
          else {
            cVar3 = cVar3 + '\t';
          }
        }
        else {
          cVar3 = cVar3 + '\x06';
        }
      }
      else {
        cVar3 = cVar3 + '\x03';
      }
    }
    else {
      cVar3 = cVar3 + '\x01';
    }
  }
  printk("MaxTxPwr=%d, CurTxPwr=%d, DaltaPwr=%d\n",(int)(char)(cVar2 - cVar1),uVar4,(int)cVar3);
  pcVar6 = local_48;
  iVar7 = 0;
  while (pcVar6 = pcVar6 + 8, (int)local_48[0] <= (int)cVar3) {
    iVar7 = iVar7 + 1;
    if (iVar7 == 6) goto LAB_00045470;
    local_48[0] = *pcVar6;
  }
  *(undefined4 *)(param_1 + 0x16a58) = *(undefined4 *)(local_40 + iVar7 * 8 + -4);
  *(char *)(param_1 + 0x16a60) = cVar1;
  if (iVar7 == 6) {
LAB_00045470:
    if (RTDebugLevel != 0) {
      printk("Power constraint value be in range from 0 to 13dB\n");
    }
  }
  return 1;
}