void FUN_00405ba8(undefined1 *param_1,uint param_2,uint param_3,undefined4 param_4)
{
undefined4 uVar1;
ushort local_18 [4];
param_2 = param_2 & 0xffff;
param_1[6] = (char)param_2;
param_1[7] = (char)(param_2 >> 8);
param_1[1] = (char)((param_3 & 0xffff) >> 8);
*param_1 = (char)(param_3 & 0xffff);
local_18[0] = (ushort)(byte)param_1[6] << 8 | (ushort)(param_2 >> 8);
FUN_00405914(param_4,2,local_18);
local_18[0] = CONCAT11(*param_1,param_1[1]);
uVar1 = FUN_00405914(param_4,2,local_18);
*(undefined4 *)(param_1 + 2) = uVar1;
return;
}