void Update_Rssi_Sample(undefined4 param_1,char *param_2,int param_3)
{
uint uVar1;
char cVar2;
char cVar3;
char cVar4;
char cVar5;
bool bVar6;
bool bVar7;
int iVar8;
uVar1 = ((uint)*(byte *)(param_3 + 7) << 0x18) >> 0x1e;
bVar6 = *(short *)(param_2 + 6) != 0 || param_2[3] != '\0';
bVar7 = *param_2 != '\0';
cVar2 = *(char *)(param_3 + 9) //possible issue identified - semgrep
cVar3 = *(char *)(param_3 + 10) //possible issue identified - semgrep
cVar4 = *(char *)(param_3 + 0xc) //possible issue identified - semgrep
cVar5 = *(char *)(param_3 + 0xd) //possible issue identified - semgrep
if (*(char *)(param_3 + 8) != 0) {
iVar8 = ConvertToRssi(param_1,(int)*(char *)(param_3 + 8),0);
*param_2 = (char)iVar8;
if (bVar6 || bVar7) {
*(short *)(param_2 + 6) = (*(short *)(param_2 + 6) - (short)param_2[3]) + (short)iVar8;
}
else {
*(short *)(param_2 + 6) = (short)(iVar8 << 3);
param_2[3] = (char)iVar8;
}
param_2[3] = (char)(*(short *)(param_2 + 6) >> 3);
}
if ((cVar4 != '\0') && (uVar1 != 0)) {
iVar8 = ConvertToSnr(param_1,cVar4);
param_2[0xc] = (char)iVar8;
if (bVar6 || bVar7) {
*(short *)(param_2 + 0x12) = (*(short *)(param_2 + 0x12) - (short)param_2[0xf]) + (short)iVar8
;
}
else {
*(short *)(param_2 + 0x12) = (short)(iVar8 << 3);
param_2[0xf] = (char)iVar8;
}
param_2[0xf] = (char)(*(short *)(param_2 + 0x12) >> 3);
}
if (cVar2 != 0) {
iVar8 = ConvertToRssi(param_1,(int)cVar2,1);
param_2[1] = (char)iVar8;
if (bVar6 || bVar7) {
*(short *)(param_2 + 8) = (*(short *)(param_2 + 8) - (short)param_2[4]) + (short)iVar8;
}
else {
*(short *)(param_2 + 8) = (short)(iVar8 << 3);
param_2[4] = (char)iVar8;
}
param_2[4] = (char)(*(short *)(param_2 + 8) >> 3);
}
if ((cVar5 != '\0') && (uVar1 != 0)) {
iVar8 = ConvertToSnr(param_1,cVar5);
param_2[0xd] = (char)iVar8;
if (bVar6 || bVar7) {
*(short *)(param_2 + 0x14) =
(*(short *)(param_2 + 0x14) - (short)param_2[0x10]) + (short)iVar8;
}
else {
*(short *)(param_2 + 0x14) = (short)(iVar8 << 3);
param_2[0x10] = (char)iVar8;
}
param_2[0x10] = (char)(*(short *)(param_2 + 0x14) >> 3);
}
if (cVar3 != 0) {
iVar8 = ConvertToRssi(param_1,(int)cVar3,2);
param_2[2] = (char)iVar8;
if (bVar6 || bVar7) {
*(short *)(param_2 + 10) = (*(short *)(param_2 + 10) - (short)param_2[5]) + (short)iVar8;
}
else {
*(short *)(param_2 + 10) = (short)(iVar8 << 3);
param_2[5] = (char)iVar8;
}
param_2[5] = (char)(*(short *)(param_2 + 10) >> 3);
}
return;
}