int * sloop_register_signal(int param_1,int param_2,int param_3)
{
int *piVar1;
int *piVar2;
int iVar3;
piVar1 = DAT_0041f5b0;
piVar2 = (int *)0x0;
if ((int **)DAT_0041f5b0 != &DAT_0041f5b0) {
iVar3 = *DAT_0041f5b0;
piVar2 = (int *)DAT_0041f5b0[1];
*piVar2 = iVar3;
*piVar1 = 0;
piVar1[2] = 0x103;
*(int **)(iVar3 + 4) = piVar2;
*piVar1 = (int)DAT_0041f5c8;
DAT_0041f5c8[1] = (int)piVar1;
piVar1[3] = param_1;
piVar1[4] = param_3;
piVar1[5] = param_2;
DAT_0041f5c8 = piVar1;
piVar1[1] = (int)&DAT_0041f5c8;
signal(param_1,FUN_00409000) //possible issue identified - semgrep
piVar2 = piVar1;
}
return piVar2;
}