Function at 0x4ae020
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ebx
push esi
push edi
mov edi, ecx
mov edx, dword [edi + 0x2e4]
cmp dword [edx + 0x14c], 0
je 0x4ae066
mov esi, dword [edx + 0x144]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4ae060
nop dword [eax + eax]
cmp dword [ecx + 4], 0x5d
je 0x4ae0b5
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x4ae050
mov dword [edx + 0x148], esi
xor edx, edx
mov esi, dword [edi + 0x2e4]
cmp dword [esi + 0x14c], 0
je 0x4ae09d
mov ebx, dword [esi + 0x144]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4ae097
cmp dword [ecx + 4], 0x61
je 0x4ae0c0
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x4ae087
mov dword [esi + 0x148], ebx
xor esi, esi
mov eax, dword [edi + 0x23cc]
cmp eax, 7
ja case.default.0x4ae0ae
jmp dword [eax*4 + 0x4ae36c]
mov dword [edx + 0x148], eax
mov edx, dword [eax + 8]
jmp 0x4ae068
mov dword [esi + 0x148], eax
mov esi, dword [eax + 8]
jmp 0x4ae09f
mov eax, dword [edx]
mov ecx, edx
push str.You_awake_on_the_ground_in_a_strange_village_with_no_memory_of_how_you_arrived_here._n_t_t_t_t_t_t_t_t_tThe_village_you_awake_in_seems_very_old_in_time__You_remember_coming_from_somewhere_much_more_advanced.__n_t_t_t_t_t_t_t_t_tPerhaps_speaking_to_the_villagers_will_help_you_on_your_quest._n_n_t_t_t_t_t_t_t_t_tOne_thing_is_clear__the_village_seems_to_be_surrounded_by_monsters._How_will_you_stop_them_
call dword [eax + 0x30]
push str.datTutorial_Art1.png
add esi, 0x164
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push dword [0x593f94]
push esi
cmp eax, 0xffffffff
je 0x4ae103
push str.datTutorial_Art1.png
call fcn.0045c7d0
jmp 0x4ae2c9
push str.datTutorial_Art.png
call fcn.0045c7d0
jmp 0x4ae2c9
mov eax, dword [edx]
mov ecx, edx
push str.To_move_press_W__up_arrow__or_Left_click_the_tile_space.__n_t_t_t_t_t_t_t_t_tTo_look_around__use_The_A_and_D_keys__left_or_right_keys__or_hold_right_click_and_move_the_mouse_to_move_the_camera.__n_t_t_t_t_t_t_t_t_tUse_1_4_to_open_your_inventories._Many_skills_have_hotkeys._To_use_them__hold_control_and_press_the_associated_key:_n_n___________________________________________________Magic_shortcuts_______________Creative_shortcuts_n___________________________________________________1___Bear_magic__________________o___Swordsmith_expertise_n___________________________________________________2___Wolf_magic__________________c___Claw_expertise_n___________________________________________________3___Eagle_magic________________b___Bladestaff_expertise_n___________________________________________________4___Snake_magic_______________h___Chaos_expertise_n___________________________________________________5___Frog_magic__________________k___Katana_expertise_n___________________________________________________6___Sun_magic___________________n___Mace_expertise_n___________________________________________________7___Moon_magic________________x___Explosives_n___________________________________________________8___Turtle_magic_______________d___Weapon_dismantle_n___________________________________________________9___Evil_magic_n___________________________________________________0___Totem_shatter_n___________________________________________________G___Geomancy_n_n_t_t_t_t_t_t_t_t_tTo_interact_with_players__Npcs__Or_Monsters_you_will_hold_left_click_when_thier_name_flashes_lights_up_green.__n_n_t_t_t_t_t_t_t_t_tTo_sell__trade__or_stash_items_you_will_hold_left_click_and_then_while_holding_hover_to_the_amount_you_wish_to_sell__trade_or_stash._n_t_t_t_t_t_t_t_t_tWhen_dropping_items_you_hold_click_the_ground_to_check_then__sell_items__to_the_ground.
call dword [eax + 0x30]
push str.datTutorial_Art2.png
add esi, 0x164
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push dword [0x593f94]
push esi
cmp eax, 0xffffffff
je 0x4ae103
push str.datTutorial_Art2.png
call fcn.0045c7d0
jmp 0x4ae2c9
mov eax, dword [edx]
mov ecx, edx
push str.Now_as_a_new_player_you_should_visit_the_skills_trainer._They_are_green_and_provides_skills_based_on_the_class_you_chose._n_t_t_t_t_t_t_t_t_tYou_can_use_your_skills_via_the_skills_inventory_4__or_by_pressing_the_associate_hotkey_shown_on_the_previous_page._n_t_t_t_t_t_t_t_t_tAfter_using_a_skill__look_in_the_chat_to_see_important_information._n_n_t_t_t_t_t_t_t_t_tAs_you_skill__you_get_experience_and_skill_levels.__n_t_t_t_t_t_t_t_t_tYour_skill_levels_determine_your_Character_level__or_Clvl_as_its_known_by_players._n_t_t_t_t_t_t_t_t_tAt_certain_Clvl_milestones__you_can_progress_to_a_new_age._n_t_t_t_t_t_t_t_t_t_Ages_provide_bonuses_like_more_health__bonus_stats__and_faster_crafting._n_n_t_t_t_t_t_t_t_t_tAt_the_maximum_age__you_will_have_a_bonus_of_9_in_all_stats__n_n_t_t_t_t_t_t_t_t_tStats_grant_challenge_rating_on_doing_tasks._10_is_a_2.0_Bonus_to_that_classes_skilling._While_1_is_a_0.3_bonus.__n_t_t_t_t_t_t_t_t_tHaving_1_is_a_x3_difficulty_and_longer_time_to_make_something_of_the_opposite_class_you_are_not_maining.__n_t_t_t_t_t_t_t_t_tExample_:_going_pure_fighter_and_then_taking_sword_smithing_would_take_x3_longer_to_make_a_weapon.__n_t_t_t_t_t_t_t_t_tDefault_10_in_creative_is_level_6_sword_smithing_to_make_a_weapon._n_t_t_t_t_t_t_t_t_tIf_you_had_1_in_creatve_as_a_pure_10_physical_then_it_would_take_till_18_to_make_a_tin_weapon.
call dword [eax + 0x30]
push str.datTutorial_Art3.png
add esi, 0x164
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push dword [0x593f94]
push esi
cmp eax, 0xffffffff
je 0x4ae103
push str.datTutorial_Art3.png
call fcn.0045c7d0
jmp 0x4ae2c9
mov eax, dword [edx]
mov ecx, edx
push str.If_you_went_10_in_physical__youre_a_fighter._Youre_focused_on_beating_the_foes_up._As_you_age__you_will_attack_faster__n_t_t_t_t_t_t_t_t_tThe_skills_you_seek_are_:__n_t_t_t_t_t_t_t_t_t__Dodge_n_t_t_t_t_t_t_t_t_t__Weapon_masteries_n_n_t_t_t_t_t_t_t_t_tIf_you_did_10_in_magical__Youre_a_wizard_and_can_do_many_utility_tasks_such_as_making_totems__hatching_pet_drakes__n_t_t_t_t_t_t_t_t_tand_making_player_made_dungeons._You_also_do_increased_damage_with_staves__n_t_t_t_t_t_t_t_t_tThe_skills_you_seek_are_:_n_t_t_t_t_t_t_t_t_t__Dodge_n_t_t_t_t_t_t_t_t_t__Animal_and_other_types_of_magic._Bear__turtle__Wolf__Evil__moon_etc_n_t_t_t_t_t_t_t_t_t__Geomancy_n_t_t_t_t_t_t_t_t_t__Totem_shatter__requires_10_magic__n_t_t_t_t_t_t_t_t_t__Drake_mastery_n_t_t_t_t_t_t_t_t_t__Weapon_Masteries
call dword [eax + 0x30]
push str.datTutorial_Art4.png
add esi, 0x164
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push dword [0x593f94]
push esi
cmp eax, 0xffffffff
je 0x4ae103
push str.datTutorial_Art4.png
call fcn.0045c7d0
jmp 0x4ae2c9
mov eax, dword [edx]
mov ecx, edx
push str.If_you_put_10_into_Creative_haza_you_have_decided_to_become_a_smither_which_is_a_weapon_maker__bomb_maker__n_t_t_t_t_t_t_t_t_tweapon_breaker_and_are_sought_after_for_making_things.__n_t_t_t_t_t_t_t_t_tThe_skills_you_seek_are_:_n_t_t_t_t_t_t_t_t_t__Dodge_n_t_t_t_t_t_t_t_t_t__Sword_Smithing_n_t_t_t_t_t_t_t_t_t__Explosives_n_t_t_t_t_t_t_t_t_t__Explosives_Mastery_n_t_t_t_t_t_t_t_t_t__Weapon_Experties_n_t_t_t_t_t_t_t_t_t__Weapon_Dismantling_n_t_t_t_t_t_t_t_t_t__Weapon_Masteries
call dword [eax + 0x30]
push str.datTutorial_Art5.png
add esi, 0x164
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push dword [0x593f94]
push esi
cmp eax, 0xffffffff
je 0x4ae103
push str.datTutorial_Art5.png
call fcn.0045c7d0
jmp 0x4ae2c9
mov eax, dword [edx]
mov ecx, edx
push str.If_you_did_10_into_Beast_congratz_you_have_become_a_tamer_of_beasts__however_this_is_also_a_very_challenging_class_as__n_t_t_t_t_t_t_t_t_tyou_must_know_the_game_and_rely_on_two_of_the_four_classes_to_make_your_weapon._Smither_Creative_and_Magician_Wizard.__n_t_t_t_t_t_t_t_t_tYou_must_follow_the_guide_in_taming_or_trial_and_error_your_way_through_it._n_t_t_t_t_t_t_t_t_tYour_weapon_has_charges_like_a_magical_staff_and_needs_remade_as_time_goes_on._n_t_t_t_t_t_t_t_t_tYour_class_requires_gold_dust_to_tame_higher_and_higher_monsters._Pet_energy_is_the_beastmasters_version_of_dodge.__n_t_t_t_t_t_t_t_t_tAs_your_monster_is_your_damage_system_you_will_not_be_able_to_use_pet_drakes__totems__staves__or_attack_on_your_own._n_t_t_t_t_t_t_t_t_tIf_your_monster_kills_an_enemy_that_has_a_higher_tohit_than_your_monsters_def__your_monster_will_level_up__n_t_t_t_t_t_t_t_t_tYou_can_examine_your_monsters_stats_using_the__petstats_command._n_t_t_t_t_t_t_t_t_t_You_must_have_10_in_beast_to_be_a_Tamer_Beast_Master__n_t_t_t_t_t_t_t_t_tThe_skills_you_seek_are_:_n_t_t_t_t_t_t_t_t_t__Pet_energy_n_t_t_t_t_t_t_t_t_t__Taming_n_t_t_t_t_t_t_t_t_t__Pet_Mastery
call dword [eax + 0x30]
push str.datTutorial_Art6.png
add esi, 0x164
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push dword [0x593f94]
push esi
cmp eax, 0xffffffff
je 0x4ae103
push str.datTutorial_Art6.png
call fcn.0045c7d0
jmp 0x4ae2c9
mov eax, dword [edx]
mov ecx, edx
push str.There_are_plenty_of_combos_you_can_make_if_you_wish_to_not_be_pure_and_do_a_mixture_of_things._Some_common_ones_are_:_n_t_t_t_t_t_t_t_t_t__Generalist_4_4_4_1._n__n_t_t_t_t_t_t_t_t_t__Battle_Mage_6_5_1_1__Or__5_6_1_1_n_n_t_t_t_t_t_t_t_t_t__Creative_Fighter_6_1_5_1__Or__5_1_6_1_n_n_t_t_t_t_t_t_t_t_tYou_can_spend_your_stats_however_you_wish_to_create_your_own_experience__but_its_most_common_to_go_10_into_one.
call dword [eax + 0x30]
push str.datTutorial_Art7.png
add esi, 0x164
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push dword [0x593f94]
push esi
cmp eax, 0xffffffff
je 0x4ae103
push str.datTutorial_Art7.png
call fcn.0045c7d0
jmp 0x4ae2c9
mov eax, dword [edx]
mov ecx, edx
push str.If_you_want_to_know_more__or_to_hang_with_staff_and_other_players_check_out_the_social_media_links.__n_n_t_t_t_t_t_t_t_t_tDiscord_:_https:__discord.gg_zh7Hrhv64B_n_n_t_t_t_t_t_t_t_t_tTwitter_X_:_https:__twitter.com_BladeMistr3ss_n_n_t_t_t_t_t_t_t_t_tOr_check_the_steam_community.
call dword [eax + 0x30]
push str.datTutorial_Art8.png
add esi, 0x164
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push dword [0x593f94]
push esi
cmp eax, 0xffffffff
je 0x4ae103
push str.datTutorial_Art8.png
call fcn.0045c7d0
jmp 0x4ae2c9
mov ecx, dword [edi + 0x2b8]
push dword [edi + 0x2e4]
add ecx, 0x140
call fcn.0044f310
mov dword [edi + 0x23cc], 0xffffffff
mov esi, dword [edi + 0x2b8]
cmp dword [esi + 0x14c], 0
je 0x4ae306
mov edx, dword [edi + 0x2e4]
test edx, edx
je 0x4ae306
mov ebx, dword [esi + 0x144]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4ae300
cmp ecx, edx
je 0x4ae35c
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x4ae2f2
mov dword [esi + 0x148], ebx
cmp dword [edi + 0x23cc], 0xffffffff
je 0x4ae320
mov ecx, dword [edi + 0x2b8]
push dword [edi + 0x2e4]
mov eax, dword [ecx]
call dword [eax + 0x14]
push 0x576c70
push str.tipInfo.dat
call fcn.0052537a
mov esi, eax
add esp, 8
test esi, esi
je 0x4ae355
push dword [edi + 0x23cc]
push 0x57bd04
push esi
call fcn.00446630
add esp, 0xc
push esi
call fcn.00525539
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x148], eax
cmp dword [eax + 8], 0
jne 0x4ae320
jmp 0x4ae306