internal Class721 method_27(Dictionary <int, Class713> A_0, float A_1) { Class721 class2 = new Class721(); Dictionary <int, Class713> dictionary = new Dictionary <int, Class713>(); float num = 0f; float num2 = A_1 / ((float)A_0.Count); foreach (KeyValuePair <int, Class713> pair in A_0) { Class713 class3 = pair.Value; if (class3.method_35() <= num2) { class3.method_1(class3.method_37()); A_1 -= class3.method_37(); } else if ((A_0.Count == 1) && (class3.method_37() > num2)) { class3.method_1(num2); class2.method_9(new ushort?((ushort)pair.Value.method_10())); class2.method_3(num2); class2.method_5(class3.method_19()); class2.method_7(class3.method_40()); class2.float_4 = class3.method_31(); class2.method_11(true); } else { dictionary.Add(pair.Key, pair.Value); num += class3.method_19(); } } if (dictionary.Count > 0) { if (dictionary.Count < A_0.Count) { return(this.method_27(dictionary, A_1)); } foreach (KeyValuePair <int, Class713> pair2 in dictionary) { Class713 class4 = pair2.Value; if (num != 0f) { class4.method_1(A_1 * (class4.method_19() / num)); } else { class4.method_1(num2); } } } return(class2); }