Function at 0x1800516c0
Capabilities:
Get common file path

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
push rdi
sub rsp, 0x340
mov rax, qword [0x18007b080]
xor rax, rsp
mov qword [rsp + 0x330], rax
mov edx, 0x104
lea rcx, [rsp + 0x220]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rcx, [rsp + 0x220]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashA]
nop
lea rax, [rsp + 0x20]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x20]
call fcn.1800515a0
mov rcx, rax
call fcn.180006b20
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_FindWindowA]
mov qword [rsp + 0x28], rax
cmp dword [rsp + 0x350], 0
je 0x18005177d
cmp qword [rsp + 0x28], 0
je 0x18005176c
xor r9d, r9d
xor r8d, r8d
mov edx, 0x12
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.USER32.dll_PostMessageA]
nop
jmp 0x180051778
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
jmp 0x180051b22
cmp dword [rsp + 0x358], 0
je 0x180051902
cmp qword [rsp + 0x28], 0
jne 0x1800518f1
lea rax, [rsp + 0x21]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x22]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x21]
call fcn.180051330
mov rcx, rax
call fcn.180006ae0
mov rdx, rax
lea rcx, [rsp + 0x158]
call fcn.180008f40
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x138]
call fcn.180008f40
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x22]
call fcn.180051470
mov rcx, rax
call fcn.180006b00
mov rdx, rax
lea rcx, [rsp + 0x118]
call fcn.180008f40
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x58], rax
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0xf8]
call fcn.180011880
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x70], rax
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0xd8]
call fcn.180011880
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x80]
call fcn.180008cd0
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.180055dc0
nop
lea rcx, [rsp + 0xd8]
call fcn.180008dd0
nop
lea rcx, [rsp + 0xf8]
call fcn.180008dd0
nop
lea rcx, [rsp + 0x118]
call fcn.180008dd0
nop
lea rcx, [rsp + 0x138]
call fcn.180008dd0
nop
lea rcx, [rsp + 0x158]
call fcn.180008dd0
nop
jmp 0x1800518fd
mov ecx, 0x1392
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
jmp 0x180051b22
cmp dword [rsp + 0x360], 0
je 0x180051add
xor r9d, r9d
xor r8d, r8d
mov edx, 0x12
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.USER32.dll_PostMessageA]
nop
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
cmp dword [rsp + 0x30], 0x103
je 0x180051927
lea rax, [rsp + 0x23]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x24]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x23]
call fcn.1800510c0
mov rcx, rax
call fcn.1800069f0
mov rdx, rax
lea rcx, [rsp + 0x1f8]
call fcn.180008f40
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xb8], rax
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x1d8]
call fcn.180008f40
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x24]
call fcn.180051200
mov rcx, rax
call fcn.180006ac0
mov rdx, rax
lea rcx, [rsp + 0x1b8]
call fcn.180008f40
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xa8], rax
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x198]
call fcn.180011880
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xc0], rax
mov r8, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x178]
call fcn.180011880
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xd0], rax
mov rcx, qword [rsp + 0xd0]
call fcn.180008cd0
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.180055dc0
nop
lea rcx, [rsp + 0x178]
call fcn.180008dd0
nop
lea rcx, [rsp + 0x198]
call fcn.180008dd0
nop
lea rcx, [rsp + 0x1b8]
call fcn.180008dd0
nop
lea rcx, [rsp + 0x1d8]
call fcn.180008dd0
nop
lea rcx, [rsp + 0x1f8]
call fcn.180008dd0
nop
jmp 0x180051b22
cmp dword [rsp + 0x368], 0
je 0x180051b16
cmp qword [rsp + 0x28], 0
je 0x180051b08
xor r9d, r9d
xor r8d, r8d
mov edx, 0x10
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.USER32.dll_PostMessageA]
nop
jmp 0x180051b14
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
jmp 0x180051b22
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x330]
xor rcx, rsp
call fcn.180015ab0
add rsp, 0x340
pop rdi
ret