int FUN_0042ccdc(int param_1)

{
  int iVar1;
  int iVar2;
  
  if (param_1 == 0) {
    FUN_00433604(0x26,0x6b,0x43,"eng_init.c",0x8e);
    return 0;
  }
  FUN_004395d8(9,0x1e,"eng_init.c",0x91);
  iVar1 = *(int *)(param_1 + 0x50) + -1;
  *(int *)(param_1 + 0x50) = iVar1;
  if ((iVar1 == 0) && (*(int *)(param_1 + 0x34) != 0)) {
    FUN_004395d8(10,0x1e,"eng_init.c",0x61);
    iVar1 = (**(code **)(param_1 + 0x34))(param_1);
    FUN_004395d8(9,0x1e,"eng_init.c",100);
    if (iVar1 == 0) goto LAB_0042ce10;
    iVar2 = FUN_00459598(param_1,0);
  }
  else {
    iVar2 = FUN_00459598(param_1,0);
    iVar1 = 1;
  }
  if (iVar2 != 0) {
    FUN_004395d8(10,0x1e,"eng_init.c",0x93);
    return iVar1;
  }
  FUN_00433604(0x26,0xbf,0x6a,"eng_init.c",0x72);
LAB_0042ce10:
  FUN_004395d8(10,0x1e,"eng_init.c",0x93);
  FUN_00433604(0x26,0x6b,0x6a,"eng_init.c",0x96);
  return 0;
}