void FUN_0041f058(int param_1)
{
int iVar1;
FUN_00424b64(*(undefined4 *)(param_1 + 0x28),3);
if (*(char *)(param_1 + 0x51) == '\0') {
FUN_0041ecc0(param_1,*(char *)(*(int *)(param_1 + 0x20) + 0x68) == '\x02',0,0,0,
*(undefined1 *)(*(int *)(param_1 + 0x20) + 0x69));
FUN_0041e880(param_1,3,*(undefined1 *)(*(int *)(param_1 + 0x20) + 0x68),0,0,0,
*(undefined1 *)(*(int *)(param_1 + 0x20) + 0x69));
}
FUN_00424418(*(undefined4 *)(param_1 + 0x28),2);
if (*(int *)(param_1 + 0x10) != 0) {
FUN_00401bd8();
*(undefined4 *)(param_1 + 0x10) = 0;
}
iVar1 = *(int *)(param_1 + 0xc);
if (iVar1 == 2) {
LAB_0041f164:
FUN_0041d3b8(param_1);
}
else {
if (iVar1 < 3) {
if (iVar1 != 1) goto LAB_0041f184;
}
else if (iVar1 != 3) {
if (iVar1 != 4) goto LAB_0041f184;
goto LAB_0041f164;
}
FUN_0041d318(param_1);
}
LAB_0041f184:
FUN_004242ac(*(undefined4 *)(param_1 + 0x20));
*(undefined4 *)(param_1 + 0xc) = 0;
return;
}