Function at 0x795fc0
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x370
mov rbp, rsp
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x360], 0
mov qword [rbp + 0x358], 0
mov qword [rbp + 0x348], 0
mov qword [rbp + 0x338], 0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0x98], rbp
mov qword [rbp + 0x390], rcx
lea rcx, [rbp + 0xb8]
mov rdx, qword [0x00427d50]
call fcn.004118f0
nop
lea rcx, [rbp + 0xa8]
call fcn.0040f650
cmp byte [0x0085fe64], 0
jne 0x7960b5
cmp byte [0x0085fe65], 0
je 0x7960c8
lea rcx, [rbp + 0xa8]
lea rdx, [0x00796658]
call fcn.0040fd00
cmp byte [0x0085fe64], 0
je 0x7960ef
cmp byte [0x0085fe65], 0
je 0x7960ef
lea rcx, [rbp + 0xa8]
lea rdx, [0x00796684]
call fcn.0040fd00
jmp 0x796102
lea rcx, [rbp + 0xa8]
lea rdx, [0x007966c8]
call fcn.00410ea0
mov rcx, qword [rbp + 0x390]
mov rax, qword [rbp + 0x390]
mov rbx, qword [rax]
call qword [rbx + 0x90]
lea rcx, [rbp + 0x338]
call fcn.004160b0
mov rcx, rax
call sub.shell32.dll_SHGetMalloc
mov rcx, 0xffffffffffecdd15
mov edx, 0x1322eb
call fcn.0078b350
mov rbx, rax
mov rcx, 0xffffffffffef3bdf
mov edx, 0x10c421
call fcn.0078b350
mov rsi, rax
mov rcx, 0xffffffffffe851f9
mov edx, 0x17ae07
call fcn.0078b350
mov rcx, rbx
mov edx, 0x1a
mov r8, rsi
mov r9d, eax
lea rax, [rbp + 0x350]
mov qword [rsp + 0x20], rax
call sub.shell32.dll_SHGetFolderLocation
mov ecx, 0x104
call fcn.00409160
mov qword [rbp + 0x340], rax
mov rcx, qword [rbp + 0x350]
mov rdx, qword [rbp + 0x340]
call sub.shell32.dll_SHGetPathFromIDListW
lea rcx, [rbp + 0x348]
mov rdx, qword [rbp + 0x340]
call fcn.00410ba0
mov rcx, qword [rbp + 0x340]
call fcn.00409190
mov rcx, qword [rbp + 0x338]
mov rdx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x338]
mov rbx, qword [rax]
call qword [rbx + 0x28]
mov dword [rbp + 0xa4], 0
mov rax, qword [rbp + 0x348]
test rax, rax
je 0x796202
mov eax, dword [rax - 4]
mov dword [rbp + 0xa4], eax
mov ecx, 0xfa45c
mov edx, 0xfa45c
call fcn.0078b350
movsxd rcx, dword [rbp + 0xa4]
cmp rcx, rax
jle 0x7962bc
mov dword [rbp + 0xa0], 0
mov rax, qword [rbp + 0x348]
test rax, rax
je 0x796240
mov eax, dword [rax - 4]
mov dword [rbp + 0xa0], eax
lea rcx, [rbp + 0x90]
mov rax, qword [rbp + 0x348]
movsxd rdx, dword [rbp + 0xa0]
movzx rdx, word [rax + rdx*2 - 2]
call fcn.00410b50
lea rcx, [rbp + 0x88]
lea rdx, [0x0079670c]
mov r8d, 0x1e2040
call fcn.0078b4d0
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x88]
call fcn.00411180
test eax, eax
je 0x7962bc
lea rcx, [rbp + 0x80]
lea rdx, [0x0079674c]
mov r8d, 0x117a0a
call fcn.0078b4d0
lea rcx, [rbp + 0x348]
mov rdx, qword [rbp + 0x80]
call fcn.00410ea0
lea rcx, [rbp + 0x78]
lea rdx, [0x00796788]
mov r8d, 0x136119
call fcn.0078b4d0
lea rcx, [rbp + 0x348]
mov rdx, qword [rbp + 0x78]
call fcn.00410ea0
lea rcx, [rbp + 0x70]
lea rdx, [0x007967dc]
mov r8d, 0x175816
call fcn.0078b4d0
lea rcx, [rbp + 0x358]
mov rdx, qword [rbp + 0x348]
mov r8, qword [rbp + 0x70]
call fcn.00410f70
nop
mov rcx, qword [rbp + 0x358]
mov dl, 1
call fcn.00434230
test al, al
je 0x796555
lea rcx, [rbp + 0x60]
lea rdx, [0x0079681c]
mov r8d, 0x10a096
call fcn.0078b4d0
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x358]
mov r8, qword [rbp + 0x60]
call fcn.00410f70
mov rcx, qword [rbp + 0x68]
mov edx, 0x10
lea r8, [rbp + 0xb8]
call fcn.00434550
mov ebx, eax
mov rcx, 0xffffffffffece927
mov edx, 0x1316d9
call fcn.0078b350
movsxd rbx, ebx
cmp rbx, rax
jne 0x796536
lea rcx, [rbp + 0x58]
lea rdx, [0x00796864]
mov r8d, 0x1d6f03
call fcn.0078b4d0
lea rcx, [rbp + 0x50]
lea rdx, [0x00796894]
mov r8d, 0x1514e4
call fcn.0078b4d0
lea rcx, [rbp + 0x360]
mov edx, 4
mov r8, qword [rbp + 0x358]
mov r9, qword [rbp + 0x58]
mov rax, qword [rbp + 0xd0]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x28], rax
call fcn.004110a0
lea rcx, [rbp + 0x48]
lea rdx, [0x007968d8]
mov r8d, 0x13194d
call fcn.0078b4d0
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0xd0]
mov r8d, 1
call fcn.00411490
mov ebx, eax
mov rcx, 0xffffffffffea525c
mov edx, 0x15ada5
call fcn.0078b350
movsxd rbx, ebx
cmp rbx, rax
je 0x79650b
mov rcx, qword [rbp + 0x390]
mov rdx, qword [rbp + 0x360]
mov rax, qword [rbp + 0x390]
mov rax, qword [rax]
call qword [rax + 0x78]
jmp 0x79650b
lea rcx, [rbp + 0x40]
lea rdx, [0x00796910]
mov r8d, 0x1c50dc
call fcn.0078b4d0
lea rcx, [rbp + 0x38]
lea rdx, [0x0079693c]
mov r8d, 0x1bcf75
call fcn.0078b4d0
lea rcx, [rbp + 0x360]
mov edx, 4
mov r8, qword [rbp + 0x358]
mov r9, qword [rbp + 0x40]
mov rax, qword [rbp + 0xd0]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x28], rax
call fcn.004110a0
lea rcx, [rbp + 0x30]
lea rdx, [0x00796980]
mov r8d, 0x1533c1
call fcn.0078b4d0
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0xd0]
mov r8d, 1
call fcn.00411490
mov ebx, eax
mov rcx, 0xffffffffffe3f140
mov edx, 0x1c0ec1
call fcn.0078b350
movsxd rbx, ebx
cmp rbx, rax
je 0x79650b
mov rcx, qword [rbp + 0x390]
mov rdx, qword [rbp + 0x360]
mov rax, qword [rbp + 0x390]
mov rax, qword [rax]
call qword [rax + 0x78]
lea rcx, [rbp + 0xb8]
call fcn.004345b0
mov ebx, eax
mov rcx, 0xffffffffffed16d7
mov edx, 0x12e929
call fcn.0078b350
movsxd rbx, ebx
cmp rbx, rax
je 0x79644c
lea rcx, [rbp + 0xb8]
call fcn.004345e0
jmp 0x796555
nop
lea rcx, [rbp + 0x30]
mov edx, 0xd
call fcn.0040f730
lea rcx, [rbp + 0xa8]
call fcn.0040f650
lea rcx, [rbp + 0xb8]
mov rdx, qword [0x00427d50]
call fcn.00411da0
lea rcx, [rbp + 0x338]
call fcn.004160b0
lea rcx, [rbp + 0x348]
call fcn.0040f650
lea rcx, [rbp + 0x358]
mov edx, 2
call fcn.0040f730
lea rsp, [rbp + 0x370]
pop rbx
pop rsi
pop rbp
ret