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