Function at 0x140004e0c
Capabilities:
Get common file path

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x268]
sub rsp, 0x368
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rax, qword [0x14001cf10]
xor rax, rsp
mov qword [rbp + 0x250], rax
mov edi, r8d
mov r12, rdx
mov r13, rcx
mov rdx, r9
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
nop
mov ecx, dword [rbp + 0x2d8]
xor ebx, ebx
sub ecx, 2
je 0x140004eb0
dec ecx
je 0x140004ea7
sub ecx, 2
je 0x140004e9e
dec ecx
je 0x140004e95
dec ecx
je 0x140004e8c
dec ecx
je 0x140004e83
mov word [rsp + 0x50], bx
jmp 0x140004ec2
lea rdx, str..fmp
jmp 0x140004eb7
lea rdx, str..dbx
jmp 0x140004eb7
lea rdx, str..pat
jmp 0x140004eb7
lea rdx, str..dwg
jmp 0x140004eb7
lea rdx, str..ttf
jmp 0x140004eb7
lea rdx, str..shx
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCR110.dll_wcscpy]
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCR110.dll_wcslen]
mov esi, 0x2e
test rax, rax
jne 0x140004f1f
mov edx, esi
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110u.dll_Ordinal_12395]
mov ecx, eax
test eax, eax
jle 0x140004f1f
mov rax, qword [rsp + 0x30]
mov r8d, dword [rax - 0x10]
sub r8d, ecx
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110u.dll_Ordinal_12432]
mov rdx, qword [rax]
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCR110.dll_wcscpy]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
lea rdx, str..pat
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCR110.dll_wcscmp]
test eax, eax
sete r15b
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, edi
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
je 0x140004f71
cmp eax, edi
jb 0x1400050eb
mov ebx, 7
jmp 0x1400050eb
mov edx, esi
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110u.dll_Ordinal_12395]
mov r14d, eax
mov edx, 0x5c
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110u.dll_Ordinal_12395]
mov esi, eax
test r14d, r14d
js 0x140004fc6
mov r8d, r14d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110u.dll_Ordinal_7902]
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110u.dll_Ordinal_1492]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
test esi, esi
js 0x140005004
mov rax, qword [rsp + 0x30]
mov r8d, dword [rax - 0x10]
sub r8d, esi
dec r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110u.dll_Ordinal_12432]
mov rdx, qword [rax]
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCR110.dll_wcscpy]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
jmp 0x140005014
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCR110.dll_wcscpy]
test r15b, r15b
je 0x14000505f
mov rcx, r13
call fcn.140004848
mov rsi, rax
mov rcx, rax
call qword [sym.imp.MSVCR110.dll_wcslen]
test rax, rax
je 0x14000505f
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, edi
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
jne 0x140004f5f
mov rcx, r13
call fcn.140004758
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r12
mov r9d, edi
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
jne 0x140004f5f
mov edx, 0x105
lea rcx, [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x1400050e6
lea rdx, str.Fonts
lea rcx, [rbp + 0x40]
call qword [sym.imp.MSVCR110.dll_wcscat]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, edi
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
jne 0x140004f5f
mov ebx, 0x4c
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
mov eax, ebx
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.14000d430
add rsp, 0x368
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret