void FUN_00401e58(undefined4 param_1,undefined4 param_2,char param_3,undefined4 param_4)
{
int iVar1;
int iVar2;
int iVar3;
int iVar4;
int iVar5;
int iVar6;
undefined4 uVar7;
code *pcVar8;
undefined4 local_20;
int local_1c;
uint local_18;
local_20 = 0;
local_1c = 0;
local_18 = 0;
if (param_3 == '\x03') {
FUN_00401300("recv SET_REQUEST!\n");
local_20 = 1;
local_1c = NEAP_DuplicateResponse(param_1,param_4);
if (local_1c == 0) {
return;
}
local_18 = local_18 & 0xffffff00;
NEAP_WalkThroughAttributeList(param_4,FUN_00402110,&local_20);
pcVar8 = NEAP_SendSetResponse;
}
else {
if (param_3 != '\x05') {
if (param_3 != '\x01') {
FUN_00401300("Unsupported code %d\n");
return;
}
FUN_00401300("recv DISCOVERY_REQUEST!\n");
iVar1 = NEAP_DuplicateResponse(param_1,param_4);
if (iVar1 == 0) {
FUN_00401300("NEAP_DuplicateResponse fail!\n");
return;
}
iVar2 = mib_get_supported_class(iVar1,0,DAT_004168c0,&DAT_004168c1);
iVar3 = mib_get_model_name(iVar1,0,DAT_004168c4,&DAT_004168c5);
iVar4 = mib_get_system_mac_address(iVar1,0,DAT_004168c8,&DAT_004168c9);
iVar5 = mib_get_system_ip_address(iVar1,0,DAT_004168cc,&DAT_004168cd);
iVar6 = mib_get_system_netmask(iVar1,0,DAT_004168d0,&DAT_004168d1);
uVar7 = 0;
if ((iVar6 == 0) &&
(uVar7 = 2, (char)((iVar2 != 0) + (iVar3 != 0) + (iVar4 != 0) + (iVar5 != 0)) != '\0')) {
uVar7 = 0;
}
NEAP_SendDiscoverResponse(param_1,uVar7,iVar1);
goto LAB_004020d8;
}
FUN_00401300("recv GET_REQUEST!\n");
local_20 = 0;
local_1c = NEAP_DuplicateResponse(param_1,param_4);
if (local_1c == 0) {
return;
}
local_18 = local_18 & 0xffffff00;
NEAP_WalkThroughAttributeList(param_4,FUN_00402110,&local_20);
pcVar8 = NEAP_SendGetResponse;
}
(*pcVar8)(param_1,(undefined1)local_18,local_1c);
iVar1 = local_1c;
LAB_004020d8:
NEAP_ReleaseAttributeList(iVar1);
return;
}