Function at 0x408870
Capabilities:
Execute command
Set registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40bf43
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x48
mov eax, dword [0x412040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
push 0x40e694
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov eax, dword fs:[0x2c]
add esp, 4
mov esi, dword [eax]
mov eax, dword [0x4127d4]
mov dword [ebp - 0x24], esi
cmp eax, dword [esi + 4]
jle 0x408a9d
push 0x4127d4
call fcn.0040a808
add esp, 4
cmp dword [0x4127d4], 0xffffffff
jne 0x408a9d
mov dword [ebp - 4], 0
xor eax, eax
xor edi, edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], eax
mov esi, edi
mov eax, dword [0x41270c]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x18], esi
sub eax, dword [0x412708]
je 0x408950
push eax
lea ecx, [ebp - 0x3c]
call fcn.004039f0
mov esi, dword [0x41270c]
mov eax, dword [0x412708]
sub esi, eax
mov edi, dword [ebp - 0x3c]
push esi
push eax
push edi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x34]
add esp, 0xc
add esi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x2c], 8
push str.Mixer
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 1
call fcn.00403310
mov byte [ebp - 4], 2
lea eax, [ebp - 0x54]
push eax
mov ecx, 0x412768
mov dword [0x41275c], 0x40400000
mov dword [0x412760], 0x40400000
mov dword [0x412764], 1
call fcn.00403420
mov byte [ebp - 4], 3
sub esi, dword [ebp - 0x18]
mov dword [0x412780], 0
mov dword [0x412784], 0
mov dword [0x412788], 0
mov dword [ebp - 0x1c], esi
je 0x4089f3
push esi
mov ecx, 0x412780
call fcn.004039f0
push dword [ebp - 0x1c]
mov esi, dword [0x412780]
push dword [ebp - 0x18]
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x1c]
add esp, 0xc
add eax, esi
mov dword [0x412784], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x40]
mov dword [0x41278c], 6
mov dword [0x412790], 8
mov byte [0x412794], 0
cmp ecx, 0xf
jbe 0x408a42
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x408a38
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408a69
push ecx
push edx
call fcn.0040a75b
add esp, 8
mov byte [ebp - 4], 0
test edi, edi
je 0x408a79
mov ecx, dword [ebp - 0x20]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x408a6f
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x408a6f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edi
call fcn.0040a75b
add esp, 8
push 0x40d530
call fcn.0040a746
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x4127d4
call fcn.0040a7b7
mov esi, dword [ebp - 0x24]
add esp, 4
mov eax, dword [0x4127d8]
cmp eax, dword [esi + 4]
jle 0x408b58
push 0x4127d8
call fcn.0040a808
add esp, 4
cmp dword [0x4127d8], 0xffffffff
jne 0x408b58
mov dword [ebp - 4], 4
lea eax, [ebp - 0x18]
lea edi, [ebp - 0x15]
mov word [ebp - 0x18], 0x4a5e
mov byte [ebp - 0x16], 0x75
mov dword [0x4127c8], 0
mov dword [0x4127cc], 0
mov dword [0x4127d0], 0
sub edi, eax
je 0x408b37
cmp edi, 0x7fffffff
ja 0x408f76
push edi
mov ecx, 0x4127c8
call fcn.004072e0
mov esi, dword [0x4127c8]
lea eax, [ebp - 0x18]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov esi, dword [ebp - 0x24]
mov dword [0x4127cc], eax
push 0x40d4d0
call fcn.0040a746
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x4127d8
call fcn.0040a7b7
add esp, 4
mov eax, dword [0x412798]
cmp eax, dword [esi + 4]
jle 0x408bb2
push 0x412798
call fcn.0040a808
add esp, 4
cmp dword [0x412798], 0xffffffff
jne 0x408bb2
push 0x4127c8
mov ecx, 0x41279c
mov dword [ebp - 4], 5
call fcn.00406a10
push 0x40d4c0
call fcn.0040a746
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x412798
call fcn.0040a7b7
add esp, 4
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Welcome_to_the_tutorial__To_skip_and_get_right_into_the_game__press_j.
call fcn.00403760
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Otherwise__press_any_other_button_to_continue_
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._Dont_worry__you_can_always_go_through_the_tutorial_again_by_pressing_j_at_any_time__
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
call dword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
cmp al, 0x6a
je 0x408f58
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push 0x40e694
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
mov edx, str.The_objective_of_the_game_is_to_serve_as_many_customers_as_you_can_before_the_time_runs_out_
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x40e7d8
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi]
call fcn.00407540
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.The_timer_is_located_at_the_top_of_the_screen_._Followed_by_the_serving_tables_below_it._vvv
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.The_serving_table_has_a_total_of_3_plates_that_you_can_add_dishes_to_and_serve_to_customers.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.A_full_plate_consists_of_3_dishes__and_will_be_created_in_the_kitchen._For_now__this_is_the_register_area.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, edi
call fcn.00409590
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x40e7d8
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.A_completed_plate_will_look_something_like_this._Plate_1_consists_of_food.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x40e99c
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._f__
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._1
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push str.pause
call esi
add esp, 4
push 0x40e694
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
mov edx, str.A_customer_will_have_a_bar_above_them_that_represents_their_patience_meter._Once_empty__theyll_leave_the_cafe__causing_your_online_reviews_to_take_a_hit.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.A_customer_can_also_become_angry_if_they_are_served_the_wrong_plate_so_beware_and_pay_close_attention_
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, 0x41279c
call fcn.00403120
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Those_funny_symbols_represent_various_dishes_that_can_be_created._The_recipe_book_will_always_be_displayed_at_the_top_of_the_screen__no_matter_where_you_are.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, edi
call fcn.00408f80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Dishes_area_created_via_their_recipes_and_use_of_machinery_that_youll_find_in_the_back._These_too_have_timers_so_plan_accordingly_on_what_dishes_to_prepare_and_when.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, 0x41275c
mov byte [0x412794], 1
call fcn.00407540
mov ecx, 0x412780
call fcn.00403070
cmp dword [0x41277c], 0xf
mov edx, 0x412768
push dword [0x412778]
cmova edx, dword [0x412768]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.004064a0
add esp, 4
mov ecx, eax
push 0x403730
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.For_example._This_is_a_mixer__youll_find_other_machines_once_you_swap_over_to_the_kitchen_by_pressing_q.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.At_the_bottom_of_the_screen_in_the_kitchen_is_a_mixing_bowl_that_looks_a_little_something_like:
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str._______
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.You_can_add_onto_this_bowl__and_once_filled_with_3_ingridents__a_dish_will_try_to_be_created._This_will_fail_if_the_recipe_is_incorrect_The_required_machine_is_currently_in_use.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Completed_dishes_will_appear_in_the_saved_dishes_section_and_from_there__you_can_add_onto_a_plate._Note__you_can_delete_plates_by_pressing_a_different_key.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push str.pause
call esi
add esp, 4
push 0x40e694
call esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
mov edx, str.Thats_it_for_the_tutorial._Good_luck_and_remember_to_press_j_if_you_need_to_review_the_instructions_again.
call fcn.00403760
push 0x403730
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push str.pause
call esi
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040a3b7
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00403ad0
int3