Function at 0x140004700
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x200]
sub rsp, 0x300
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x350], rbx
mov rax, qword [0x140040650]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
movzx ebx, r9b
mov r14, rcx
mov qword [rsp + 0x60], rcx
cmp qword [rdx + 0x18], 8
jb 0x140004753
mov rdx, qword [rdx]
lea rax, vtable.tvhooks::CInterface.0
mov qword [rcx], rax
xor edi, edi
mov qword [rcx + 8], rdi
mov qword [rcx + 0x10], rdi
mov r8d, 0xc8
add rcx, 0x18
call fcn.14000a6d0
test bl, bl
je 0x140004784
mov rcx, qword [r14 + 0x18]
call fcn.14000a640
nop
lea rax, vtable.tvhooks::CDriverInstaller.0
mov qword [r14], rax
mov rax, qword [rbp + 0x260]
mov qword [r14 + 0x20], rax
lea r12, [r14 + 0x28]
mov qword [r12 + 0x18], 7
mov qword [r12 + 0x10], rdi
mov word [r12], di
mov rcx, r14
call fcn.140009290
mov rax, qword [r14 + 8]
test rax, rax
je 0x1400047c9
mov rax, qword [rax]
xor ecx, ecx
call qword [rax + 0x40]
lea rcx, [rbp - 0x48]
call fcn.1400045c0
nop
lea r8, str.x64TVMonitor.inf
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x68]
call fcn.140008940
nop
mov qword [rbp - 0x70], 0xf
mov qword [rbp - 0x78], rdi
mov byte [rsp + 0x78], 0
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x68]
mov rcx, r14
call fcn.1400070b0
lea rbx, [0x140041b40]
or rdi, 0xffffffffffffffff
lea r9, [0x140041b70]
mov r15, qword [rbp - 0x78]
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov rsi, qword [rbx]
cmp qword [rbx + 8], 0x10
jb 0x140004840
mov rcx, qword [rbx - 0x10]
jmp 0x140004844
lea rcx, [rbx - 0x10]
mov r8, r15
cmp rsi, r15
cmovb r8, rsi
test r8, r8
jne 0x140004857
xor eax, eax
jmp 0x140004863
call fcn.14001cbc0
lea r9, [0x140041b70]
cdqe
test rax, rax
jne 0x14000487b
cmp rsi, r15
jae 0x140004873
mov eax, edi
jmp 0x14000487b
xor eax, eax
cmp rsi, r15
setne al
test eax, eax
je 0x1400048a1
add rbx, 0x20
lea rax, [rbx - 0x10]
cmp rax, r9
jne 0x140004820
lea r8, str.CDriverInstaller::c_tor__:_Provided_TVMonitor.inf_file_is_unknown_to_the_loader__Add_to_DB_
mov edx, 0xc8
lea rcx, [r14 + 0x18]
call fcn.14000a820
mov edx, 0x104
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov qword [rsp + 0x38], 7
xor esi, esi
mov qword [rsp + 0x30], rsi
mov word [rsp + 0x20], si
cmp word [rbp - 0x20], si
jne 0x1400048cf
mov edi, esi
jmp 0x1400048dc
lea rax, [rbp - 0x20]
inc rdi
cmp word [rax + rdi*2], si
jne 0x1400048d3
mov r8, rdi
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x20]
call fcn.140002360
nop
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140008a30
mov rbx, rax
cmp r12, rax
je 0x140004934
cmp qword [r12 + 0x18], 8
jb 0x140004916
mov rcx, qword [r12]
call fcn.140018ca8
mov qword [r12 + 0x18], 7
mov qword [r12 + 0x10], rsi
mov word [r12], si
mov rdx, rbx
mov rcx, r12
call fcn.1400084e0
cmp qword [rsp + 0x58], 8
jb 0x140004946
mov rcx, qword [rsp + 0x40]
call fcn.140018ca8
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rsi
mov word [rsp + 0x40], si
cmp qword [rsp + 0x38], 8
jb 0x14000496c
mov rcx, qword [rsp + 0x20]
call fcn.140018ca8
nop
cmp qword [rbp - 0x70], 0x10
jb 0x14000497d
mov rcx, qword [rsp + 0x78]
call fcn.140018ca8
mov qword [rbp - 0x70], 0xf
mov qword [rbp - 0x78], rsi
mov byte [rsp + 0x78], 0
cmp qword [rbp - 0x50], 8
jb 0x14000499e
mov rcx, qword [rbp - 0x68]
call fcn.140018ca8
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], rsi
mov word [rbp - 0x68], si
cmp qword [rbp - 0x30], 8
jb 0x1400049bf
mov rcx, qword [rbp - 0x48]
call fcn.140018ca8
nop
mov rax, r14
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.1400184d0
mov rbx, qword [rsp + 0x350]
add rsp, 0x300
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret