Function at 0x140004470
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 - 0x998]
sub rsp, 0xa98
mov rax, qword [0x14001c508]
xor rax, rsp
mov qword [rbp + 0x980], rax
mov edi, r8d
mov r15, rdx
mov r13, rcx
mov rdx, r9
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__2]
nop
mov ecx, dword [rbp + 0xa08]
xor ebx, ebx
lea r14d, [rbx + 0xf]
sub ecx, 1
je 0x14000452d
sub ecx, 1
je 0x140004516
sub ecx, 1
je 0x14000450d
sub ecx, 1
je 0x14000452d
sub ecx, 1
je 0x140004504
sub ecx, 1
je 0x1400044fb
sub ecx, 1
je 0x1400044f2
cmp ecx, 1
jne 0x14000452d
lea r8, str..fmp
jmp 0x14000451d
lea r8, str..dbx
jmp 0x14000451d
lea r8, str..pat
jmp 0x14000451d
lea r8, str..dwg
jmp 0x14000451d
lea r8, str..ttf
jmp 0x14000451d
lea r8, str..shx
mov rdx, r14
lea rcx, [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
jmp 0x140004532
mov word [rsp + 0x48], bx
lea rcx, [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
test rax, rax
jne 0x14000459b
lea edx, [rax + 0x2e]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_COleControl::ReleaseCaches]
mov esi, eax
test eax, eax
jle 0x14000459b
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CMFCPropertyGridProperty::GetHierarchyLevel]
sub eax, esi
mov r8d, eax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_Ordinal_12600]
mov rcx, rax
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r8, rax
mov rdx, r14
lea rcx, [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea rdx, str..pat
lea rcx, [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
test eax, eax
sete r12b
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov rdx, rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, edi
lea r8, [rsp + 0x48]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
jne 0x140004726
lea edx, [rax + 0x2e]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_COleControl::ReleaseCaches]
mov esi, eax
mov edx, 0x5c
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_COleControl::ReleaseCaches]
mov r14d, eax
test esi, esi
js 0x14000463d
mov r8d, esi
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CStringList::InsertBefore]
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea rcx, [rsp + 0x30]
test r14d, r14d
js 0x14000468f
call qword [sym.imp.mfc140u.dll_CMFCPropertyGridProperty::GetHierarchyLevel]
sub eax, r14d
lea r8d, [rax - 1]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_Ordinal_12600]
mov rcx, rax
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r8, rax
mov edx, 0x400
lea rcx, [rbp + 0x180]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
jmp 0x1400046aa
call qword [sym.imp.mfc140u.dll_CDumpContext::operator__]
mov r8, rax
mov edx, 0x400
lea rcx, [rbp + 0x180]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
test r12b, r12b
je 0x1400046f3
mov rcx, r13
call fcn.1400040c4
mov rsi, rax
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
test rax, rax
je 0x1400046f3
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, edi
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x180]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
jne 0x140004726
mov rcx, r13
call fcn.140003fb8
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r15
mov r9d, edi
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x180]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
je 0x140004731
cmp eax, edi
jb 0x14000478d
mov ebx, 7
jmp 0x14000478d
mov esi, operator
mov edx, esi
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x140004788
lea r8, str.Fonts
mov edx, esi
lea rcx, [rsp + 0x70]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, edi
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
jne 0x140004726
mov ebx, 0x4c
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov eax, ebx
mov rcx, qword [rbp + 0x980]
xor rcx, rsp
call fcn.14000df40
add rsp, 0xa98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret