undefined4 FUN_00400dd8(undefined4 *param_1)

{
  undefined4 uVar1;
  int iVar2;
  
  if (param_1 == (undefined4 *)0x0) {
    FUN_0047f5a0("listItr","slist.c",0x206,"ListItrGetNext");
  }
  iVar2 = param_1[1];
  if (iVar2 == -1) {
    param_1[1] = *(undefined4 *)*param_1;
  }
  else {
    if (iVar2 == 0) {
      return 0;
    }
    param_1[1] = *(undefined4 *)(iVar2 + 4);
  }
  if ((undefined4 *)param_1[1] == (undefined4 *)0x0) {
    uVar1 = 0;
  }
  else {
    uVar1 = *(undefined4 *)param_1[1];
  }
  return uVar1;
}