Function at 0x462170
Capabilities:
Get common file path

Disassembly:
sub rsp, 0x398
mov qword [rsp + 0x390], rbx
mov qword [rsp + 0x388], rbp
mov qword [rsp + 0x380], rsi
mov qword [rsp + 0x378], rdi
mov qword [rsp + 0x370], r12
mov r12, r8
mov rbp, rdx
mov rbx, rcx
mov qword [rsp + 0x48], 0xfffffffffffffffe
call fcn.004545a0
test eax, eax
je 0x462231
mov r8, qword [rbp]
lea rdx, str.CPrepareUninstall_::_FindDeviceINFFile_:_csDeviceID___s_n
lea rcx, [rsp + 0x50]
call fcn.00486850
movabs rdx, 0x203a5952544e45
mov qword [rsp + 0x160], rdx
lea rdi, [rsp + 0x160]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x50]
xor ecx, ecx
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x462200
call fcn.004546e0
mov rcx, rax
call fcn.004545b0
call fcn.004546e0
mov rcx, rax
lea rdx, [rsp + 0x160]
call fcn.004548a0
mov rax, qword [0x004dfd00]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rax
mov edx, 0x104
lea rcx, [rsp + 0x260]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea rdx, str.INF_
lea rcx, [rsp + 0x20]
call fcn.0049b290
mov rdi, rax
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x30]
call fcn.0049b290
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.0049b804
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.0049b31c
nop
lea rcx, [rsp + 0x40]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x30]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x20]
call fcn.0049b1dc
cmp dword [rbx + 4], 0
je 0x46235f
cmp dword [rbx + 8], 5
jne 0x462315
lea rdx, str..INF
lea rcx, [rsp + 0x30]
call fcn.0049b290
nop
mov r8, rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.0049b804
nop
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.0049b31c
nop
lea rcx, [rsp + 0x20]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x30]
call fcn.0049b1dc
jmp 0x46238e
lea rdx, str.OEM.INF
lea rcx, [rsp + 0x30]
call fcn.0049b290
nop
mov r8, rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.0049b804
nop
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.0049b31c
nop
lea rcx, [rsp + 0x20]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x30]
call fcn.0049b1dc
jmp 0x46238e
lea r8, str.OTHER.INF
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.0049b8ec
nop
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.0049b31c
nop
lea rcx, [rsp + 0x20]
call fcn.0049b1dc
mov r9, r12
lea r8, [rsp + 0x28]
mov rdx, rbp
mov rcx, rbx
call fcn.00461a20
mov esi, eax
test eax, eax
jne 0x462465
cmp dword [rbx + 4], eax
je 0x462421
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.0047fc70
lea rdx, str..INF
lea rcx, [rsp + 0x40]
call fcn.0049b290
mov rdi, rax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.0049b290
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.0049b804
nop
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.0049b31c
nop
lea rcx, [rsp + 0x20]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x30]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x40]
call fcn.0049b1dc
jmp 0x462450
lea r8, str..INF
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.0049b8ec
nop
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.0049b31c
nop
lea rcx, [rsp + 0x20]
call fcn.0049b1dc
mov r9, r12
lea r8, [rsp + 0x28]
mov rdx, rbp
mov rcx, rbx
call fcn.00461a20
mov esi, eax
mov rax, qword [rbx + 0x10]
bt dword [rax + 0xb8], 0x13
jae 0x4624de
cmp dword [rbx + 4], 0
je 0x4624de
lea rdx, str..INF
lea rcx, [rsp + 0x30]
call fcn.0049b290
nop
mov r8, rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x20]
call fcn.0049b804
nop
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.0049b31c
nop
lea rcx, [rsp + 0x20]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x30]
call fcn.0049b1dc
mov r9, r12
lea r8, [rsp + 0x28]
mov rdx, rbp
mov rcx, rbx
call fcn.00461a20
mov ecx, 1
test eax, eax
cmovne esi, ecx
call fcn.004545a0
test eax, eax
je 0x462562
mov r8d, esi
lea rdx, str.CPrepareUninstall_::_FindDeviceINFFile_:_bRetVal___d_n
lea rcx, [rsp + 0x50]
call fcn.00486850
movabs rdx, 0x20203a54495845
mov qword [rsp + 0x160], rdx
lea rdi, [rsp + 0x160]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x50]
xor ecx, ecx
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
inc rcx
test al, al
jne 0x462530
call fcn.004546e0
mov rcx, rax
lea rdx, [rsp + 0x160]
call fcn.004548a0
call fcn.004546e0
mov rcx, rax
call fcn.004545c0
nop
lea rcx, [rsp + 0x28]
call fcn.0049b1dc
nop
lea rcx, [rsp + 0x38]
call fcn.0049b1dc
mov eax, esi
mov rbx, qword [rsp + 0x390]
mov rbp, qword [rsp + 0x388]
mov rsi, qword [rsp + 0x380]
mov rdi, qword [rsp + 0x378]
mov r12, qword [rsp + 0x370]
add rsp, 0x398
ret