undefined4 FUN_00401820(int *param_1,int param_2)
{
int *piVar1;
int iVar2;
undefined4 uVar3;
if (param_1 == (int *)0x0) {
FUN_0047f5a0(&DAT_0048afe0,"slist.c",0x6f,"ListAddItem");
}
if (param_2 == 0) {
FUN_0047f5a0(&DAT_0048afe8,"slist.c",0x70,"ListAddItem");
}
piVar1 = (int *)FUN_00485150(1,0xc);
uVar3 = 0;
if (piVar1 != (int *)0x0) {
iVar2 = *param_1;
*piVar1 = param_2;
piVar1[1] = 0;
if (iVar2 == 0) {
piVar1[2] = 0;
param_1[1] = (int)piVar1;
*param_1 = (int)piVar1;
}
else {
iVar2 = param_1[1];
*(int **)(iVar2 + 4) = piVar1;
param_1[1] = (int)piVar1;
piVar1[2] = iVar2;
}
uVar3 = 1;
*(short *)(param_1 + 2) = (short)param_1[2] + 1;
}
return uVar3;
}