Function at 0x14002ce50
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
sub rsp, 0xb0
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rsp + 0xd0], rbx
mov rbx, r8
mov rdi, rdx
mov rbp, rcx
mov ecx, 8
call sub.mfc90u.dll_CSplitterWnd::CSplitterWnd
xor esi, esi
test rax, rax
je 0x14002ce9c
lea rcx, [rsp + 0x60]
mov qword [rax], rcx
jmp 0x14002ce9f
mov rax, rsi
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rsi
mov ecx, 8
call sub.mfc90u.dll_CSplitterWnd::CSplitterWnd
test rax, rax
je 0x14002ced2
lea rcx, [rsp + 0x30]
mov qword [rax], rcx
jmp 0x14002ced5
mov rax, rsi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
test rdi, rdi
je 0x14002d18d
mov dword [rsp + 0x20], esi
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, rbp
call fcn.140025860
test eax, eax
je 0x14002d18d
mov rcx, qword [rbx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14002cf2b
mov rdx, qword [rbx]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov rax, qword [rsp + 0x48]
mov rdi, rax
mov rsi, qword [rsp + 0x50]
cmp rax, rsi
jbe 0x14002cf4d
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
cmp rax, rsi
jbe 0x14002cf5d
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test rbx, rbx
je 0x14002cf69
cmp rbx, qword [rsp + 0x30]
je 0x14002cf6f
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp rdi, rsi
je 0x14002cfe1
test rbx, rbx
jne 0x14002cf84
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor r11d, r11d
jmp 0x14002cf87
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x20]
jb 0x14002cf93
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov r8, qword [rsp + 0xe0]
mov rdx, qword [rdi]
mov rcx, rbp
call fcn.14002d5a0
call fcn.14005a250
test eax, eax
jne 0x14002cfe1
test rbx, rbx
jne 0x14002cfbf
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor r11d, r11d
jmp 0x14002cfc2
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x20]
jb 0x14002cfce
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
add rdi, 8
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
jmp 0x14002cf52
mov rax, qword [rsp + 0x78]
mov rsi, rax
mov rbx, qword [rsp + 0x80]
cmp rax, rbx
jbe 0x14002d009
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov rbx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x60]
nop
cmp rax, rbx
jbe 0x14002d01b
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test rdi, rdi
je 0x14002d027
cmp rdi, qword [rsp + 0x60]
je 0x14002d02d
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp rsi, rbx
je 0x14002d18b
test rdi, rdi
jne 0x14002d046
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor r11d, r11d
jmp 0x14002d049
mov r11, qword [rdi]
cmp rsi, qword [r11 + 0x20]
jb 0x14002d055
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov r8, qword [rsi]
mov eax, 0xffff0000
cmp qword [rsp + 0xd8], rax
jne 0x14002d0a6
test rdi, rdi
jne 0x14002d077
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor r11d, r11d
jmp 0x14002d07a
mov r11, qword [rdi]
cmp rsi, qword [r11 + 0x20]
jb 0x14002d086
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov r8, qword [rsp + 0xe0]
mov rdx, qword [rsi]
mov rcx, rbp
call fcn.14002ce50
test eax, eax
je 0x14002d18b
jmp 0x14002d156
mov r9d, 1
mov r8, qword [r8 + 0x60]
lea rdx, [rsp + 0x90]
mov rcx, rbp
call fcn.14002d6a0
nop
mov r8, rax
mov rdx, qword [rsp + 0xe0]
lea rcx, [rsp + 0x98]
call fcn.14003bc60
nop
lea r8, [0x140127cc0]
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.14003bcd0
mov rbx, rax
test rdi, rdi
jne 0x14002d104
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor r11d, r11d
jmp 0x14002d107
mov r11, qword [rdi]
cmp rsi, qword [r11 + 0x20]
jb 0x14002d113
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov r8, rbx
mov rdx, qword [rsi]
mov rcx, rbp
call fcn.14002ce50
test eax, eax
sete bl
lea rcx, [rsp + 0xe8]
call qword [sym.imp.utilities.dll_public:_void___cdecl_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x98]
call qword [sym.imp.utilities.dll_public:_void___cdecl_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x90]
call qword [sym.imp.utilities.dll_public:_void___cdecl_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void____ptr64]
test bl, bl
jne 0x14002d18b
test rdi, rdi
jne 0x14002d166
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor r11d, r11d
jmp 0x14002d169
mov r11, qword [rdi]
cmp rsi, qword [r11 + 0x20]
jb 0x14002d175
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
add rsi, 8
mov rbx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x78]
jmp 0x14002d010
xor esi, esi
call fcn.14005a250
mov ebx, esi
test eax, eax
sete bl
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14002d1a8
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
mov rcx, qword [rsp + 0x30]
call sub.mfc90u.dll_CStatusBar::CStatusBar
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14002d1d1
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rsi
mov rcx, qword [rsp + 0x60]
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov eax, ebx
mov rbx, qword [rsp + 0xd0]
add rsp, 0xb0
pop rdi
pop rsi
pop rbp
ret