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

undefined4 main(int param_1,char **param_2)

{
  int iVar1;
  undefined4 uVar2;
  
  while( true ) {
    while( true ) {
      iVar1 = getopt(param_1,param_2,"hdf:")   //possible issue identified - semgrep
      if (iVar1 < 1) {
        printf("Factory reset time : %d secs\n",o_freset_time);
        sloop_init(0);
        sloop_register_signal(0xf,sig_term,0);
        sloop_register_signal(2,sig_term,0);
        sloop_register_signal(9,sig_term,0);
        sloop_register_signal(0xd,sig_ignore,0);
        sloop_register_signal(0xe,sig_term,0);
        sloop_register_signal(0x10,sig_ignore,0);
        sloop_register_signal(0x11,sig_ignore,0);
        gpio_outen(0,0);
        gpio_outen(10,0);
        gpio_outen(9,1);
        gpio_outen(0xd,1);
        gpio_outen(0xc,1);
        gpio_outen(0xe,1);
        sloop_register_timeout(0,0,wpspb_handler,&wpspb_data);
        sloop_register_timeout(0,0,freset_handler,&freset_data);
        wps_set_led(0);
        inet_set_led(1);
        status_set_led(0);
        layout_set(1);
        usock_data = usock_open(1,"/var/gpio_ctrl")   //possible issue identified - semgrep
        if (usock_data == 0) {
          fputs("Unable to create unix domain socket !!!\n",_stderr);
        }
        else {
          uVar2 = usock_fd(usock_data);
          DAT_004161c4 = sloop_register_read_sock(uVar2,usock_handler,&usock_data);
        }
        sloop_run();
        if (DAT_004161c4 != 0) {
          sloop_cancel_read_sock();
        }
        if (usock_data != 0) {
          usock_close();
        }
        gpio_out(9,1);
        gpio_out(0xc,0);
        gpio_out(0xe,1);
        gpio_out(0xd,1);
        return 0;
      }
      if (iVar1 != 0x66) break;
      o_freset_time = atoi(_optarg);
    }
    if (iVar1 == 0x68) break;
    if (iVar1 != 100) {
      puts(
          "Usage: gpiod [OPTIONS]\n  -h                show this help message.\n  -d                debug mode.\n  -f {seconds}      specify the time of seconds that active factory reset. (default is 3)"
          );
      iVar1 = -1;
      goto LAB_0040170c;
    }
    o_debug = 1;
  }
  puts(
      "Usage: gpiod [OPTIONS]\n  -h                show this help message.\n  -d                debug mode.\n  -f {seconds}      specify the time of seconds that active factory reset. (default is 3)"
      );
  iVar1 = 0;
LAB_0040170c:
                    /* WARNING: Subroutine does not return */
  exit(iVar1);
}