undefined4 DO_RACFG_CMD_ATE_E2PROM_WRITE_BULK(undefined4 param_1,undefined4 param_2,int param_3)
{
uint uVar1;
uint uVar2;
ushort local_220 [2];
undefined1 auStack_21c [516];
uVar1 = (*(ushort *)(param_3 + 0xc) & 0xff) << 8 | (uint)(*(ushort *)(param_3 + 0xc) >> 8);
memcpy(local_220,(void *)(param_3 + 0xe),2) //possible issue identified - semgrep
uVar2 = (local_220[0] & 0xff) << 8 | (uint)(local_220[0] >> 8);
local_220[0] = (ushort)uVar2;
memcpy_exs(param_1,auStack_21c + uVar1,param_3 + 0x10,uVar2);
if (uVar1 + local_220[0] < 0x201) {
rt_ee_write_bulk(param_1,auStack_21c + uVar1,uVar1);
}
else {
printk("ERROR!!! ");
printk("exceed EEPROM size(%d)\n",0x200);
printk("ERROR!!! ");
printk("offset=%d\n",uVar1);
printk("ERROR!!! ");
printk("length=%d\n",local_220[0]);
printk("ERROR!!! ");
printk("offset+length=%d\n",uVar1 + local_220[0]);
}
ResponseToGUI(param_3,param_2,2,0);
return 0;
}