Code:
...
if (Critical){
value = value_BaseEffect*ratio/100;
value += value_BaseEffect*GetFocusEffect(focusImprovedDamage, spell_id)/100;
int value = 375000 * 240 / 100 => 900000
int focus = 3600
value *= focus => 3,240,000,000 <-- overflow for signed 32bit
value /= 100 ....
?
edit:
3,240,000,000 - 2^32 => -1,054,967,296
-1,054,967,296 / 100 => -10,549,672
Seems pretty likely.