void FUN_0041507c(int param_1,undefined2 param_2,undefined4 param_3,undefined2 *param_4)
{
ushort uVar1;
short sVar2;
uint uVar3;
FUN_00405d7c(param_1,param_2,param_3,2,param_4);
*(undefined1 *)(param_1 + 8) = *(undefined1 *)param_4;
sVar2 = CONCAT11(*(undefined1 *)(param_1 + 3),*(undefined1 *)(param_1 + 2)) //possible issue identified - semgrep
*(char *)(param_1 + 9) = (char)((ushort)*param_4 >> 8);
if (sVar2 == 4) {
uVar3 = **(uint **)(param_1 + 4);
**(uint **)(param_1 + 4) =
uVar3 << 0x18 | uVar3 >> 0x18 | uVar3 >> 8 & 0xff00 | (uVar3 & 0xff00) << 8;
}
else if (sVar2 == 2) {
uVar1 = **(ushort **)(param_1 + 4);
**(ushort **)(param_1 + 4) = uVar1 << 8 | uVar1 >> 8;
}
return;
}