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;
}