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