Function at 0x42a540
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [0x47700c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, ecx
call fcn.004350a0
mov esi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
call esi
mov edi, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
cmp eax, 0xffffffff
je 0x42a578
xor ecx, ecx
push ecx
push eax
mov dword [ebp - 0x6c], ecx
call edi
push str.Help_Screen
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42a59b
mov dword [ebp - 0x6c], 0x10000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x1328]
cmp eax, 9
ja case.default.0x42a5e3
jmp dword [eax*4 + 0x42affc]
push str.Fundamentals
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42a5d4
mov dword [ebp - 0x6c], 0x20000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x132c]
cmp eax, 5
ja case.default.0x42a5e3
jmp dword [eax*4 + 0x42b024]
push str.Squares_and_Powers
jmp 0x42af91
push str.Arithmetic
jmp 0x42af91
push str.Fractions
jmp 0x42af91
push str.Conversions
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42a62b
mov dword [ebp - 0x6c], 0x30000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x1330]
sub eax, 0
je 0x42a752
sub eax, 1
je 0x42a6b9
sub eax, 1
jne case.default.0x42a5e3
push str.Time
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42a66b
mov dword [ebp - 0x6c], 0x50000
push dword [ebp - 0x6c]
push eax
call edi
push str._t_tTime_unit_conversions_n
call fcn.00401070
push str._t_t______________________n
call fcn.00401070
push str._t_t60_seconds_in_1_minute_n
call fcn.00401070
push str._t_t60_minutes_in_1_hour_n
call fcn.00401070
push str._t_t24_hours_in_1_day_n
call fcn.00401070
push str._t_t7_days_in_1_week_n
call fcn.00401070
push str._t_t365_days_in_1_year__366_in_a_leap_year__n
call fcn.00401070
add esp, 0x1c
jmp case.default.0x42a5e3
push str.English
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42a6dc
mov dword [ebp - 0x6c], 0x50000
push dword [ebp - 0x6c]
push eax
call edi
push str._t_tEnglish_unit_conversions_n
call fcn.00401070
push str._t_t_________________________n
call fcn.00401070
push str._t_t12_inches_in_1_foot_n
call fcn.00401070
push str._t_t3_feet_in_1_yard_n
call fcn.00401070
push str._t_t5280_feet_in_1_mile_n
call fcn.00401070
push str._t_t16_ounces_in_1_pound_n
call fcn.00401070
push str._t_t2000_pounds_in_1_ton_n
call fcn.00401070
push str._t_t8_ounces_in_1_cup_n
call fcn.00401070
push str._t_t2_cups_in_1_pint_n
call fcn.00401070
push str._t_t2_pints_in_1_quart_n
call fcn.00401070
push str._t_t4_quarts_in_1_gallon_n
call fcn.00401070
add esp, 0x2c
jmp case.default.0x42a5e3
push str.Metric
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42a775
mov dword [ebp - 0x6c], 0x50000
push dword [ebp - 0x6c]
push eax
call edi
push str._t_tMetric_prefixes_determine_the_power_of_10._n
call fcn.00401070
push str._t_tpeta:__1015________________femto:__10__15_n
call fcn.00401070
push str._t_ttera:__1012_________________pico:__10__12_n
call fcn.00401070
push str._t_tgiga:__109__________________nano:__10__9_n
call fcn.00401070
push str._t_tmega:__106_________________micro:__10__6_n
call fcn.00401070
push str._t_tkilo:__103_________________milli:__10__3_n
call fcn.00401070
push str._t_thecto:_102_________________centi:__10__2_n
call fcn.00401070
push str._t_tdeca:__101__________________deci:__10__1_n
call fcn.00401070
add esp, 0x20
jmp case.default.0x42a5e3
push str.Percents
jmp 0x42af91
push str.Calendar
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42a7fa
mov dword [ebp - 0x6c], 0x50000
push dword [ebp - 0x6c]
push eax
call edi
xor esi, esi
nop dword [eax]
push 0x64
lea eax, [ebp - 0x68]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push dword [esi + 0x45cebc]
lea eax, [ebp - 0x68]
push 0x464150
push eax
call fcn.004011b0
push dword [esi + 0x45ceec]
lea eax, [ebp - 0x54]
push str._d_days
push eax
call fcn.004011b0
push dword [esi + 0x45ced4]
lea eax, [ebp - 0x40]
push 0x464150
push eax
call fcn.004011b0
push dword [esi + 0x45cf04]
lea eax, [ebp - 0x2c]
push str._d_days
push eax
call fcn.004011b0
add esp, 0x3c
xor eax, eax
cmp byte [ebp + eax - 0x68], 0
jne 0x42a86e
mov byte [ebp + eax - 0x68], 0x20
inc eax
cmp eax, 0x46
jl 0x42a862
lea eax, [ebp - 0x68]
push eax
push 0x463bcc
call fcn.00401070
add esi, 4
add esp, 8
cmp esi, 0x18
jl 0x42a800
push str._nIn_a_leap_year__February_has_29_days._n_n
call fcn.00401070
push str.Leap_years_occur_when_the_year_is_divisible_by_4._n
call fcn.00401070
push str.They_do_not_occur_if_the_year_is_divisible_by_100__n
call fcn.00401070
push str.unless_it_is_also_divisible_by_400.
call fcn.00401070
add esp, 0x10
jmp case.default.0x42a5e3
push str.Algebra
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42a8e4
mov dword [ebp - 0x6c], 0x20000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x132c]
cmp eax, 0xa
ja case.default.0x42a5e3
jmp dword [eax*4 + 0x42b03c]
push str.Systems_of_Equations
jmp 0x42af91
push str.Substitution_and_Simplification_of_Equations
jmp 0x42af91
push str.Proportions_and_Ratios
jmp 0x42af91
push str.Rates
jmp 0x42af91
push str.Lines_and_Linear_Equations
jmp 0x42af91
push str.Distribution
jmp 0x42af91
push str.Quadratics_and_Parabolas
jmp 0x42af91
push str.Polynomial_Basics
jmp 0x42af91
push str.Statistics
jmp 0x42af91
push str.Recursive_Problems
jmp 0x42af91
push str.Function_Definition
jmp 0x42af91
push str.Sequences_and_Series
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42a98b
mov dword [ebp - 0x6c], 0x20000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x132c]
cmp eax, 4
ja case.default.0x42a5e3
jmp dword [eax*4 + 0x42b068]
push str.Arithmetic_Seq_and_Ser
jmp 0x42af91
push str.Geometric_Seq_and_Ser
jmp 0x42af91
push str.Fibonacci_Sequences
jmp 0x42af91
push str.Miscellaneous_Sequences
jmp 0x42af91
push str.Sums_of_Squares_and_Cubes
jmp 0x42af91
push str.Counting
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42a9f6
mov dword [ebp - 0x6c], 0x20000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x132c]
cmp eax, 8
ja case.default.0x42a5e3
jmp dword [eax*4 + 0x42b07c]
push str.Permutations_and_Combinations
jmp 0x42af91
push str._Off_by_one__sets
jmp 0x42af91
push str.Venn_Diagrams_and_the_Principle_of_Inclusion_Exclusion
jmp 0x42af91
push str.Triangular_Numbers
jmp 0x42af91
push str.Casework
jmp 0x42af91
push str.Basics
jmp 0x42af91
push str.Complementary
jmp 0x42af91
push str.Sticks_and_Stones
jmp 0x42af91
push str.Pascals_Triangle
jmp 0x42af91
push str.Probability
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42aa89
mov dword [ebp - 0x6c], 0x20000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x132c]
cmp eax, 9
ja case.default.0x42a5e3
jmp dword [eax*4 + 0x42b0a0]
push str.Binary_Events
jmp 0x42af91
push str.Subsets
jmp 0x42af91
push str.Spinners
jmp 0x42af91
push str.Dice
jmp 0x42af91
push str.Cards
jmp 0x42af91
push str.Geometric
jmp 0x42af91
push str.Compound_Events
jmp 0x42af91
push str.Dependent_vs_Independent
jmp 0x42af91
push str.With_Replacement_vs_Without
jmp 0x42af91
push str.Casework_and_Probability
jmp 0x42af91
push str.Number_Theory
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42ab26
mov dword [ebp - 0x6c], 0x20000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x132c]
cmp eax, 7
ja case.default.0x42a5e3
jmp dword [eax*4 + 0x42b0c8]
push str.Units_Digits
jmp 0x42af91
push str.Divisibility
jmp 0x42af91
push str.Factoring_and_Factors
jmp 0x42af91
push str.Factorials
jmp 0x42af91
push str.Using_Different_Bases
jmp 0x42af91
push str.Modular_Arithmetic
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42ab91
mov dword [ebp - 0x6c], 0x30000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x1330]
sub eax, 0
je 0x42ad88
sub eax, 1
jne case.default.0x42a5e3
push str.multiple_remainders_from_different_divisors
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42abcc
mov dword [ebp - 0x6c], 0x50000
push dword [ebp - 0x6c]
push eax
call edi
push str.If_youre_given_two_equations:_n_n
call fcn.00401070
push str._1__N__A__mod_a__n
call fcn.00401070
push str._2__N__B__mod_b__n_n
call fcn.00401070
push str.If_a_and_b_are_relatively_prime__meaning_GCF__1___then_there__n
call fcn.00401070
push str.always_exists_an_N_that_works_somewhere_between_0_and_the__n
call fcn.00401070
push str.product_ab._n_n
call fcn.00401070
push str.The_simplest_way_to_find_it_is_to_add_an_offset_to_N_to_reach_n
call fcn.00401070
push str.a_multiple_of_a_or_b____usually_whichever_is_larger.__Lets_say_n
call fcn.00401070
push str.b___a._We_know__2__N_B__0__mod_b_.__Make_the_same_adjustment_n
call fcn.00401070
push str.to_the_other_equation:__1__N_B___A_B___mod_a_._n_n
call fcn.00401070
push str.Now_consider_multiples_of_b_until_one_satisfies_the_new__n
call fcn.00401070
push str.equation__1_._n_n
call fcn.00401070
push str.Example:_n_n
call fcn.00401070
push str.Find_the_smallest_N_such_that_n
call fcn.00401070
push str._1__N__5__mod_7__n
call fcn.00401070
push str._2__N__3__mod_8__n_n
call fcn.00401070
add esp, 0x40
push str.Step_1:_modify_to_get_a_multiple_of_8:_n_n
call fcn.00401070
push str._1__N_3__2__mod_7__n
call fcn.00401070
push str._2__N_3__0__mod_8__n_n
call fcn.00401070
push str.Now_check_multiples_of_8_until_one_satisfies__1_:_n
call fcn.00401070
push str.8:_no_..._16:_yes__n_n
call fcn.00401070
push str.Therefore__163__19_will_satisfy_both_equations._n
call fcn.00401070
push str._Dont_forget_to_add_back_the_offset___n_n
call fcn.00401070
push str.IF_there_is_a_third_equation__first_do_this_for_a_pair_of_equations._n
call fcn.00401070
push str.Lets_say_we_did_it_for_a_and_b._n_n
call fcn.00401070
push str.Now_you_try_the_result__and_keep_adding_the_product_ab_until_you__n
call fcn.00401070
push str.get_a_number_that_satisfied_the_third_equation._n_n
call fcn.00401070
push str.Example:_n_n
call fcn.00401070
push str.Same_as_above__but_add_a_third_equation:_n
call fcn.00401070
push str._1__N__5__mod_7__n
call fcn.00401070
push str._2__N__3__mod_8__n
call fcn.00401070
push str._3__N__4__mod_11__n_n
call fcn.00401070
add esp, 0x40
push str.Ok___weve_already_seen_that_19_satisfies__1__and__2_.__This_means_n
call fcn.00401070
push str.that_19__any_multiple_of_56_will_also.__So_check_them_in_order_until_n
call fcn.00401070
push str.you_get_4__mod_11_:_n_n
call fcn.00401070
push str.19:_no_____8_mod_11__n
call fcn.00401070
push str.1956__75:_no___9_mod_11__n
call fcn.00401070
push str.7556__131:_no___10_mod_11__n
call fcn.00401070
push str.13156__187:_no___0__n
call fcn.00401070
push str...._564__411___4_mod_11__YES___n_n
call fcn.00401070
push str.Note_that_as_soon_as_we_recognize_the_pattern_with_how_the_value_mod_n
call fcn.00401070
push str.11_changes__we_can_get_there_faster._n_n
call fcn.00401070
push str.So_the_answer_is_411._n
call fcn.00401070
add esp, 0x2c
jmp case.default.0x42a5e3
push str.Powers_and_remainders
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42adab
mov dword [ebp - 0x6c], 0x50000
push dword [ebp - 0x6c]
push eax
call edi
push str.To_find_out_the_remainder_when_xy_is_divided_by_z__we_need_to_ncalculate_xy__mod_z_.__To_do_that__we_make_a_table_of_powers_of_x_nand_their_equivalent_values__mod_z__until_we_get_to_1.__After_that__nthe_pattern_will_repeat.__If_z_is_a_prime__then_the_pattern_will_nhave_AT_MOST_z_1_entries__although_the_number_may_be_factor_of_z_1._n_nExample:__What_is_the_remainder_when_152004_is_divided_by_17___n_nWe_make_a_table:__n_npower_tproduct_t_mod_17__n__________________________n1_t15_t15_n2_t225_t4_n3_t60_t9_n4_t135_t16_n5_t240_t2_n6_t30_t13_n7_t195_t8_n8_t120_t1_n_nSo_now_we_know_that_the_pattern_will_repeat_every_8._n2004__4__mod_8___so_the_answer_is_16._n_nTo_make_life_easier:_consider_negative_numbers._n_nSince_15___2__mod_17___we_know_the_sequence_of_powers_will_be__n_2__4___8__16__which_is__1___then_2___4__8___16__which_is_1_._n_nOnce_you_get_to__1__the_list_repeats__just_multiplied_by__1_until_nyou_get_to_1._n
call fcn.00401070
add esp, 4
jmp case.default.0x42a5e3
push str.Properties_of_Prime_Numbers
jmp 0x42af91
push str.Optimization_Problems
jmp 0x42af91
push str.Geometry
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42adf4
mov dword [ebp - 0x6c], 0x20000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x132c]
cmp eax, 0xc
ja case.default.0x42a5e3
jmp dword [eax*4 + 0x42b0e8]
push str.Right_Triangles
jmp 0x42af91
push str.General_Triangles
jmp 0x42af91
push str.Circles_and_Semicircles
jmp 0x42af91
push str.Quadrilaterals
jmp 0x42af91
push str.Polygons
jmp 0x42af91
push str.Coordinate_Geometry
jmp 0x42af91
push str.Area
jmp 0x42af91
push str.Volume
jmp 0x42af91
push str.Surface_Area
jmp 0x42af91
push str.Scale_Factors
jmp 0x42af91
push str.Solid_Geometry
jmp 0x42af91
push str.Tangent_Circle_Problems
jmp 0x42af91
push str.Length_Ratios
jmp 0x42af91
push str.Logic_and_Reasoning
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42aeaf
mov dword [ebp - 0x6c], 0x20000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x132c]
sub eax, 0
je 0x42aecd
sub eax, 1
jne case.default.0x42a5e3
push str.Constraint_Satisfaction
jmp 0x42af91
push str.Basic_Logic
jmp 0x42af91
push str.Patterns
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42aefa
mov dword [ebp - 0x6c], 0x20000
push dword [ebp - 0x6c]
push eax
call edi
cmp dword [ebx + 0x132c], 0
jne case.default.0x42a5e3
push str.Cycles
jmp 0x42af91
push str.Archive
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je 0x42af34
mov dword [ebp - 0x6c], 0x20000
push dword [ebp - 0x6c]
push eax
call edi
mov eax, dword [ebx + 0x132c]
cmp eax, 0xa
ja case.default.0x42a5e3
jmp dword [eax*4 + 0x42b11c]
push str.AMC_8
jmp 0x42af91
push str.AMC_10
jmp 0x42af91
push str.AMC_12
jmp 0x42af91
push str.Mathcounts_School
jmp 0x42af91
push str.Mathcounts_Chapter
jmp 0x42af91
push str.Mathcounts_State
jmp 0x42af91
push str.Mathcounts_National
jmp 0x42af91
push str.Mathcounts_Warmups
jmp 0x42af91
push str.Mathcounts_Workouts
jmp 0x42af91
push str.Miscellaneous_Problem_Sources
jmp 0x42af91
push 0x465220
call fcn.00401070
add esp, 4
push 0xfffffffffffffff5
call esi
cmp eax, 0xffffffff
je case.default.0x42a5e3
mov dword [ebp - 0x6c], 0x30000
push dword [ebp - 0x6c]
push eax
call edi
push str._n_nHit_any_key_when_done
call fcn.00401070
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__kbhit]
add esp, 4
call esi
test eax, eax
jne 0x42afdd
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop
push 0x3e8
call edi
call esi
test eax, eax
je 0x42afd0
call dword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
call fcn.004350a0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043574b
mov esp, ebp
pop ebp
ret