Function at 0x415780
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xedc
mov eax, dword [0x497060]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0
push 0
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_InitProgramLogEx]
add esp, 0xc
push str._tWinMain
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogString]
add esp, 8
call fcn.00444fe0
mov dword [ebp - 0xe9c], eax
mov eax, dword [ebp - 0xe9c]
push eax
push str.EnableProcessDebugPrivilege:__d
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLog]
add esp, 0xc
call fcn.00445090
movzx ecx, al
test ecx, ecx
je 0x4157f1
push str.IsSilentModel:_return_true
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLog]
add esp, 8
mov dword [ebp - 0xc64], 0
xor edx, edx
mov dword [ebp - 0xc60], edx
mov dword [ebp - 0xc5c], edx
mov dword [ebp - 0xc58], edx
lea ecx, [ebp - 0xc54]
call fcn.00408290
lea eax, [ebp - 0xc64]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00415100
add esp, 8
test eax, eax
je 0x4159a7
cmp dword [ebp - 0xc64], 1
jne 0x4158fa
xor edx, edx
mov word [ebp - 0x414], dx
push 0x206
push 0
lea eax, [ebp - 0x412]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0xc60]
push ecx
lea ecx, [ebp - 0xed0]
call fcn.00444960
mov ecx, eax
call fcn.00408270
push eax
push str._sdatacr_08X.dat
lea edx, [ebp - 0x414]
push edx
call fcn.00418de0
add esp, 0x10
lea ecx, [ebp - 0xed0]
call fcn.004082c0
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4158b8
xor dl, dl
lea ecx, [ebp - 0x414]
call fcn.00444900
lea ecx, [ebp - 0x414]
push ecx
push str.command:_delete_file__s__
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLog]
add esp, 0xc
call dword [sym.imp.isafepxy.dll_ISAFE_CloseProgramLog]
mov dword [ebp - 0xe90], 0
lea ecx, [ebp - 0xc64]
call fcn.00415f20
mov eax, dword [ebp - 0xe90]
jmp 0x415f05
cmp dword [ebp - 0xc64], 2
jne 0x415968
mov edx, dword [ebp - 0xc60]
mov dword [0x49b790], edx
mov eax, dword [ebp - 0xc5c]
mov dword [0x49b78c], eax
mov ecx, dword [ebp - 0xc58]
mov dword [0x49b788], ecx
lea edx, [ebp - 0xc54]
push edx
mov ecx, 0x49c06c
call fcn.00410020
mov ecx, 0x49c06c
call fcn.00408270
push eax
mov eax, dword [0x49b788]
push eax
mov ecx, dword [0x49b78c]
push ecx
mov edx, dword [0x49b790]
push edx
push str.command:_action_view:_d__subview:__d__act1:_d__act2:_s_
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLog]
add esp, 0x18
jmp 0x4159a7
cmp dword [ebp - 0xc64], 3
jne 0x4159a7
push str.command:_uninstall_plugin
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogString]
add esp, 8
call dword [sym.imp.isafepxy.dll_ISAFE_CloseProgramLog]
mov dword [ebp - 0xe94], 0
lea ecx, [ebp - 0xc64]
call fcn.00415f20
mov eax, dword [ebp - 0xe94]
jmp 0x415f05
call fcn.00414ec0
test eax, eax
jne 0x4159d6
call dword [sym.imp.isafepxy.dll_ISAFE_CloseProgramLog]
mov dword [ebp - 0xe8c], 0
lea ecx, [ebp - 0xc64]
call fcn.00415f20
mov eax, dword [ebp - 0xe8c]
jmp 0x415f05
push str.GlobalInit
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogString]
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.00416440
mov ecx, eax
call fcn.00457d00
push str.iSafe
call fcn.004164c0
mov ecx, eax
call fcn.00457c10
push 1
lea ecx, [ebp - 0xc9c]
call fcn.00414b20
lea ecx, [ebp - 0xc9c]
call fcn.00416640
lea ecx, [ebp - 0xc9c]
push ecx
call fcn.00414a80
mov ecx, eax
call fcn.004278f0
lea edx, [ebp - 0xc9c]
mov dword [ebp - 0xe88], edx
push 1
lea ecx, [ebp - 0xc38]
call fcn.00402770
lea eax, [ebp - 0xc38]
push eax
mov ecx, dword [ebp - 0xe88]
call fcn.004166a0
push 1
lea ecx, [ebp - 0xc3c]
call fcn.00402770
lea ecx, [ebp - 0xc3c]
push ecx
mov ecx, dword [ebp - 0xe88]
call fcn.004166c0
jmp 0x415a89
lea ecx, [ebp - 0xc38]
call fcn.00416820
lea edx, [ebp - 0xc3c]
push edx
lea ecx, [ebp - 0xc38]
call fcn.004163d0
movzx eax, al
test eax, eax
je 0x415af8
lea ecx, [ebp - 0xc38]
call fcn.00416800
push eax
lea ecx, [ebp - 0xccc]
call fcn.00415f60
lea ecx, [ebp - 0xccc]
call fcn.00408270
push eax
push str.ReplaceDbFile:__s
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLog]
add esp, 0xc
lea ecx, [ebp - 0xcb4]
push ecx
lea edx, [ebp - 0xccc]
push edx
call fcn.004154e0
add esp, 8
lea ecx, [ebp - 0xccc]
call fcn.00415fd0
jmp 0x415a7e
call fcn.00414a80
mov ecx, eax
call fcn.00427830
push str.CheckDbNewFile
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogString]
add esp, 8
push str.initDB
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogString]
add esp, 8
lea ecx, [ebp - 0xc7c]
call fcn.00444960
xor eax, eax
mov word [ebp - 0x824], ax
push 0x206
push 0
lea ecx, [ebp - 0x822]
push ecx
call sub.MSVCR110.dll_memset
add esp, 0xc
push str.skin2_app_style_style_new.xml
lea ecx, [ebp - 0xc7c]
call fcn.00408270
push eax
lea edx, [ebp - 0x824]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
xor eax, eax
mov word [ebp - 0xa2c], ax
push 0x206
push 0
lea ecx, [ebp - 0xa2a]
push ecx
call sub.MSVCR110.dll_memset
add esp, 0xc
push str.skin2_appimage_new_resource.xml
lea ecx, [ebp - 0xc7c]
call fcn.00408270
push eax
lea edx, [ebp - 0xa2c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
xor eax, eax
mov word [ebp - 0x20c], ax
push 0x206
push 0
lea ecx, [ebp - 0x20a]
push ecx
call sub.MSVCR110.dll_memset
add esp, 0xc
push 0x46e3bc
lea ecx, [ebp - 0xc7c]
call fcn.00408270
push eax
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
xor eax, eax
mov word [ebp - 0xc34], ax
push 0x206
push 0
lea ecx, [ebp - 0xc32]
push ecx
call sub.MSVCR110.dll_memset
add esp, 0xc
push str.skin2_applayout_newmsgbox.xml
lea ecx, [ebp - 0xc7c]
call fcn.00408270
push eax
lea edx, [ebp - 0xc34]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0
lea eax, [ebp - 0xc34]
push eax
push 0
lea ecx, [ebp - 0xa2c]
push ecx
lea edx, [ebp - 0x824]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::COUIManager::Initialize_struct_HINSTANCE_____wchar_t___wchar_t___wchar_t___wchar_t___bool_]
mov byte [ebp - 0xe6d], al
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::OGLOBAL_DATA____cdecl_OUI::OGLOBAL_DATA::GetGlobalData_void_]
mov dword [eax + 0x44], 0x14
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::OGLOBAL_DATA____cdecl_OUI::OGLOBAL_DATA::GetGlobalData_void_]
mov dword [eax + 0x24], 0xedd59f
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::OGLOBAL_DATA____cdecl_OUI::OGLOBAL_DATA::GetGlobalData_void_]
mov dword [eax + 0x20], 0xedd59f
movzx ecx, byte [ebp - 0xe6d]
push ecx
push str.Initialize_OUI:__d
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLog]
add esp, 0xc
push 0x46e440
lea ecx, [ebp - 0xeb8]
call fcn.00410860
lea ecx, [ebp - 0xeb8]
call fcn.00443030
mov dword [ebp - 0xe84], eax
lea ecx, [ebp - 0xeb8]
call fcn.004082c0
cmp dword [ebp - 0xe84], 0
jne 0x415cd9
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
movzx edx, ax
mov dword [ebp - 0xe7c], edx
jmp 0x415ce5
mov eax, dword [ebp - 0xe84]
mov dword [ebp - 0xe7c], eax
mov cx, word [ebp - 0xe7c]
mov word [ebp - 0xe74], cx
movzx edx, word [ebp - 0xe74]
push edx
call fcn.00416410
mov ecx, eax
call fcn.004583d0
mov dword [ebp - 0xe78], eax
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0xea0], esp
push 0
mov eax, dword [ebp - 0xe78]
push eax
call fcn.004165c0
push eax
push 0x41dc10
lea ecx, [ebp - 0xedc]
push ecx
call fcn.00418e10
add esp, 4
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov ecx, esi
call fcn.00418e60
call fcn.00406e80
mov ecx, eax
call fcn.00455780
mov ecx, dword [ebp - 0xe78]
push ecx
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::OSTRING_TABLE____cdecl_OUI::OSTRING_TABLE::GetStringTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::OSTRING_TABLE::UpdateStringTableXML_wchar_t_const___wchar_t_const__]
movzx eax, al
test eax, eax
jne 0x415de5
mov ecx, dword [ebp - 0xe78]
push ecx
push str.Failed_to_find_system_language:__s
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLog]
add esp, 0xc
push 0x46e444
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::OSTRING_TABLE____cdecl_OUI::OSTRING_TABLE::GetStringTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::OSTRING_TABLE::UpdateStringTableXML_wchar_t_const___wchar_t_const__]
movzx eax, al
test eax, eax
jne 0x415de5
push str.Failed_to_find_default_language:_en_us
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogString]
add esp, 8
push 0x46e4e8
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::OSTRING_TABLE____cdecl_OUI::OSTRING_TABLE::GetStringTable_void_]
mov ecx, eax
call dword [sym.imp.ouilibx.dll_public:_bool___thiscall_OUI::OSTRING_TABLE::UpdateStringTableXML_wchar_t_const___wchar_t_const__]
push str.UpdateStringTableXML
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogString]
add esp, 8
xor edx, edx
mov word [ebp - 0x61c], dx
push 0x206
push 0
lea eax, [ebp - 0x61a]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
push str.skin2_applayout_newmaindlg.xml
lea ecx, [ebp - 0xc7c]
call fcn.00408270
push eax
lea ecx, [ebp - 0x61c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
xor ecx, ecx
call fcn.00450ec0
push 1
lea ecx, [ebp - 0xe6c]
call fcn.00415ff0
push 0
lea edx, [ebp - 0x61c]
push edx
push str.GlobalMAINWND_BB0D08B2_A907_45ec_A04A_8A6ADD1BEA56
lea ecx, [ebp - 0xe6c]
call fcn.00431070
lea eax, [ebp - 0xe6c]
mov dword [0x49b794], eax
lea ecx, [ebp - 0xe6c]
call dword [sym.imp.ouilibx.dll_public_virtual:_int___thiscall_OUI::COVDialog::DoModal_void_]
mov dword [0x49b794], 0
call dword [sym.imp.ouilibx.dll_public:_static_class_OUI::COUIManager____cdecl_OUI::COUIManager::GetUIManager_void_]
mov dword [ebp - 0xe80], eax
mov ecx, dword [ebp - 0xe80]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xe80]
mov eax, dword [edx]
call eax
push str.Uninitialize_OUI
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogString]
add esp, 8
call fcn.00414f60
push str.GlobalClean
push 0xffffffffffffffff
call dword [sym.imp.isafepxy.dll_ISAFE_WriteProgramLogString]
add esp, 8
call dword [sym.imp.isafepxy.dll_ISAFE_CloseProgramLog]
mov dword [ebp - 0xe98], 0
lea ecx, [ebp - 0xe6c]
call fcn.00431200
lea ecx, [ebp - 0xc7c]
call fcn.004082c0
lea ecx, [ebp - 0xc9c]
call fcn.00415f40
lea ecx, [ebp - 0xc64]
call fcn.00415f20
mov eax, dword [ebp - 0xe98]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00460da6
mov esp, ebp
pop ebp
ret 0x10