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