undefined4 DO_RACFG_CMD_ATE_RF_READ_BULK(undefined4 param_1,undefined4 param_2,int param_3)
{
uint uVar1;
int iVar2;
uint uVar3;
ushort local_28 [6];
uVar1 = (*(ushort *)(param_3 + 0xc) & 0xff) << 8 | (uint)(*(ushort *)(param_3 + 0xc) >> 8);
memcpy(local_28,(void *)(param_3 + 0xe),2) //possible issue identified - semgrep
local_28[0] = (ushort)((local_28[0] & 0xff) << 8) | local_28[0] >> 8;
uVar3 = uVar1;
while( true ) {
iVar2 = param_3 + (uVar3 - uVar1);
if (uVar1 + local_28[0] <= uVar3) break;
*(undefined1 *)(iVar2 + 0xe) = 0;
RT30xxReadRFRegister(param_1,uVar3 & 0xff,iVar2 + 0xe);
uVar3 = uVar3 + 1 & 0xffff;
}
ResponseToGUI(param_3,param_2,local_28[0] + 2,0);
return 0;
}