void memcpy_exs(undefined4 param_1,ushort *param_2,ushort *param_3,uint param_4)

{
  ushort uVar1;
  bool bVar2;
  uint uVar3;
  ushort *puVar4;
  ushort *puVar5;
  uint uVar6;
  
  uVar6 = param_4 >> 1;
  uVar3 = 0;
  puVar4 = param_3;
  puVar5 = param_2;
  while (bVar2 = uVar3 < uVar6, uVar3 = uVar3 + 1, bVar2) {
    uVar1 = *puVar4;
    puVar4 = puVar4 + 1;
    *puVar5 = (ushort)((uVar1 & 0xff) << 8) | uVar1 >> 8;
    puVar5 = puVar5 + 1;
  }
  param_2 = param_2 + uVar6;
  if ((param_4 & 1) != 0) {
    memcpy(param_2,param_3 + uVar6,param_4 & 1)   //possible issue identified - semgrep
    *param_2 = (ushort)((*param_2 & 0xff) << 8) | *param_2 >> 8;
  }
  return;
}