Function at 0x140007788
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x540
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x140050110]
xor rax, rsp
mov qword [rsp + 0x530], rax
mov rbx, rcx
call fcn.140008c60
mov r9, qword [rbx + 0xe8]
mov r14d, 1
mov r8, r14
lea edi, [r14 + 0x7f]
mov edx, edi
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, qword [rbx + 0xe8]
xor r8d, r8d
mov edx, edi
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
xor r8d, r8d
lea edx, [rdi - 0x4f]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rax
call fcn.140009f3c
lea r8, [rsp + 0xb0]
lea edx, [rdi - 0x24]
mov rcx, qword [rax + 8]
call qword [sym.imp.GDI32.dll_GetObjectW]
mov dword [rsp + 0xc0], 0x2bc
lea rdi, [rbx + 0xf8]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov rdx, rax
mov rcx, rdi
call fcn.140009f60
mov edx, 0x3ea
mov rcx, rbx
call fcn.14000b900
xor r12d, r12d
cmp rdi, r12
jne 0x140007873
mov r8, r12
jmp 0x140007877
mov r8, qword [rdi + 8]
mov r9, r14
mov edx, 0x30
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r11, qword [0x1400569f0]
cmp dword [r11 - 0x10], r12d
je 0x1400078b4
mov edx, 0x3f8
mov rcx, rbx
call fcn.14000b900
mov rcx, rax
mov rdx, qword [0x1400569f0]
call fcn.14000ba1c
jmp 0x1400078d0
mov edx, 0x3f8
mov rcx, rbx
call fcn.14000b900
mov rcx, rax
lea rdx, str._PRODUCT_
call fcn.14000ba1c
mov edx, 0x3f7
mov rcx, rbx
call fcn.14000b900
mov rsi, rax
mov word [rsp + 0x110], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x112]
call fcn.14001da40
mov r9d, r14d
mov r8d, 0x17
lea rdx, [rsp + 0x110]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea r8, [0x140044c50]
mov edx, 0x104
lea rcx, [rsp + 0x110]
call fcn.14001d288
lea rcx, [rsp + 0x70]
call fcn.1400163d8
nop
xor r8d, r8d
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x70]
call fcn.1400164dc
or r13d, 0xffffffff
cmp eax, r12d
je 0x140007a39
lea rcx, [rsp + 0x70]
call fcn.140016020
mov edi, eax
lea rcx, [rsp + 0x70]
call fcn.140016384
cmp eax, r12d
jne 0x140007a30
mov edx, 0x10
lea rcx, [rsp + 0x70]
mov r8, qword [rsp + 0x70]
call qword [r8 + 0x70]
cmp eax, r12d
je 0x140007a30
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x70]
call fcn.140016a90
mov r9, qword [rax]
xor r8d, r8d
mov edx, 0x18f
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, r13d
sete bpl
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x1400079e5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp bpl, r12b
je 0x140007a30
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.140016a90
mov r9, qword [rax]
xor r8d, r8d
mov edx, 0x180
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x140007a30
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp edi, r12d
jne 0x14000795d
lea rcx, [rsp + 0x70]
call fcn.140016434
mov word [rsp + 0x320], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x322]
call fcn.14001da40
mov r9d, r14d
mov r8d, 2
lea rdx, [rsp + 0x320]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea r8, [0x140044c50]
mov edx, 0x104
lea rcx, [rsp + 0x320]
call fcn.14001d288
lea rcx, [rsp + 0x40]
call fcn.1400163d8
nop
xor r8d, r8d
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x40]
call fcn.1400164dc
cmp eax, r12d
je 0x140007b98
lea rcx, [rsp + 0x40]
call fcn.140016020
mov edi, eax
lea rcx, [rsp + 0x40]
call fcn.140016384
cmp eax, r12d
jne 0x140007b8f
mov edx, 0x10
lea rcx, [rsp + 0x40]
mov r8, qword [rsp + 0x40]
call qword [r8 + 0x70]
cmp eax, r12d
je 0x140007b8f
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140016a90
mov r9, qword [rax]
xor r8d, r8d
mov edx, 0x18f
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, r13d
sete bpl
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x140007b44
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp bpl, r12b
je 0x140007b8f
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x40]
call fcn.140016a90
mov r9, qword [rax]
xor r8d, r8d
mov edx, 0x180
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x140007b8f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp edi, r12d
jne 0x140007abc
lea rcx, [rsp + 0x40]
call fcn.140016434
call fcn.14000b7cc
mov rdx, rbx
mov rcx, qword [rax + 8]
call fcn.140007210
mov eax, r14d
mov rcx, qword [rsp + 0x530]
xor rcx, rsp
call fcn.14001cb20
lea r11, [rsp + 0x540]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret