undefined4 FUN_0041a2ec(int param_1,char param_2)
{
undefined4 *puVar1;
undefined4 uVar2;
int iVar3;
iVar3 = *(int *)(param_1 + 0x10);
if (iVar3 != 0) {
FUN_00419550(iVar3);
FUN_00471d20(iVar3);
}
puVar1 = (undefined4 *)FUN_00471da0(0x352);
/* try { // try from 0041a35c to 0041a363 has its CatchHandler @ 0041a378 */
FUN_00419624(puVar1);
*(undefined4 **)(param_1 + 0x10) = puVar1;
if (puVar1 == (undefined4 *)0x0) {
uVar2 = 0x1002;
}
else {
*puVar1 = 0;
*(undefined4 *)(*(int *)(param_1 + 0x10) + 4) = 99;
*(undefined4 *)(*(int *)(param_1 + 0x10) + 8) = 99;
iVar3 = *(int *)(param_1 + 0x10);
uVar2 = FUN_0040212c();
*(undefined4 *)(iVar3 + 0xc) = uVar2;
*(undefined4 *)(*(int *)(param_1 + 0x10) + 0x1c) = *(undefined4 *)(param_1 + 0x2c);
uVar2 = 0x1001;
*(undefined4 *)(*(int *)(param_1 + 0x10) + 0x1b5) = 0;
*(undefined4 *)(*(int *)(param_1 + 0x10) + 0x1b9) = 0;
*(undefined4 *)(*(int *)(param_1 + 0x10) + 0x10) = 0;
*(undefined4 *)(*(int *)(param_1 + 0x10) + 0x14) = 0;
*(undefined1 *)(param_1 + 0x14) = 1;
if (param_2 == '\0') {
FUN_0041a248(param_1,0x78);
uVar2 = 0x1001;
}
}
return uVar2;
}