/* WARNING: Removing unreachable block (ram,0x004864e0) */
void FUN_00486450(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
{
undefined *puVar1;
undefined4 uVar2;
undefined *puVar3;
undefined4 *puVar4;
int iVar5;
code *pcVar6;
code *apcStack_48 [2];
undefined **ppuStack_40;
undefined *puStack_28;
undefined4 uStack_24;
undefined1 auStack_18 [16];
puVar3 = &DAT_004b7800;
FUN_004874ec(auStack_18,FUN_004874e4);
FUN_004874e4(&DAT_004b7800);
if (DAT_004c2210 != (code *)0x0) {
(*DAT_004c2210)(param_1);
}
uVar2 = 1;
FUN_004874ec(auStack_18);
FUN_00487440();
FUN_00481458();
pcVar6 = FUN_00487ba0;
FUN_00487ba0(param_1);
apcStack_48[0] = pcVar6 + 0x39340;
iVar5 = 0;
ppuStack_40 = &puStack_28;
do {
puVar1 = *ppuStack_40;
iVar5 = iVar5 + 1;
ppuStack_40 = ppuStack_40 + 1;
} while (puVar1 != (undefined *)0x0);
puVar4 = (undefined4 *)((int)apcStack_48 - (iVar5 * 4 + 0x12U & 0xfffffff8));
puStack_28 = puVar3;
uStack_24 = param_4;
*puVar4 = uVar2;
ppuStack_40 = &puStack_28;
do {
puVar4 = puVar4 + 1;
puVar3 = *ppuStack_40;
iVar5 = iVar5 + -1;
ppuStack_40 = ppuStack_40 + 1;
*puVar4 = puVar3;
} while (iVar5 != 0);
(**(code **)(pcVar6 + 0x32084))();
return;
}