int FUN_00420724(int param_1,int param_2)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  char *pcVar4;
  uint uVar5;
  int iVar6;
  char local_50 [4];
  undefined4 local_4c;
  undefined1 auStack_48 [24];
  undefined1 auStack_30 [28];
  
  FUN_004057a4(auStack_48);
                    /* try { // try from 0042076c to 00420773 has its CatchHandler @ 00420b98 */
  FUN_004057a4(auStack_30);
  local_50[0] = '\0';
  iVar6 = 0x1004;
  if ((*(char *)(param_1 + 8) == '\0') || (iVar6 = 0x1005, param_2 == 0)) goto LAB_00420b4c;
  uVar5 = 0;
  if (*(char *)(param_1 + 0x46) == '\0') {
    iVar6 = FUN_00483d20(param_2,"eap:registrar");
    uVar5 = 1;
    if (iVar6 != 0) {
      iVar6 = FUN_00483d20(param_2,"eap:enrollee");
      uVar5 = 2;
      if (iVar6 != 0) {
        iVar6 = FUN_00483d20(param_2,"upnp:gdi");
        if (iVar6 == 0) {
          uVar5 = 1;
        }
        else {
          iVar6 = FUN_00483d20(param_2,"upnp:ssr");
          if (iVar6 == 0) {
            uVar5 = 4;
          }
          else {
            iVar6 = FUN_00483d20(param_2,"int:pin");
            uVar5 = 4;
            if (iVar6 != 0) {
              iVar6 = FUN_00483d20(param_2,"int:pbc");
              uVar5 = 0;
              if (iVar6 == 0) {
                uVar5 = 4;
              }
            }
          }
        }
      }
    }
    iVar1 = FUN_0041cd50(param_1,uVar5,local_50);
    iVar6 = 0x100d;
    if (iVar1 != 0x1001) goto LAB_00420b4c;
  }
  if (local_50[0] != '\0') {
                    /* try { // try from 00420898 to 00420b0f has its CatchHandler @ 00420b24 */
    FUN_0041f058(param_1);
  }
  iVar6 = FUN_00424150(*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 4));
  if (iVar6 != 0x1001) {
    FUN_00480770(PTR_DAT_004b76b8,"%s: Config info not setup!\n","StartStack");
    iVar6 = 0x4004;
    goto LAB_00420b4c;
  }
  pcVar4 = (char *)(*(int *)(param_1 + 0x20) + 0x403);
  if (*(char *)(*(int *)(param_1 + 0x20) + 0x403) == '\0') {
    pcVar4 = "/var/run/wps_inbeap_usocket";
  }
  FUN_004248f4(*(undefined4 *)(param_1 + 0x28),pcVar4);
  pcVar4 = (char *)(*(int *)(param_1 + 0x20) + 0x483);
  if (*(char *)(*(int *)(param_1 + 0x20) + 0x483) == '\0') {
    pcVar4 = "/var/run/wps_inbwlan_usocket";
  }
  FUN_00424860(*(undefined4 *)(param_1 + 0x28),pcVar4);
  pcVar4 = (char *)(*(int *)(param_1 + 0x20) + 0x503);
  if (*(char *)(*(int *)(param_1 + 0x20) + 0x503) == '\0') {
    pcVar4 = "/var/run/wps_inbwlan_beaconie";
  }
  FUN_004247cc(*(undefined4 *)(param_1 + 0x28),pcVar4);
  pcVar4 = (char *)(*(int *)(param_1 + 0x20) + 0x583);
  if (*(char *)(*(int *)(param_1 + 0x20) + 0x583) == '\0') {
    pcVar4 = "/var/run/wps_inbwlan_proberespie";
  }
  FUN_00424738(*(undefined4 *)(param_1 + 0x28),pcVar4);
  iVar6 = FUN_00412f88(*(undefined4 *)(param_1 + 0x24),&local_4c,auStack_48,
                       *(char *)(param_1 + 0x46) != '\0');
  if (iVar6 != 0x1001) goto LAB_00420b4c;
  FUN_0040a7cc(*(undefined4 *)(param_1 + 0x24),auStack_48,auStack_30);
  FUN_00421960(*(undefined4 *)(param_1 + 0x20),local_4c);
  iVar1 = FUN_00424050(*(undefined4 *)(param_1 + 0x20),auStack_48);
  if ((iVar1 != 0x1001) ||
     (iVar1 = FUN_00423ff4(*(undefined4 *)(param_1 + 0x20),auStack_30), iVar1 != 0x1001)) {
    iVar6 = 0x1003;
    goto LAB_00420b4c;
  }
  if (*(char *)(param_1 + 0x46) != '\0') {
    uVar2 = FUN_00401fb4(0,0,FUN_00421770,param_1);
    *(undefined4 *)(param_1 + 0x10) = uVar2;
    goto LAB_00420b4c;
  }
  if (uVar5 == 2) {
LAB_00420af8:
    uVar2 = FUN_00401fb4(0,0,FUN_00421958,param_1);
    uVar3 = 2;
  }
  else {
    if (uVar5 < 3) {
      if (uVar5 != 1) goto LAB_00420b4c;
    }
    else if (uVar5 != 3) {
      if (uVar5 != 4) goto LAB_00420b4c;
      goto LAB_00420af8;
    }
    uVar2 = FUN_00401fb4(0,0,FUN_00421950,param_1);
    uVar3 = 1;
  }
  *(undefined4 *)(param_1 + 0xc) = uVar3;
  *(undefined4 *)(param_1 + 0x10) = uVar2;
LAB_00420b4c:
  FUN_00414eac(auStack_30);
  FUN_00414eac(auStack_48);
  return iVar6;
}