int FUN_0047733c(int param_1)
{
char cVar1;
bool bVar2;
int *piVar3;
int iVar4;
undefined4 *puVar5;
int iVar6;
char *pcVar7;
undefined4 uVar8;
code *pcVar9;
int local_30 [2];
pcVar7 = *(char **)(param_1 + 0xc);
cVar1 = *pcVar7;
if (cVar1 == 'N') {
*(char **)(param_1 + 0xc) = pcVar7 + 1;
piVar3 = (int *)FUN_00473228(param_1,local_30,1);
if (piVar3 == (int *)0x0) {
return 0;
}
iVar4 = 0;
while (cVar1 = **(char **)(param_1 + 0xc), cVar1 != '\0') { //possible issue identified - semgrep
if (((((byte)(cVar1 - 0x30U) < 10) || ((byte)(cVar1 + 0x9fU) < 0x1a)) || (cVar1 == 'C')) ||
((cVar1 == 'D' || (cVar1 == 'L')))) {
pcVar9 = FUN_00475f2c;
LAB_004774d8:
iVar6 = (*pcVar9)(param_1);
LAB_004774e0:
uVar8 = 1;
if (iVar4 != 0) goto LAB_00477508;
}
else {
if (cVar1 == 'S') {
iVar6 = FUN_00473458(param_1,1);
goto LAB_004774e0;
}
if (cVar1 != 'I') {
if (cVar1 == 'T') {
pcVar9 = FUN_00473368;
goto LAB_004774d8;
}
if (cVar1 != 'E') {
iVar4 = 0;
}
goto LAB_00477588;
}
if (iVar4 == 0) goto LAB_00477588;
iVar6 = FUN_004771ac(param_1);
uVar8 = 4;
LAB_00477508:
iVar6 = FUN_00473000(param_1,uVar8,iVar4,iVar6);
}
iVar4 = iVar6;
if ((cVar1 != 'S') && (**(char **)(param_1 + 0xc) != 'E')) {
if (iVar4 == 0) goto LAB_00477588;
iVar6 = *(int *)(param_1 + 0x20);
if (*(int *)(param_1 + 0x24) <= iVar6) break;
*(int *)(*(int *)(param_1 + 0x1c) + iVar6 * 4) = iVar4;
*(int *)(param_1 + 0x20) = iVar6 + 1;
}
}
iVar4 = 0;
LAB_00477588:
*piVar3 = iVar4;
if (iVar4 == 0) {
return 0;
}
if (**(char **)(param_1 + 0xc) != 'E') {
return 0;
}
*(char **)(param_1 + 0xc) = *(char **)(param_1 + 0xc) + 1;
return local_30[0];
}
if (cVar1 < 'O') {
if (cVar1 == 'L') {
iVar4 = FUN_00475f2c();
return iVar4;
}
LAB_00477820:
iVar4 = FUN_00475f2c(param_1);
if (**(char **)(param_1 + 0xc) != 'I') {
return iVar4;
}
LAB_00477850:
if (iVar4 == 0) {
return 0;
}
iVar6 = *(int *)(param_1 + 0x20);
if (*(int *)(param_1 + 0x24) <= iVar6) {
return 0;
}
*(int *)(*(int *)(param_1 + 0x1c) + iVar6 * 4) = iVar4;
*(int *)(param_1 + 0x20) = iVar6 + 1;
}
else {
if (cVar1 != 'S') {
if (cVar1 == 'Z') {
*(char **)(param_1 + 0xc) = pcVar7 + 1;
iVar4 = FUN_004763b0(param_1,0);
pcVar7 = *(char **)(param_1 + 0xc);
if (*pcVar7 != 'E') {
return 0;
}
*(char **)(param_1 + 0xc) = pcVar7 + 1;
if (pcVar7[1] == 's') {
*(char **)(param_1 + 0xc) = pcVar7 + 2;
if (pcVar7[2] == '_') {
*(char **)(param_1 + 0xc) = pcVar7 + 3;
iVar6 = FUN_004730c0(param_1);
if (iVar6 < 0) {
return 0;
}
}
iVar6 = *(int *)(param_1 + 0x14);
puVar5 = (undefined4 *)0x0;
if (iVar6 < *(int *)(param_1 + 0x18)) {
puVar5 = (undefined4 *)(*(int *)(param_1 + 0x10) + iVar6 * 0xc);
*(int *)(param_1 + 0x14) = iVar6 + 1;
if (puVar5 == (undefined4 *)0x0) {
puVar5 = (undefined4 *)0x0;
}
else {
*puVar5 = 0;
puVar5[1] = "string literal";
puVar5[2] = 0xe;
}
}
}
else {
puVar5 = (undefined4 *)FUN_0047733c(param_1);
if (**(char **)(param_1 + 0xc) == '_') {
*(char **)(param_1 + 0xc) = *(char **)(param_1 + 0xc) + 1;
iVar6 = FUN_004730c0(param_1);
if (iVar6 < 0) {
return 0;
}
}
}
uVar8 = 2;
goto LAB_004778b0;
}
goto LAB_00477820;
}
if (pcVar7[1] == 't') {
iVar4 = *(int *)(param_1 + 0x14);
*(char **)(param_1 + 0xc) = pcVar7 + 2;
if (iVar4 < *(int *)(param_1 + 0x18)) {
puVar5 = (undefined4 *)(*(int *)(param_1 + 0x10) + iVar4 * 0xc);
*(int *)(param_1 + 0x14) = iVar4 + 1;
if (puVar5 == (undefined4 *)0x0) goto LAB_004777a8;
*puVar5 = 0;
puVar5[1] = &DAT_00497de8;
puVar5[2] = 3;
}
else {
LAB_004777a8:
puVar5 = (undefined4 *)0x0;
}
uVar8 = FUN_00475f2c(param_1);
iVar4 = FUN_00473000(param_1,1,puVar5,uVar8);
*(int *)(param_1 + 0x30) = *(int *)(param_1 + 0x30) + 3;
bVar2 = false;
}
else {
iVar4 = FUN_00473458(param_1,0);
bVar2 = true;
}
if (**(char **)(param_1 + 0xc) != 'I') {
return iVar4;
}
if (!bVar2) goto LAB_00477850;
}
puVar5 = (undefined4 *)FUN_004771ac(param_1);
uVar8 = 4;
LAB_004778b0:
iVar4 = FUN_00473000(param_1,uVar8,iVar4,puVar5);
return iVar4;
}