void FUN_00414f1c(int param_1,undefined2 param_2,undefined4 param_3,undefined1 *param_4)

{
  ushort uVar1;
  uint uVar2;
  
  FUN_00405d7c(param_1,param_2,param_3,1,param_4);
  *(undefined1 *)(param_1 + 8) = *param_4;
  if (*(short *)(param_1 + 2) == 4) {
    uVar2 = **(uint **)(param_1 + 4);
    **(uint **)(param_1 + 4) =
         uVar2 << 0x18 | uVar2 >> 0x18 | uVar2 >> 8 & 0xff00 | (uVar2 & 0xff00) << 8;
  }
  else if (*(short *)(param_1 + 2) == 2) {
    uVar1 = **(ushort **)(param_1 + 4);
    **(ushort **)(param_1 + 4) = uVar1 << 8 | uVar1 >> 8;
  }
  return;
}