void FUN_0041ddac(int param_1,int param_2)

{
  ushort uVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  undefined4 *puVar8;
  int iVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  char *pcVar15;
  undefined1 *puVar16;
  int unaff_s7;
  undefined4 local_e0;
  undefined1 auStack_dc [36];
  undefined1 auStack_b8 [136];
  undefined1 *local_30;
  undefined4 *local_2c;
  
  FUN_00483cc0(auStack_dc,0,0x21);
  FUN_00483cc0(auStack_b8,0,0x82);
  pcVar15 = (char *)(*(int *)(param_1 + 0x20) + 899);
  if (*(char *)(*(int *)(param_1 + 0x20) + 899) == '\0') {
    pcVar15 = "/runtime/wps/setting";
  }
  FUN_00403790(0,0,pcVar15);
  uVar2 = FUN_0041dd10(param_1,"selfconfig");
                    /* try { // try from 0041de6c to 0041e4f7 has its CatchHandler @ 0041e500 */
  FUN_0041dc98(param_1,uVar2,&DAT_0048bfc8,*(undefined1 *)(param_1 + 10));
  if (0x20 < *(ushort *)(param_2 + 0xb)) {
    puVar3 = (undefined4 *)FUN_0047082c(4);
    *puVar3 = "Invalid SSID";
    FUN_00472734(puVar3,&PTR_PTR_FUN_004af2b0,0);
  }
  FUN_00483c90(auStack_dc,*(undefined4 *)(param_2 + 0x11));
  auStack_dc[*(ushort *)(param_2 + 0xb)] = 0;
  uVar2 = FUN_0041dd10(param_1,&DAT_0048bfdc);
  FUN_0041dc98(param_1,uVar2,&DAT_0048b224,auStack_dc);
  uVar1 = *(ushort *)(param_2 + 0x1e);
  if (uVar1 == 4) {
LAB_0041dfb0:
    uVar2 = 1;
  }
  else if (uVar1 < 5) {
    if (uVar1 == 1) {
      uVar2 = 0;
    }
    else {
      uVar2 = 3;
      if (uVar1 != 2) {
LAB_0041df7c:
        puVar3 = (undefined4 *)FUN_0047082c(4);
        *puVar3 = "Invalid authType";
        FUN_00472734(puVar3,&PTR_PTR_FUN_004af2b0,0);
        goto LAB_0041dfb0;
      }
    }
  }
  else if (uVar1 == 0x10) {
    uVar2 = 4;
  }
  else if (uVar1 == 0x20) {
    uVar2 = 5;
  }
  else {
    uVar2 = 2;
    if (uVar1 != 8) goto LAB_0041df7c;
  }
  uVar4 = FUN_0041dd10(param_1,"authtype");
  FUN_0041dc98(param_1,uVar4,&DAT_0048bfc8,uVar2);
  iVar5 = FUN_00401798(*(undefined4 *)(param_2 + 0x2c));
  if ((iVar5 == 0) || (unaff_s7 = FUN_00401798(*(undefined4 *)(param_2 + 0x30)), unaff_s7 == 0)) {
    puVar3 = (undefined4 *)FUN_0047082c(4);
    *puVar3 = "ListItrCreate() return error !";
    FUN_00472734(puVar3,&PTR_PTR_FUN_004af2b0,0);
    goto LAB_0041e068;
  }
  uVar1 = *(ushort *)(param_2 + 0x28);
  if (uVar1 == 2) {
    uVar2 = 1;
    goto LAB_0041e0a4;
  }
  if (uVar1 < 3) {
    uVar2 = 0;
    if (uVar1 == 1) goto LAB_0041e0a4;
LAB_0041e068:
    puVar3 = (undefined4 *)FUN_0047082c(4);
    *puVar3 = "Invalid Encryption Type.";
    FUN_00472734(puVar3,&PTR_PTR_FUN_004af2b0,0);
  }
  else if (uVar1 != 4) {
    uVar2 = 3;
    if (uVar1 == 8) goto LAB_0041e0a4;
    goto LAB_0041e068;
  }
  uVar2 = 2;
LAB_0041e0a4:
  uVar4 = FUN_0041dd10(param_1,"encrtype");
  FUN_0041dc98(param_1,uVar4,&DAT_0048bfc8,uVar2);
  iVar6 = FUN_00400f00(*(undefined4 *)(param_2 + 0x2c));
  if (iVar6 == 0) {
    iVar6 = FUN_00400dd8(unaff_s7);
    if (iVar6 == 0) {
      puVar3 = (undefined4 *)FUN_0047082c(4);
      *puVar3 = "ListItrGetNext() return error !";
      FUN_00472734(puVar3,&PTR_PTR_FUN_004af2b0,0);
    }
    iVar6 = FUN_0041ced4();
    if (iVar6 < 0) {
      puVar3 = (undefined4 *)FUN_0047082c(4);
      *puVar3 = "ParseKey() return error !";
      FUN_00472734(puVar3,&PTR_PTR_FUN_004af2b0,0);
    }
    uVar2 = FUN_0041dd10(param_1,"key:1/index");
    FUN_0041dc98(param_1,uVar2,&DAT_00491cd0);
    uVar2 = FUN_0041dd10(param_1,"key:1/key");
    FUN_0041dc98(param_1,uVar2,&DAT_0048b224,auStack_b8);
    uVar2 = FUN_0041dd10(param_1,"key:1/len");
    FUN_0041dc98(param_1,uVar2,&DAT_0048bfc8,iVar6);
    uVar2 = FUN_0041dd10(param_1,"key:1/format");
    FUN_0041dc98(param_1,uVar2,&DAT_0048bfc8,local_e0);
    uVar2 = FUN_0041dd10(param_1,"defkey");
    FUN_0041dc98(param_1,uVar2,&DAT_00491cd0);
  }
  else {
    local_30 = auStack_b8;
    local_2c = &local_e0;
    iVar6 = 0;
    while (iVar9 = FUN_00400dd8(iVar5), iVar9 != 0) {
      iVar7 = FUN_00400dd8(unaff_s7);
      if (iVar7 == 0) {
        puVar3 = (undefined4 *)FUN_0047082c(4);
        *puVar3 = "ListItrGetNext() return error !";
        FUN_00472734(puVar3,&PTR_PTR_FUN_004af2b0,0);
      }
      puVar3 = local_2c;
      iVar7 = FUN_0041ced4();
      if (iVar7 < 0) {
        puVar8 = (undefined4 *)FUN_0047082c(4);
        *puVar8 = "ParseKey() return error !";
        FUN_00472734(puVar8,&PTR_PTR_FUN_004af2b0,0);
      }
      iVar6 = iVar6 + 1;
      uVar2 = FUN_0041dd10(param_1,"key:%d/index",iVar6);
      FUN_0041dc98(param_1,uVar2,&DAT_0048bfc8,*(undefined1 *)(iVar9 + 8),puVar3);
      uVar2 = FUN_0041dd10(param_1,"key:%d/key",iVar6);
      FUN_0041dc98(param_1,uVar2,&DAT_0048b224,local_30);
      uVar2 = FUN_0041dd10(param_1,"key:%d/len",iVar6);
      FUN_0041dc98(param_1,uVar2,&DAT_0048bfc8,iVar7);
      uVar2 = FUN_0041dd10(param_1,"key:%d/format",iVar6);
      FUN_0041dc98(param_1,uVar2,&DAT_0048bfc8,local_e0);
      uVar2 = FUN_0041dd10(param_1,"defkey");
      FUN_0041dc98(param_1,uVar2,&DAT_00491cd0);
    }
  }
  puVar16 = *(undefined1 **)(param_2 + 0x3c);
  pcVar15 = *(char **)(param_2 + 0x49);
  uVar2 = FUN_0041dd10(param_1,"macaddr");
  uVar12 = (uint)(byte)puVar16[1];
  uVar13 = (uint)(byte)puVar16[2];
  uVar14 = (uint)(byte)puVar16[3];
  uVar10 = (uint)(byte)puVar16[4];
  uVar11 = (uint)(byte)puVar16[5];
  FUN_0041dc98(param_1,uVar2,"%02x:%02x:%02x:%02x:%02x:%02x",*puVar16,uVar12,uVar13,uVar14,uVar10,
               uVar11);
  uVar2 = FUN_0041dd10(param_1,"newpassword");
  if (pcVar15 == (char *)0x0) {
    pcVar15 = "";
  }
  FUN_0041dc98(param_1,uVar2,&DAT_0048b224,pcVar15,uVar12,uVar13,uVar14,uVar10,uVar11);
  uVar2 = FUN_0041dd10(param_1,"devpwdid");
  FUN_0041dc98(param_1,uVar2,"0x%04x",*(undefined2 *)(param_2 + 0x56));
  FUN_00401018(iVar5);
  FUN_00401018(unaff_s7);
  return;
}