undefined4 FUN_00403474(undefined4 param_1,char *param_2)
{
int *piVar1;
int iVar2;
int iVar3;
int *piVar4;
piVar1 = (int *)FUN_00403240(param_2,0);
if (piVar1 != (int *)0x0) {
iVar2 = strcmp((char *)piVar1[2],param_2);
if (iVar2 == 0) {
if (piVar1[4] != 0) {
susock_send(param_1,&DAT_0040a8a4,5,0x4000);
return 0xffffffff;
}
piVar4 = (int *)piVar1[1];
iVar2 = *piVar1;
*piVar4 = iVar2;
*(int **)(iVar2 + 4) = piVar4;
*piVar1 = 0;
piVar1[1] = 0;
FUN_0040304c(piVar1);
}
else {
solist_get_reset(piVar1[3]);
do {
iVar2 = solist_get_next(piVar1[3]);
if (iVar2 == 0) {
return 0;
}
iVar3 = sobj_strcmp(iVar2,param_2);
} while (iVar3 != 0);
solist_remove(piVar1[3],iVar2);
sobj_del(iVar2);
}
}
return 0;
}