int * FUN_004754f4(int param_1)
{
char cVar1;
bool bVar2;
int *piVar3;
int **ppiVar4;
int *piVar5;
int iVar6;
char *pcVar7;
undefined4 uVar8;
char *pcVar9;
int iVar10;
int *local_20;
int *local_1c;
pcVar9 = *(char **)(param_1 + 0xc);
iVar6 = (int)*pcVar9;
if (((iVar6 == 0x72) || (iVar6 == 0x56)) || (iVar6 == 0x4b)) {
piVar3 = (int *)FUN_00473228(param_1,&local_20,0);
if (piVar3 == (int *)0x0) {
return (int *)0x0;
}
iVar6 = FUN_004754f4(param_1);
*piVar3 = iVar6;
if (iVar6 == 0) {
return (int *)0x0;
}
if (local_20 == (int *)0x0) {
return (int *)0x0;
}
iVar6 = *(int *)(param_1 + 0x20);
if (*(int *)(param_1 + 0x24) <= iVar6) {
return (int *)0x0;
}
*(int **)(*(int *)(param_1 + 0x1c) + iVar6 * 4) = local_20;
*(int *)(param_1 + 0x20) = iVar6 + 1;
return local_20;
}
if (iVar6 == 0x53) {
cVar1 = pcVar9[1] //possible issue identified - semgrep
if (((9 < (byte)(cVar1 - 0x30U)) && (cVar1 != '_')) && (0x19 < (byte)(cVar1 + 0xbfU))) {
piVar3 = (int *)FUN_0047733c();
if ((piVar3 != (int *)0x0) && (*piVar3 == 0x15)) {
return piVar3;
}
goto LAB_00475cf4;
}
piVar5 = (int *)FUN_00473458(param_1,0);
if (**(char **)(param_1 + 0xc) != 'I') {
return piVar5;
}
LAB_00475b00:
local_20 = piVar5;
local_1c = (int *)FUN_004771ac(param_1);
uVar8 = 4;
}
else {
if (0x53 < iVar6) {
if (iVar6 < 0x70) {
if (0x6b < iVar6) goto LAB_00475708;
if (iVar6 == 0x5a) goto LAB_00475814;
if (iVar6 < 0x5b) {
if (iVar6 == 0x54) {
piVar5 = (int *)FUN_00473368();
piVar3 = piVar5;
if (**(char **)(param_1 + 0xc) != 'I') goto LAB_00475cf4;
if (piVar5 == (int *)0x0) {
return (int *)0x0;
}
iVar6 = *(int *)(param_1 + 0x20);
if (*(int *)(param_1 + 0x24) <= iVar6) {
return (int *)0x0;
}
*(int **)(*(int *)(param_1 + 0x1c) + iVar6 * 4) = piVar5;
*(int *)(param_1 + 0x20) = iVar6 + 1;
goto LAB_00475b00;
}
if (iVar6 != 0x55) {
return (int *)0x0;
}
*(char **)(param_1 + 0xc) = pcVar9 + 1;
local_20 = (int *)FUN_00475334();
piVar5 = (int *)FUN_004754f4(param_1);
uVar8 = 0x1c;
local_1c = local_20;
goto LAB_00475c2c;
}
bVar2 = 9 < iVar6 - 0x61U;
}
else {
if (iVar6 == 0x75) {
*(char **)(param_1 + 0xc) = pcVar9 + 1;
piVar5 = (int *)FUN_00475334();
uVar8 = 0x23;
goto LAB_00475c28;
}
if (0x75 < iVar6) {
if (0x7a < iVar6) {
return (int *)0x0;
}
goto LAB_00475708;
}
bVar2 = iVar6 < 0x73;
}
if (bVar2) {
return (int *)0x0;
}
LAB_00475708:
piVar3 = (int *)0x0;
if ((&DWORD_004ada40 + iVar6 * 5 != (dword *)0x0) &&
(iVar10 = *(int *)(param_1 + 0x14), iVar10 < *(int *)(param_1 + 0x18))) {
piVar3 = (int *)(*(int *)(param_1 + 0x10) + iVar10 * 0xc);
*(int *)(param_1 + 0x14) = iVar10 + 1;
if (piVar3 != (int *)0x0) {
*piVar3 = 0x22;
piVar3[1] = (int)(&DWORD_004ada40 + iVar6 * 5);
}
}
iVar6 = *(int *)(piVar3[1] + 4);
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;
*(int *)(param_1 + 0x30) = *(int *)(param_1 + 0x30) + iVar6;
return piVar3;
}
if (iVar6 == 0x47) {
*(char **)(param_1 + 0xc) = pcVar9 + 1;
piVar5 = (int *)FUN_004754f4();
uVar8 = 0x21;
}
else if (iVar6 < 0x48) {
if (iVar6 == 0x41) {
pcVar7 = pcVar9 + 1;
*(char **)(param_1 + 0xc) = pcVar7;
piVar5 = (int *)0x0;
if (pcVar9[1] != 0x5f) {
if (((int)pcVar9[1] - 0x30U & 0xff) < 10) {
do {
iVar6 = *(int *)(param_1 + 0xc);
iVar10 = iVar6 + 1;
*(int *)(param_1 + 0xc) = iVar10;
} while ((byte)(*(char *)(iVar6 + 1) - 0x30U) < 10);
iVar6 = *(int *)(param_1 + 0x14);
piVar3 = (int *)0x0;
if (*(int *)(param_1 + 0x18) <= iVar6) goto LAB_00475cf4;
piVar5 = (int *)(*(int *)(param_1 + 0x10) + iVar6 * 0xc);
*(int *)(param_1 + 0x14) = iVar6 + 1;
if ((piVar5 != (int *)0x0) && (iVar10 = iVar10 - (int)pcVar7, iVar10 != 0)) {
piVar5[1] = (int)pcVar7;
piVar5[2] = iVar10;
*piVar5 = 0;
goto LAB_004758fc;
}
}
else {
piVar5 = (int *)FUN_00476e1c();
if (piVar5 != (int *)0x0) goto LAB_004758fc;
}
LAB_00475a14:
piVar3 = (int *)0x0;
goto LAB_00475cf4;
}
LAB_004758fc:
piVar3 = (int *)0x0;
if (**(char **)(param_1 + 0xc) != '_') goto LAB_00475cf4;
*(char **)(param_1 + 0xc) = *(char **)(param_1 + 0xc) + 1;
local_1c = (int *)FUN_004754f4(param_1);
uVar8 = 0x25;
goto LAB_00475c2c;
}
if (iVar6 < 0x42) {
if (9 < iVar6 - 0x30U) {
return (int *)0x0;
}
goto LAB_00475814;
}
if (iVar6 != 0x43) {
if (iVar6 != 0x46) {
return (int *)0x0;
}
*(char **)(param_1 + 0xc) = pcVar9 + 1;
if (pcVar9[1] == 'Y') {
*(char **)(param_1 + 0xc) = pcVar9 + 2;
}
piVar3 = (int *)FUN_00476208(param_1,1);
if (**(char **)(param_1 + 0xc) == 'E') {
*(char **)(param_1 + 0xc) = *(char **)(param_1 + 0xc) + 1;
}
else {
piVar3 = (int *)0x0;
}
goto LAB_00475cf4;
}
*(char **)(param_1 + 0xc) = pcVar9 + 1;
piVar5 = (int *)FUN_004754f4();
uVar8 = 0x20;
}
else if (iVar6 == 0x4f) {
*(char **)(param_1 + 0xc) = pcVar9 + 1;
piVar5 = (int *)FUN_004754f4();
uVar8 = 0x1f;
}
else {
if (iVar6 < 0x50) {
if (iVar6 == 0x4d) {
*(char **)(param_1 + 0xc) = pcVar9 + 1;
piVar5 = (int *)FUN_004754f4();
ppiVar4 = (int **)FUN_00473228(param_1,&local_1c,1);
if (ppiVar4 != (int **)0x0) {
piVar3 = (int *)FUN_004754f4(param_1);
*ppiVar4 = piVar3;
if (piVar3 != (int *)0x0) {
if ((ppiVar4 != &local_1c) && (*piVar3 != 0x24)) {
piVar3 = (int *)0x0;
if (local_1c == (int *)0x0) goto LAB_00475cf4;
iVar6 = *(int *)(param_1 + 0x20);
piVar3 = (int *)0x0;
if (*(int *)(param_1 + 0x24) <= iVar6) goto LAB_00475cf4;
*(int **)(*(int *)(param_1 + 0x1c) + iVar6 * 4) = local_1c;
*(int *)(param_1 + 0x20) = iVar6 + 1;
}
uVar8 = 0x26;
goto LAB_00475c2c;
}
}
goto LAB_00475a14;
}
if (iVar6 != 0x4e) {
return (int *)0x0;
}
LAB_00475814:
piVar3 = (int *)FUN_0047733c(param_1);
goto LAB_00475cf4;
}
if (iVar6 == 0x50) {
*(char **)(param_1 + 0xc) = pcVar9 + 1;
piVar5 = (int *)FUN_004754f4();
uVar8 = 0x1d;
}
else {
if (iVar6 != 0x52) {
return (int *)0x0;
}
*(char **)(param_1 + 0xc) = pcVar9 + 1;
piVar5 = (int *)FUN_004754f4();
uVar8 = 0x1e;
}
}
LAB_00475c28:
local_1c = (int *)0x0;
}
LAB_00475c2c:
piVar3 = (int *)FUN_00473000(param_1,uVar8,piVar5,local_1c);
LAB_00475cf4:
local_20 = piVar3;
if (local_20 == (int *)0x0) {
return (int *)0x0;
}
iVar6 = *(int *)(param_1 + 0x20);
if (*(int *)(param_1 + 0x24) <= iVar6) {
return (int *)0x0;
}
*(int **)(*(int *)(param_1 + 0x1c) + iVar6 * 4) = local_20;
*(int *)(param_1 + 0x20) = iVar6 + 1;
return local_20;
}