/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
undefined4 main(int param_1,char **param_2)
{
undefined *puVar1;
int iVar2;
char *__ptr;
undefined4 uVar3;
int iVar4;
int *piVar5;
char *__format;
char *pcVar6;
stat sStack_c0;
sloop_init(0);
LAB_004019ec:
iVar2 = getopt(param_1,param_2,"hvs:u:m:r:p:") //possible issue identified - semgrep
if (0 < iVar2) {
uVar3 = 0xffffffff;
switch(iVar2) {
case 0x68:
uVar3 = 0;
break;
case 0x69:
case 0x6a:
case 0x6b:
case 0x6c:
case 0x6e:
case 0x6f:
case 0x71:
case 0x74:
uVar3 = 0xffffffff;
break;
case 0x6d:
DAT_0041a9e0 = atoi(_optarg);
goto LAB_004019ec;
case 0x70:
PTR_s__etc_scripts_ddnsd_helper_sh_0041a9f4 = _optarg;
goto LAB_004019ec;
case 0x72:
DAT_0041a9e4 = atoi(_optarg);
goto LAB_004019ec;
case 0x73:
PTR_s__var_run_ddnsd_susock_0041a9f0 = _optarg;
goto LAB_004019ec;
case 0x75:
strcpy(s_DDNSD_0041a9a0,_optarg) //possible issue identified - semgrep
goto LAB_004019ec;
case 0x76:
goto switchD_0040194c_caseD_76;
}
FUN_0040178c(uVar3);
goto LAB_004019ec;
}
if (PTR_s__var_run_ddnsd_susock_0041a9f0 == (undefined *)0x0) {
fprintf(_stderr,"%s: no unix socket name for control interface !!\n","ddnsd");
FUN_0040174c(0xffffffff);
}
openlog("ddnsd",0,5);
sloop_register_signal(2,FUN_00404514,0);
sloop_register_signal(0xf,FUN_00404514,0);
sloop_register_signal(9,FUN_00404514,0);
sloop_register_signal(0xd,&LAB_00401550,0);
sloop_register_signal(0xe,FUN_00404514,0);
sloop_register_signal(0x10,&LAB_00401558,0);
sloop_register_signal(0x11,&LAB_00401558,0);
iVar2 = stat(PTR_s__var_run_ddnsd_susock_0041a9f0,&sStack_c0) //possible issue identified - semgrep
if (-1 < iVar2) {
unlink(PTR_s__var_run_ddnsd_susock_0041a9f0) //possible issue identified - semgrep
}
__ptr = dirname(PTR_s__var_run_ddnsd_susock_0041a9f0);
iVar2 = make_valid_path(__ptr,0x1f8);
if (iVar2 == 0) {
__format = "%s: unable to create directory [%s]\n";
pcVar6 = __ptr;
}
else {
iVar2 = susock_server_open(PTR_s__var_run_ddnsd_susock_0041a9f0,4,FUN_00401560) //possible issue identified - semgrep
if (iVar2 != 0) {
uVar3 = susock_fd(iVar2);
sloop_register_read_sock(uVar3,susock_server_sloop_handler,iVar2);
sloop_run();
while (puVar1 = PTR_LOOP_0041a9f8, (undefined **)PTR_LOOP_0041a9f8 != &PTR_LOOP_0041a9f8) {
piVar5 = *(int **)(PTR_LOOP_0041a9f8 + 4);
iVar4 = *(int *)PTR_LOOP_0041a9f8;
*piVar5 = iVar4;
*(int **)(iVar4 + 4) = piVar5;
*(undefined4 *)puVar1 = 0;
*(undefined4 *)(puVar1 + 4) = 0;
FUN_004015b0(puVar1);
}
susock_close(iVar2);
unlink(PTR_s__var_run_ddnsd_susock_0041a9f0) //possible issue identified - semgrep
goto LAB_00401ca8;
}
__format = "%s: unable to create unix socket [%s]!\n";
pcVar6 = PTR_s__var_run_ddnsd_susock_0041a9f0;
}
fprintf(_stderr,__format,&DAT_0040a6d8,pcVar6);
LAB_00401ca8:
free(__ptr);
FUN_0040174c(0);
return 0;
switchD_0040194c_caseD_76:
DAT_0041ad00 = DAT_0041ad00 + 1;
goto LAB_004019ec;
}