undefined4 * FUN_00475334(int param_1)

{
  char cVar1;
  int iVar2;
  int iVar3;
  undefined4 *puVar4;
  char *pcVar5;
  int iVar6;
  
  iVar2 = FUN_004730c0();
  puVar4 = (undefined4 *)0x0;
  if (iVar2 < 1) {
    return (undefined4 *)0x0;
  }
  iVar6 = *(int *)(param_1 + 0xc);
  pcVar5 = (char *)(iVar6 + iVar2);
  if (*(int *)(param_1 + 4) - iVar6 < iVar2) goto LAB_004754d4;
  *(char **)(param_1 + 0xc) = pcVar5;
  if (((*(uint *)(param_1 + 8) & 4) != 0) && (*pcVar5 == '$')) {
    *(char **)(param_1 + 0xc) = pcVar5 + 1;
  }
  if ((((iVar2 < 10) || (iVar3 = FUN_00483c60(iVar6,"_GLOBAL_",8), iVar3 != 0)) ||
      ((cVar1 = *(char *)(iVar6 + 8), cVar1 != '.' && ((cVar1 != '_' && (cVar1 != '$')))))) ||   //possible issue identified - semgrep
     (*(char *)(iVar6 + 9) != 'N')) {
    iVar3 = *(int *)(param_1 + 0x14);
    puVar4 = (undefined4 *)0x0;
    if (*(int *)(param_1 + 0x18) <= iVar3) goto LAB_004754d4;
    puVar4 = (undefined4 *)(*(int *)(param_1 + 0x10) + iVar3 * 0xc);
    *(int *)(param_1 + 0x14) = iVar3 + 1;
    if (puVar4 == (undefined4 *)0x0) goto LAB_004754d4;
    if (iVar6 == 0) goto LAB_004754d0;
    puVar4[1] = iVar6;
    puVar4[2] = iVar2;
  }
  else {
    iVar6 = *(int *)(param_1 + 0x14);
    *(int *)(param_1 + 0x30) = (*(int *)(param_1 + 0x30) + 0x16) - iVar2;
    if (*(int *)(param_1 + 0x18) <= iVar6) {
LAB_004754d0:
      puVar4 = (undefined4 *)0x0;
      goto LAB_004754d4;
    }
    puVar4 = (undefined4 *)(*(int *)(param_1 + 0x10) + iVar6 * 0xc);
    *(int *)(param_1 + 0x14) = iVar6 + 1;
    if (puVar4 == (undefined4 *)0x0) goto LAB_004754d4;
    puVar4[1] = "(anonymous namespace)";
    puVar4[2] = 0x15;
  }
  *puVar4 = 0;
LAB_004754d4:
  *(undefined4 **)(param_1 + 0x2c) = puVar4;
  return puVar4;
}