int FUN_00402b04(int param_1,int param_2)
{
int local_18;
int local_10;
local_18 = (((bwmax + bwmin) / 2) * 3) / 2;
if (local_18 < 50000) {
local_18 = 50000;
}
if (local_18 < 100000) {
local_18 = 100000;
}
if ((bwmax == 0) && (bwmin == 0)) {
puts("ZERO ERROR");
local_10 = 0;
}
else if ((param_1 < 1000) || ((bwok != 10000 || (param_2 <= local_18)))) {
if ((param_1 < bwok) && (param_2 <= local_18)) {
bwok = param_1;
}
if ((bwfail < param_1) && (local_18 < param_2)) {
bwfail = param_1;
}
if ((bwok == 10000) || (bwfail == 1)) {
if (param_2 <= local_18) {
if (1000 < param_1) {
return param_1 + -500;
}
if ((400 < param_1) && (param_1 < 0x3e9)) {
return param_1 + -300;
}
if ((200 < param_1) && (param_1 < 0x191)) {
return param_1 + -0x32;
}
if ((100 < param_1) && (param_1 < 0xc9)) {
return param_1 + -0x14;
}
if ((0xf < param_1) && (param_1 < 0x65)) {
return param_1 + -10;
}
if (param_1 < 10) {
bwfail = 1;
bwok = 10000;
return 1000;
}
}
if (local_18 < param_2) {
if (999 < param_1) {
return param_1 + 500;
}
if (9000 < param_1) {
bwfail = 1;
bwok = 10000;
return 1000;
}
}
local_10 = 1000;
}
else {
local_10 = 0;
}
}
else {
local_10 = param_1 + 1000;
}
return local_10;
}