void FUN_004057a4(int *param_1)
{
uint uVar1;
uint uVar2;
int iVar3;
undefined4 *puVar4;
*param_1 = 0;
param_1[2] = 0x100;
param_1[3] = 0;
param_1[4] = 0;
*(undefined1 *)(param_1 + 5) = 1;
uVar1 = (int)param_1 + 0xbU & 3;
uVar2 = (uint)(param_1 + 2) & 3;
iVar3 = FUN_0048470c((*(int *)(((int)param_1 + 0xbU) - uVar1) << (3 - uVar1) * 8 |
(uint)param_1 & 0xffffffffU >> (uVar1 + 1) * 8) & -1 << (4 - uVar2) * 8 |
*(uint *)((int)(param_1 + 2) - uVar2) >> uVar2 * 8);
*param_1 = iVar3;
if (iVar3 == 0) {
puVar4 = (undefined4 *)FUN_0047082c(4);
*puVar4 = "memory allocate error";
iVar3 = FUN_00472734(puVar4,&PTR_PTR_FUN_004af2b0,0);
}
param_1[1] = iVar3;
return;
}