void FUN_00417984(int param_1)
{
int iVar1;
undefined4 *puVar2;
int iVar3;
/* try { // try from 004179b0 to 00417b17 has its CatchHandler @ 00417b84 */
iVar1 = FUN_00401798(*(undefined4 *)(param_1 + 0x3c));
if (iVar1 != 0) goto LAB_00417a0c;
puVar2 = (undefined4 *)FUN_0047082c(4);
*puVar2 = 0x1002;
iVar3 = FUN_00472734(puVar2,&PTR_PTR_FUN_004af1e0,0);
do {
FUN_00471d20(iVar3);
LAB_00417a0c:
iVar3 = FUN_00400dd8(iVar1);
} while (iVar3 != 0);
FUN_00401018(iVar1);
FUN_00401298(*(undefined4 *)(param_1 + 0x3c));
iVar3 = FUN_00401798(*(undefined4 *)(param_1 + 0x40));
if (iVar3 != 0) goto LAB_00417ad4;
puVar2 = (undefined4 *)FUN_0047082c(4);
*puVar2 = 0x1002;
FUN_00472734(puVar2,&PTR_PTR_FUN_004af1e0,0);
do {
FUN_00414e40(iVar1);
FUN_00471d20(iVar1);
LAB_00417ad4:
iVar1 = FUN_00400dd8(iVar3);
} while (iVar1 != 0);
FUN_00401018(iVar3);
FUN_00401298(*(undefined4 *)(param_1 + 0x40));
FUN_00407678(param_1 + 0x44);
FUN_00407678(param_1 + 0x1a);
FUN_00407678(param_1 + 0xd);
FUN_00407678(param_1);
return;
}