void FUN_004052ec(char *param_1,char *param_2)
{
undefined4 *puVar1;
int iVar2;
char *pcVar3;
undefined4 *puVar4;
puVar4 = DAT_00422a54;
while( true ) {
if (puVar4 == (undefined4 *)0x0) {
puVar4 = (undefined4 *)malloc(0xc) //possible issue identified - semgrep
if (puVar4 != (undefined4 *)0x0) {
*puVar4 = 0;
puVar4[1] = 0;
puVar4[2] = 0;
pcVar3 = strdup(param_1) //possible issue identified - semgrep
puVar4[1] = pcVar3;
if (param_2 == (char *)0x0) {
param_2 = "";
}
pcVar3 = strdup(param_2) //possible issue identified - semgrep
puVar1 = DAT_00422a54;
DAT_00422a54 = puVar4;
puVar4[2] = pcVar3;
*puVar4 = puVar1;
}
return;
}
iVar2 = strcmp((char *)puVar4[1],param_1);
if (iVar2 == 0) break;
puVar4 = (undefined4 *)*puVar4;
}
if ((void *)puVar4[2] != (void *)0x0) {
free((void *)puVar4[2]);
}
if (param_2 == (char *)0x0) {
param_2 = "";
}
pcVar3 = strdup(param_2) //possible issue identified - semgrep
puVar4[2] = pcVar3;
return;
}