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