/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void main(int param_1,char **param_2)

{
  int iVar1;
  undefined4 uVar2;
  
  sloop_init(0);
LAB_00401a44:
  do {
    while( true ) {
      iVar1 = getopt(param_1,param_2,"hvds:c:")   //possible issue identified - semgrep
      if (iVar1 < 1) {
        sloop_register_signal(0xf,FUN_00401c38,0);
        sloop_register_signal(2,FUN_00401c38,0);
        sloop_register_signal(9,FUN_00401c38,0);
        sloop_register_signal(0xd,&LAB_00401840,0);
        sloop_register_signal(0xe,FUN_00401c38,0);
        sloop_register_signal(0x10,FUN_00401c00,0);
        sloop_register_signal(0x11,&DAT_00401b98,0);
        sloop_register_timeout(0,0,igmpproxy_start,0);
        rt3052_init();
        sloop_run();
        rt3052_fini();
                    /* WARNING: Subroutine does not return */
        exit(0);
      }
      if (iVar1 != 0x68) break;
      uVar2 = 0;
LAB_00401a34:
      FUN_00401848(uVar2);
    }
    if (iVar1 < 0x69) {
      if (iVar1 == 99) {
        o_configfile = _optarg;
      }
      else {
        uVar2 = 0xffffffff;
        if (iVar1 != 100) goto LAB_00401a34;
        o_fastleave = o_fastleave + -1;
      }
      goto LAB_00401a44;
    }
    if (iVar1 == 0x73) {
      o_helperscript = _optarg;
    }
    else {
      uVar2 = 0xffffffff;
      if (iVar1 != 0x76) goto LAB_00401a34;
      DAT_0041b814 = DAT_0041b814 + 1;
    }
  } while( true );
}