int * FUN_00473228(int param_1,int *param_2,int param_3)
{
int iVar1;
char cVar2;
undefined4 uVar3;
cVar2 = **(char **)(param_1 + 0xc) //possible issue identified - semgrep
do {
if (((cVar2 != 'r') && (cVar2 != 'V')) && (cVar2 != 'K')) {
return param_2;
}
*(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;
if (cVar2 == 'r') {
uVar3 = 0x19;
if (param_3 == 0) {
uVar3 = 0x16;
}
LAB_004732c0:
iVar1 = *(int *)(param_1 + 0x30) + 9;
}
else {
if (cVar2 == 'V') {
uVar3 = 0x1a;
if (param_3 == 0) {
uVar3 = 0x17;
}
goto LAB_004732c0;
}
uVar3 = 0x1b;
if (param_3 == 0) {
uVar3 = 0x18;
}
iVar1 = *(int *)(param_1 + 0x30) + 6;
}
*(int *)(param_1 + 0x30) = iVar1;
iVar1 = FUN_00473000(param_1,uVar3,0,0);
*param_2 = iVar1;
if (iVar1 == 0) {
return (int *)0x0;
}
param_2 = (int *)(iVar1 + 4);
cVar2 = **(char **)(param_1 + 0xc) //possible issue identified - semgrep
} while( true );
}