Function at 0x40e4b9
Capabilities:
Check if file exists

Disassembly:
mov eax, 0x412d78
call fcn.004114d0
sub esp, 0x458
mov eax, dword [0x4211a4]
push ebx
xor eax, ebp
push esi
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x458]
push edi
push eax
mov dword [ebp - 0x460], ecx
call fcn.0040e383
xor ebx, ebx
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x43c]
mov dword [esp], str.XMP_FixCore
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x458]
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
push 0x419194
lea ecx, [ebp - 0x43c]
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call fcn.0040cf80
mov edx, 0x81
xor eax, eax
mov word [ebp - 0x218], bx
mov ecx, edx
lea edi, [ebp - 0x216]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x420], bx
mov ecx, edx
lea edi, [ebp - 0x41e]
rep stosd dword es:[edi], eax
add esp, 0xc
stosw word es:[edi], ax
mov esi, 0x104
push esi
lea eax, [ebp - 0x218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push esi
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.MSVCR71.dll_wcsncpy]
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
add esp, 0xc
push str...Core
lea eax, [ebp - 0x218]
push eax
call esi
push str...Xar
lea eax, [ebp - 0x420]
push eax
call esi
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x218]
push eax
call esi
test eax, eax
je 0x40e747
lea eax, [ebp - 0x420]
push eax
call esi
test eax, eax
je 0x40e747
lea ecx, [ebp - 0x458]
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
push 0x41916c
lea ecx, [ebp - 0x43c]
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call fcn.0040cf80
lea eax, [ebp - 0x464]
push str.Core
push eax
call fcn.0040c300
add esp, 0x14
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x464]
mov ecx, dword [ebp - 0x460]
push edi
lea eax, [ebp - 0x218]
push eax
call fcn.0040d00f
test al, al
lea ecx, [ebp - 0x458]
je 0x40e719
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
push 0x419158
lea ecx, [ebp - 0x43c]
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call fcn.0040cf80
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0xc
push 0xa
call esi
lea eax, [ebp - 0x45c]
push 0x419150
push eax
call fcn.0040c300
pop ecx
pop ecx
mov byte [ebp - 4], 3
push dword [ebp - 0x45c]
mov ecx, dword [ebp - 0x460]
lea eax, [ebp - 0x420]
push eax
call fcn.0040d00f
test al, al
lea ecx, [ebp - 0x458]
je 0x40e6dd
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
push 0x419148
lea ecx, [ebp - 0x43c]
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call fcn.0040cf80
add esp, 0xc
push 0xa
call esi
mov byte [ebp - 4], 2
push dword [ebp - 0x45c]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
mov byte [ebp - 4], 1
push edi
call esi
xor esi, esi
inc esi
jmp 0x40e770
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
push 0x419140
lea ecx, [ebp - 0x43c]
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call fcn.0040cf80
add esp, 0xc
mov byte [ebp - 4], 2
push dword [ebp - 0x45c]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
mov byte [ebp - 4], 1
push edi
call esi
jmp 0x40e76e
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
push 0x419138
lea ecx, [ebp - 0x43c]
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call fcn.0040cf80
add esp, 0xc
mov byte [ebp - 4], 1
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x40e76e
lea ecx, [ebp - 0x458]
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
push 0x4155b0
lea ecx, [ebp - 0x43c]
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call fcn.0040cf80
add esp, 0xc
xor esi, esi
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x43c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x458]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.004113e5
leave
ret