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