undefined4 FUN_0041f598(int param_1,int param_2)
{
undefined2 uVar1;
int iVar2;
uint uVar3;
int iVar4;
iVar4 = *(int *)(param_1 + 0x38);
if (iVar4 != 0) {
FUN_00415c6c(iVar4);
FUN_00471d20(iVar4);
}
iVar4 = FUN_00471da0(0x68);
/* try { // try from 0041f61c to 0041f623 has its CatchHandler @ 0041f640 */
FUN_004180d4(iVar4);
*(int *)(param_1 + 0x38) = iVar4;
if (param_2 == 0) {
param_2 = *(int *)(param_1 + 0x20) + 0x11c;
uVar1 = FUN_00483e50(param_2);
}
else {
uVar1 = FUN_00483e50(param_2);
}
FUN_00414bc0(iVar4 + 9,0x1045,param_2,uVar1);
iVar4 = *(int *)(param_1 + 0x20);
iVar2 = *(int *)(param_1 + 0x38);
uVar1 = *(undefined2 *)(iVar4 + 0x5f);
*(undefined2 *)(iVar2 + 0x18) = 2;
*(undefined2 *)(iVar2 + 0x16) = 0x1003;
*(undefined2 *)(iVar2 + 0x1e) = uVar1;
*(undefined2 *)(iVar2 + 0x28) = *(undefined2 *)(iVar4 + 99);
*(undefined2 *)(iVar2 + 0x22) = 2;
*(undefined2 *)(iVar2 + 0x20) = 0x100f;
iVar4 = FUN_00471da0(0xd);
*(undefined1 *)(iVar4 + 2) = 0;
*(undefined1 *)(iVar4 + 3) = 0;
*(undefined4 *)(iVar4 + 4) = 0;
*(undefined4 *)(iVar4 + 8) = 0;
iVar2 = *(int *)(param_1 + 0x20);
*(undefined1 *)(iVar4 + 0xc) = 0;
if (*(char *)(iVar2 + 0x371) == '\0') {
iVar2 = 0;
uVar3 = 0;
}
else {
uVar3 = *(uint *)(iVar2 + 0x374);
iVar2 = iVar2 + 0x331;
}
FUN_004217e0(iVar4,0x1027,iVar2,uVar3 & 0xffff);
FUN_00401820(*(undefined4 *)(*(int *)(param_1 + 0x38) + 0x30),iVar4);
FUN_00414bc0(*(int *)(param_1 + 0x38) + 0x34,0x1020,*(int *)(param_1 + 0x20) + 0x15,6);
return 0x1001;
}