undefined4 main(int param_1,int param_2)
{
size_t sVar1;
int iVar2;
int local_190;
int local_18c;
int local_188;
int local_184;
undefined4 local_180;
char acStack_17c [100];
char acStack_118 [100];
char acStack_b4 [140];
int local_28 [2];
int local_20;
int local_14;
int local_10;
int local_c;
local_18c = 0x100000;
nice(0xf);
DAT_004148e0 = 0;
DAT_004148e4 = 0;
if ((1 < param_1) && (**(char **)(param_2 + 4) == 'D')) {
DAT_004148e0 = 1;
}
if ((1 < param_1) && (*(char *)(*(int *)(param_2 + 4) + 1) != '\0')) {
DAT_004148e4 = 1;
}
FUN_004026f0();
for (local_180 = 0; iVar2 = DAT_00414470, (int)local_180 < DAT_00414470; local_180 = local_180 + 1
) {
FUN_00401d40("16.17.18.19",0x40,local_180 + 2);
FUN_00401d40("16.17.18.19",0x40,local_180 + 2);
*(undefined4 *)(IPARRAY + local_180 * 0x10) = IPTMP;
*(undefined4 *)(IPARRAY + (local_180 * 4 + 1) * 4) = DAT_00414a94;
*(undefined4 *)(IPARRAY + (local_180 * 2 + 1) * 8) = DAT_00414a98;
*(undefined4 *)(IPARRAY + local_180 * 0x10 + 0xc) = DAT_00414a9c;
}
do {
local_180 = iVar2 + -1;
if ((int)local_180 < 0) break;
local_188 = local_180;
iVar2 = local_180;
} while ((*(int *)(IPARRAY + local_180 * 0x10) != 0xc0) ||
(*(int *)(IPARRAY + (local_180 * 4 + 1) * 4) != 0xa8));
if ((int)local_180 < 0) {
local_188 = 0;
}
else {
local_188 = local_188 + 1;
}
iVar2 = local_188 + 1;
sprintf(IPTMP2,"%i.%i.%i.%i",*(undefined4 *)(IPARRAY + iVar2 * 0x10),
*(undefined4 *)(IPARRAY + (iVar2 * 4 + 1) * 4),
*(undefined4 *)(IPARRAY + (iVar2 * 2 + 1) * 8),
*(undefined4 *)(IPARRAY + iVar2 * 0x10 + 0xc)) //possible issue identified - semgrep
iVar2 = local_188 + 2;
sprintf(IPTMP3,"%i.%i.%i.%i",*(undefined4 *)(IPARRAY + iVar2 * 0x10),
*(undefined4 *)(IPARRAY + (iVar2 * 4 + 1) * 4),
*(undefined4 *)(IPARRAY + (iVar2 * 2 + 1) * 8),
*(undefined4 *)(IPARRAY + iVar2 * 0x10 + 0xc)) //possible issue identified - semgrep
puts("BIG ENDIAN SYSTEM");
local_20 = DAT_004148e4;
if (DAT_004148e4 == 0) {
FUN_004029dc();
for (local_180 = 0; (int)local_180 < 10; local_180 = local_180 + 1) {
FUN_00401530(IPTMP3,1);
FUN_00402a40(TICKDELAY);
}
for (local_184 = 0; local_184 < 0x14; local_184 = local_184 + 1) {
if (local_184 == 0) {
local_190 = 1000;
}
else {
local_190 = FUN_00402b04(local_190,TICKDELAY);
}
if (local_190 < 1) break;
local_18c = TICKRATE;
printf("try [%i]%i ......\n",local_184,local_190);
strcpy(acStack_17c,IPTMP2) //possible issue identified - semgrep
local_180 = strlen(acStack_17c);
do {
sVar1 = local_180;
local_180 = sVar1 - 1;
if ((int)local_180 < 1) goto LAB_00403bd0;
} while (acStack_17c[sVar1 - 1] != '.');
acStack_17c[sVar1 - 1] = '\0';
LAB_00403bd0:
sprintf(acStack_118,"%s.1",acStack_17c) //possible issue identified - semgrep
if (DAT_004148e0 != 0) {
printf("%s.xxx and %s\n",acStack_118,IPTMP3);
}
FUN_00401530(IPTMP3,0);
gettimeofday((timeval *)&TICK1,(__timezone_ptr_t)0x0);
FUN_00400e4c(acStack_118,local_190);
FUN_00401530(IPTMP3,1);
gettimeofday((timeval *)&TICK2,(__timezone_ptr_t)0x0);
if (local_190 < 400) {
TICKRATE = FUN_00402f60(local_190);
}
else {
TICKRATE = (TICKTOTAL << 3) / (TICK2 - TICK1);
if (TICK2 - TICK1 == 0) {
trap(0x1c00);
}
}
if (DAT_004148e0 != 0) {
printf("RUN %i TIMES\n",TICKCOUNT);
}
if (DAT_004148e0 != 0) {
printf("RATE IS %i\n",TICKRATE);
}
usleep(1000000);
}
FUN_00400e4c(acStack_118,1000);
local_14 = local_18c;
if (local_18c < 0) {
local_14 = local_18c + 0x3ff;
}
printf("Bandwidth is %i \n",local_14 >> 10);
local_10 = local_18c;
if (local_18c < 0) {
local_10 = local_18c + 0x3ff;
}
sprintf(acStack_b4,"rgdb -s /qos/bandwidth/upstream %i;submit QOS",local_10 >> 10) //possible issue identified - semgrep
local_c = local_18c;
if (local_18c < 0) {
local_c = local_18c + 0x3ff;
}
sprintf(acStack_b4,"xmldbc -s /runtime/device/qos/bwup %i;service QOS restart",local_c >> 10) //possible issue identified - semgrep
system(acStack_b4) //possible issue identified - semgrep
}
else if (DAT_004148e4 == 1) {
for (local_180 = 0; (int)local_180 < 10; local_180 = local_180 + 1) {
FUN_00401530(IPTMP3,1);
}
while( true ) {
printf("NNN=");
scanf("%i",local_28) //possible issue identified - semgrep
if (local_28[0] < 1) break;
if (local_28[0] == 1) {
for (local_180 = 0; (int)local_180 < 0x14; local_180 = local_180 + 1) {
FUN_00401530(IPTMP3,1);
}
}
else {
strcpy(acStack_17c,IPTMP2) //possible issue identified - semgrep
local_180 = strlen(acStack_17c);
do {
sVar1 = local_180;
local_180 = sVar1 - 1;
if ((int)local_180 < 1) goto LAB_00403810;
} while (acStack_17c[sVar1 - 1] != '.');
acStack_17c[sVar1 - 1] = '\0';
LAB_00403810:
sprintf(acStack_118,"%s.1",acStack_17c) //possible issue identified - semgrep
if (DAT_004148e0 != 0) {
printf("%s.xxx and %s\n",acStack_118,IPTMP3);
}
FUN_00401530(IPTMP3,0);
gettimeofday((timeval *)&TICK1,(__timezone_ptr_t)0x0);
FUN_00400e4c(acStack_118,local_28[0]);
FUN_00401530(IPTMP3,1);
gettimeofday((timeval *)&TICK2,(__timezone_ptr_t)0x0);
if (local_28[0] < 400) {
TICKRATE = FUN_00402f60(local_28[0]);
}
else {
TICKRATE = (TICKTOTAL << 3) / (TICK2 - TICK1);
if (TICK2 - TICK1 == 0) {
trap(0x1c00);
}
}
if (DAT_004148e0 != 0) {
printf("RUN %i TIMES\n",TICKCOUNT);
}
if (DAT_004148e0 != 0) {
printf("RATE IS %i\n",TICKRATE);
}
}
}
}
return 0;
}