undefined4 DO_RACFG_CMD_ATE_E2PROM_READ_BULK(undefined4 param_1,undefined4 param_2,int param_3)

{
  uint uVar1;
  ushort local_228 [2];
  undefined1 auStack_224 [520];
  
  uVar1 = (*(ushort *)(param_3 + 0xc) & 0xff) << 8 | (uint)(*(ushort *)(param_3 + 0xc) >> 8);
  memcpy(local_228,(void *)(param_3 + 0xe),2)   //possible issue identified - semgrep
  local_228[0] = (ushort)((local_228[0] & 0xff) << 8) | local_228[0] >> 8;
  rt_ee_read_all(param_1,auStack_224);
  if (uVar1 + local_228[0] < 0x201) {
    memcpy_exs(param_1,(void *)(param_3 + 0xe),auStack_224 + uVar1);
    uVar1 = (uint)local_228[0];
  }
  else {
    uVar1 = (uint)local_228[0];
    if (RTDebugLevel != 0) {
      printk("exceed EEPROM size\n");
      uVar1 = (uint)local_228[0];
    }
  }
  ResponseToGUI(param_3,param_2,uVar1 + 2,0);
  return 0;
}