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;
}