Function at 0x42ee60
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x640
mov eax, dword [0x4c33d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov dword [ebp - 0x638], esi
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x63c], ebx
cmp edi, 0x216
jne 0x42ef2b
push dword [esi + 4]
lea ecx, [ebp - 0x640]
push dword [esi]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::COPoint::constructor_int__int_]
lea ecx, [ebp - 0x424]
call dword [sym.imp.ouilibx.dll_public:_void___thiscall_OUI::CORect::constructor_void_]
push 0
lea eax, [ebp - 0x424]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub ecx, dword [esi]
sub edx, eax
cmp eax, dword [ebp - 0x420]
jge 0x42eeec
mov eax, dword [ebp - 0x420]
mov dword [esi + 4], eax
add eax, edx
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x424]
cmp dword [esi], eax
jge 0x42eefd
mov dword [esi], eax
add eax, ecx
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x41c]
cmp dword [esi + 8], eax
jle 0x42ef0f
mov dword [esi + 8], eax
sub eax, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0x418]
cmp dword [esi + 0xc], eax
jle 0x42f072
mov dword [esi + 0xc], eax
sub eax, edx
mov dword [esi + 4], eax
jmp 0x42f072
cmp edi, 3
jne 0x42f072
cmp byte [ebx + 0xd5], 0
je 0x42f072
movzx eax, si
mov dword [ebp - 0x634], eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
mov ebx, esi
push eax
shr ebx, 0x10
call sub.MSVCR110.dll_memset
mov eax, dword [0x4c9770]
add esp, 0xc
test al, 1
jne 0x42ef8b
or eax, 1
push 0x488dc0
mov dword [0x4c9770], eax
call fcn.0047ce4d
add esp, 4
sub esp, 8
lea eax, [ebp - 0x414]
push eax
call fcn.0045a650
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x414]
push str.preference.ini
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0x208
lea eax, [ebp - 0x62c]
push 0
push eax
mov dword [ebp - method.CProfileIni.virtual_0], vtable.CProfileIni.0
call sub.MSVCR110.dll_memset
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x62c]
push 0x104
push eax
call dword [sym.imp.MSVCR110.dll_wcscpy_s]
add esp, 0x18
lea eax, [ebp - 0x62c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x42f03b
push eax
push eax
push 1
push eax
push eax
push eax
lea eax, [ebp - 0x62c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x42f03b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x634]
lea ecx, [ebp - 0x630]
push str.suspend_xpos
push str.suspend
call fcn.0045e660
push ebx
push str.suspend_ypos
push str.suspend
lea ecx, [ebp - 0x630]
call fcn.0045e660
mov ebx, dword [ebp - 0x63c]
push esi
push dword [ebp + 0x10]
mov ecx, ebx
push edi
push dword [ebp - 0x638]
call dword [sym.imp.ouilibx.dll_protected_virtual:_long_int___thiscall_OUI::COVDialog::PreHandleMessage_struct_HWND_____unsigned_int__unsigned_int__long_int_]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047cd06
mov esp, ebp
pop ebp
ret 0x10