Function at 0x180095870
Capabilities:
Get common file path

Disassembly:
push rbx
push r12
push r13
push r14
push r15
sub rsp, 0x5a0
mov rax, qword [0x1801dc960]
xor rax, rsp
mov qword [rsp + 0x570], rax
mov r15, qword [rsp + 0x600]
mov r12d, edx
mov rbx, rcx
lea rdx, [sym.vrvhook64.dll_MyCreateFileA]
lea rcx, [0x18028d500]
mov r14, r9
mov r13d, r8d
call fcn.18000dae0
test rax, rax
je 0x180095b05
mov rcx, rax
mov qword [rsp + 0x598], rbp
mov qword [rsp + 0x588], rdi
call fcn.18000d7e0
mov rbp, rax
test rbx, rbx
je 0x180095b4a
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 0x104
jae 0x180095b4a
lea rcx, [rsp + 0x41]
xor edx, edx
mov r8d, 0x103
mov qword [rsp + 0x590], rsi
mov byte [rsp + 0x40], al
call fcn.1800f4fb0
lea rcx, [rsp + 0x40]
mov rdx, rbx
sub rcx, rbx
nop
movzx eax, byte [rdx]
inc rdx
mov byte [rcx + rdx - 1], al
test al, al
jne 0x180095930
lea rcx, [rsp + 0x40]
call fcn.1800fd3f0
xor dl, dl
cmp dword [0x1801e3950], 0
je 0x1800959e2
cmp dword [0x1801e4960], 0
mov eax, dword [0x1801e4964]
je 0x180095973
movzx edx, dl
mov ecx, 1
test eax, eax
cmovne edx, ecx
cmp dword [0x1801e59cc], 0
je 0x180095980
test eax, eax
jne 0x180095984
test dl, dl
je 0x1800959e2
cmp byte [rbx], 0
je 0x1800959e2
xor eax, eax
lea rcx, [rsp + 0x152]
xor edx, edx
mov r8d, 0x410
mov word [rsp + 0x150], ax
call fcn.1800f4fb0
lea rax, [rsp + 0x150]
or r9d, 0xffffffff
mov r8, rbx
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], 0x208
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rdx, [rsp + 0x150]
lea rcx, [0x18028dda0]
call fcn.180032180
cmp dword [0x1801f5a20], 1
mov esi, dword [rsp + 0x5f0]
jne 0x180095b26
lea rcx, [rsp + 0x40]
call fcn.1800850e0
test eax, eax
je 0x180095b26
lea rdx, [rsp + 0x40]
lea rcx, [0x1801f5e1c]
xor r8d, r8d
call fcn.180090a60
test eax, eax
jne 0x180095b26
lea rdx, [0x18025cbc0]
mov r8d, 0x104
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rcx, [0x18025cbc0]
call fcn.1800fd3f0
lea rdx, [0x18025cbc0]
lea rcx, [0x1801f5a34]
call fcn.180061120
test eax, eax
jne 0x180095b26
call fcn.180063e90
cmp byte [0x180346010], 0
jne 0x180095aba
lea rcx, [0x180346010]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x180346010]
repne scasb al, byte [rdi]
mov rax, qword [0x18015c9f8]
lea rcx, [0x180346010]
mov qword [rdi - 1], rax
mov eax, dword [0x18015ca00]
mov dword [rdi + 7], eax
movzx eax, word [0x18015ca04]
mov word [rdi + 0xb], ax
call fcn.1800fd3f0
lea rdx, [0x180346010]
lea rcx, [0x18025cbc0]
call fcn.1800f4d08
test rax, rax
jne 0x180095b26
test sil, 1
jne 0x180095ade
test sil, 2
je 0x180095b26
mov ecx, 0xb7
call qword [sym.imp.KERNEL32.dll_SetLastError]
or rax, 0xffffffffffffffff
mov rsi, qword [rsp + 0x590]
mov rbp, qword [rsp + 0x598]
mov rdi, qword [rsp + 0x588]
mov rcx, qword [rsp + 0x570]
xor rcx, rsp
call fcn.1800f4f80
add rsp, 0x5a0
pop r15
pop r14
pop r13
pop r12
pop rbx
ret
mov eax, dword [rsp + 0x5f8]
mov qword [rsp + 0x30], r15
mov r9, r14
mov dword [rsp + 0x28], eax
mov r8d, r13d
mov edx, r12d
mov rcx, rbx
mov dword [rsp + 0x20], esi
call rbp
jmp 0x180095aed
mov eax, dword [rsp + 0x5f8]
mov qword [rsp + 0x30], r15
mov r9, r14
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x5f0]
mov r8d, r13d
mov edx, r12d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call rbp
jmp 0x180095af5