undefined4 FUN_0041f1ac(int param_1)

{
  short sVar1;
  undefined2 uVar2;
  undefined4 uVar3;
  uint uVar4;
  int iVar5;
  int iVar6;
  
  iVar5 = *(int *)(param_1 + 0x3c);
  if (iVar5 != 0) {
    FUN_004176b4(iVar5);
    FUN_00471d20(iVar5);
  }
  uVar3 = FUN_00471da0(0x28);
                    /* try { // try from 0041f234 to 0041f23b has its CatchHandler @ 0041f4a4 */
  FUN_00417e74(uVar3);
  *(undefined4 *)(param_1 + 0x3c) = uVar3;
  iVar5 = FUN_00471da0(0xbf);
  *(undefined1 *)(iVar5 + 10) = 0;
  *(undefined1 *)(iVar5 + 0xb) = 0;
  *(undefined4 *)(iVar5 + 0xc) = 0;
  *(undefined1 *)(iVar5 + 0x10) = 0;
  *(undefined1 *)(iVar5 + 0x13) = 0;
  *(undefined1 *)(iVar5 + 0x14) = 0;
  *(undefined4 *)(iVar5 + 0x15) = 0;
  *(undefined4 *)(iVar5 + 0x19) = 0;
  *(undefined1 *)(iVar5 + 0x1d) = 0;
  *(undefined1 *)(iVar5 + 0x20) = 0;
  *(undefined1 *)(iVar5 + 0x21) = 0;
  *(undefined4 *)(iVar5 + 0x22) = 0;
  *(undefined1 *)(iVar5 + 0x26) = 0;
  *(undefined1 *)(iVar5 + 0x27) = 0;
  *(undefined1 *)(iVar5 + 0x2a) = 0;
  *(undefined1 *)(iVar5 + 0x2b) = 0;
  *(undefined4 *)(iVar5 + 0x2c) = 0;
  *(undefined1 *)(iVar5 + 0x30) = 0;
  *(undefined1 *)(iVar5 + 0x31) = 0;
  *(undefined1 *)(iVar5 + 0x34) = 0;
  *(undefined1 *)(iVar5 + 0x35) = 0;
  *(undefined4 *)(iVar5 + 0x36) = 0;
  *(undefined1 *)(iVar5 + 0x3a) = 0;
  *(undefined1 *)(iVar5 + 0x3d) = 0;
  *(undefined1 *)(iVar5 + 0x3e) = 0;
  *(undefined4 *)(iVar5 + 0x3f) = 0;
  *(undefined4 *)(iVar5 + 0x43) = 0;
  *(undefined1 *)(iVar5 + 0x47) = 0;
  *(undefined1 *)(iVar5 + 0x4a) = 0;
  *(undefined1 *)(iVar5 + 0x4b) = 0;
  *(undefined4 *)(iVar5 + 0x4c) = 0;
  *(undefined4 *)(iVar5 + 0x50) = 0;
  *(undefined1 *)(iVar5 + 0x54) = 0;
  *(undefined1 *)(iVar5 + 0x57) = 0;
  *(undefined1 *)(iVar5 + 0x58) = 0;
  *(undefined4 *)(iVar5 + 0x59) = 0;
  *(undefined4 *)(iVar5 + 0x5d) = 0;
  *(undefined1 *)(iVar5 + 0x61) = 0;
  *(undefined1 *)(iVar5 + 100) = 0;
  *(undefined1 *)(iVar5 + 0x65) = 0;
  *(undefined4 *)(iVar5 + 0x66) = 0;
  *(undefined4 *)(iVar5 + 0x6a) = 0;
  *(undefined1 *)(iVar5 + 0x6e) = 0;
  *(undefined1 *)(iVar5 + 0x71) = 0;
  *(undefined1 *)(iVar5 + 0x72) = 0;
  *(undefined4 *)(iVar5 + 0x73) = 0;
  *(undefined4 *)(iVar5 + 0x77) = 0;
  *(undefined1 *)(iVar5 + 0x91) = 0;
  *(undefined1 *)(iVar5 + 0x92) = 0;
  *(undefined1 *)(iVar5 + 0x95) = 0;
  *(undefined1 *)(iVar5 + 0x96) = 0;
  *(undefined4 *)(iVar5 + 0x97) = 0;
  *(undefined4 *)(iVar5 + 0x9b) = 0;
  *(undefined1 *)(iVar5 + 0x9f) = 0;
  *(undefined1 *)(iVar5 + 0xa2) = 0;
  *(undefined1 *)(iVar5 + 0xa3) = 0;
  *(undefined4 *)(iVar5 + 0xa4) = 0;
  *(undefined4 *)(iVar5 + 0xa8) = 0;
  *(undefined1 *)(iVar5 + 0xaf) = 0;
  *(undefined1 *)(iVar5 + 0xb0) = 0;
  *(undefined1 *)(iVar5 + 0xac) = 0;
  *(undefined4 *)(iVar5 + 0xb1) = 0;
  *(undefined1 *)(iVar5 + 0xb8) = 0;
  *(undefined1 *)(iVar5 + 0xb9) = 0;
  *(undefined1 *)(iVar5 + 0xb5) = 0;
  *(undefined4 *)(iVar5 + 0xba) = 0;
  *(undefined1 *)(iVar5 + 8) = 0x26;
  *(undefined1 *)(iVar5 + 9) = 0x10;
  *(undefined1 *)(iVar5 + 10) = 1;
  *(undefined1 *)(iVar5 + 0xb) = 0;
  *(undefined1 *)(iVar5 + 0x10) = 1;
  iVar6 = *(int *)(param_1 + 0x20) + 0x11c;
  *(undefined1 *)(iVar5 + 0xbe) = 0;
  uVar2 = FUN_00483e50(iVar6);
  FUN_00414bc0(iVar5 + 0x11,0x1045,iVar6,uVar2);
  uVar2 = *(undefined2 *)(*(int *)(param_1 + 0x20) + 0x5f);
  *(char *)(iVar5 + 0x27) = (char)((ushort)uVar2 >> 8);
  *(undefined1 *)(iVar5 + 0x1e) = 3;
  *(undefined1 *)(iVar5 + 0x1f) = 0x10;
  *(undefined1 *)(iVar5 + 0x20) = 2;
  *(undefined1 *)(iVar5 + 0x21) = 0;
  *(char *)(iVar5 + 0x26) = (char)uVar2;
  uVar2 = *(undefined2 *)(*(int *)(param_1 + 0x20) + 99);
  *(undefined1 *)(iVar5 + 0x28) = 0xf;
  *(undefined1 *)(iVar5 + 0x2a) = 2;
  *(char *)(iVar5 + 0x31) = (char)((ushort)uVar2 >> 8);
  *(undefined1 *)(iVar5 + 0x29) = 0x10;
  *(undefined1 *)(iVar5 + 0x2b) = 0;
  *(char *)(iVar5 + 0x30) = (char)uVar2;
  sVar1 = *(short *)(*(int *)(param_1 + 0x20) + 0x11a)   //possible issue identified - semgrep
  if (sVar1 == 0) {
    *(undefined1 *)(iVar5 + 0x32) = 0x28;
    *(undefined1 *)(iVar5 + 0x33) = 0x10;
    *(undefined1 *)(iVar5 + 0x3a) = 1;
    *(undefined1 *)(iVar5 + 0x34) = 1;
  }
  else {
    *(undefined1 *)(iVar5 + 0x32) = 0x28;
    *(undefined1 *)(iVar5 + 0x33) = 0x10;
    *(undefined1 *)(iVar5 + 0x34) = 1;
    *(char *)(iVar5 + 0x3a) = (char)sVar1;
  }
  *(undefined1 *)(iVar5 + 0x35) = 0;
  iVar6 = *(int *)(param_1 + 0x20);
  if (*(char *)(iVar6 + 0x371) == '\0') {
    iVar6 = 0;
    uVar4 = 0;
  }
  else {
    uVar4 = *(uint *)(iVar6 + 0x374);
    iVar6 = iVar6 + 0x331;
  }
  FUN_004217e0(iVar5 + 0x3b,0x1027,iVar6,uVar4 & 0xffff);
  FUN_00414bc0(iVar5 + 0x48,0x1020,*(int *)(param_1 + 0x20) + 0x15,6);
  FUN_00401820(**(undefined4 **)(param_1 + 0x3c),iVar5);
  return 0x1001;
}