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;
}