Function at 0x140027330
Capabilities:
Get common file path

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0x538]
sub rsp, 0x638
mov ebx, ecx
lea rcx, [0x1400b5158]
call fcn.140033280
test eax, eax
jne 0x14002737d
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140027371
lea r8, str._InstallAudioFilter_AcquireTheMutex_failed.
mov edx, 0x100
call fcn.14002fe30
xor eax, eax
add rsp, 0x638
pop rbx
pop rbp
ret
test ebx, ebx
je 0x1400273a5
call fcn.140028920
test eax, eax
je 0x1400273a5
lea rcx, [0x1400b5158]
call fcn.140033340
mov eax, 1
add rsp, 0x638
pop rbx
pop rbp
ret
mov qword [rsp + 0x650], rsi
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x660], rdi
xor edx, edx
mov r8d, 0x200
mov qword [rsp + 0x630], r14
call fcn.140038310
xor edx, edx
lea rcx, [rbp + 0x330]
mov r8d, 0x200
mov esi, 0x57
call fcn.140038310
movsd xmm0, qword [str.amdkmafd]
lea rcx, [rbp + 0x130]
movzx eax, byte [0x1400926f8]
xor edx, edx
mov r8d, 0x200
movsd qword [rbp + 0x330], xmm0
mov byte [rbp + 0x338], al
mov dword [rbp + 0x558], 0x200
call fcn.140038310
mov rcx, qword [0x1400b51d8]
xor edi, edi
mov r14d, edi
mov ebx, edi
call fcn.140017ca0
test eax, eax
je 0x140027469
nop word [rax + rax]
mov rcx, qword [0x1400b51d8]
mov edx, ebx
call fcn.140017670
test eax, eax
jne 0x140027466
mov rcx, qword [0x1400b51d8]
inc ebx
call fcn.140017ca0
cmp ebx, eax
jb 0x140027440
jmp 0x140027469
mov r14d, ebx
mov rcx, qword [0x1400b51d8]
lea r8, [rbp + 0x130]
mov edx, r14d
call fcn.140017fc0
mov r14, qword [rsp + 0x630]
test eax, eax
je 0x1400274cd
lea rax, [rbp + 0x558]
mov r9d, 2
mov qword [rsp + 0x28], rax
lea r8, str.amdkmafd
lea rax, [rsp + 0x30]
mov rcx, 0xffffffff80000002
lea rdx, [rbp + 0x130]
mov qword [rsp + 0x20], rax
call fcn.140032c40
cmp eax, 1
jne 0x1400274cd
cmp byte [rsp + 0x31], 0x3a
je 0x140027541
mov eax, dword [0x140092a80]
lea rcx, [rbp + 0x130]
movups xmm0, xmmword [str.c:program_filesAMD_amdkmafd]
mov edx, 0x200
mov dword [rsp + 0x48], eax
movsd xmm1, qword [0x140092a78]
movzx eax, word [0x140092a84]
movaps xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x4c], ax
movsd qword [rsp + 0x40], xmm1
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
movzx edx, byte [rsp + 0x30]
test eax, eax
movzx ecx, byte [rbp + 0x130]
cmovne edx, ecx
mov rcx, qword [0x1400b5090]
mov byte [rsp + 0x30], dl
test rcx, rcx
je 0x140027541
lea r8, str.InstallFilterDriver:_The_path_from_the_registry_is_not_correct._Use_default_instead.
mov edx, 2
call fcn.14002ffd0
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], dil
jne 0x140027550
cmp rax, 0x1f3
jae 0x140027747
lea rcx, [rsp + 0x30]
dec rcx
nop dword [rax]
cmp byte [rcx + 1], dil
lea rcx, [rcx + 1]
jne 0x140027570
mov eax, dword [0x140092738]
xor edx, edx
movsd xmm0, qword [str._amdkmafd.inf]
mov r8d, 0x200
movsd qword [rcx], xmm0
mov dword [rcx + 8], eax
movzx eax, word [reloc.dwmapi.dll_Ordinal_102]
mov word [rcx + 0xc], ax
lea rcx, [rbp + 0x130]
call fcn.140038310
lea r9, [rbp + 0x330]
xor r8d, r8d
lea rdx, [rbp + 0x130]
lea rcx, [rsp + 0x30]
call fcn.140025e60
test eax, eax
je 0x140027725
call fcn.140028920
test eax, eax
je 0x14002761c
lea rdx, str.amdkmafd
lea rcx, [rbp + 0x130]
call fcn.140028b50
test eax, eax
je 0x14002761c
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140027615
lea r9, [rbp + 0x130]
mov edx, 2
lea r8, str.InstallAudioFilter:_binary_same__skip_install.
call fcn.14002ffd0
mov esi, edi
jmp 0x140027747
cmp dword [0x1400b5104], 5
mov dword [rbp + 0x558], edi
jl 0x140027646
xor r8d, r8d
lea r9, [rbp + 0x558]
lea rcx, [rbp + 0x130]
lea edx, [r8 + 4]
call qword [sym.imp.DIFXAPI.dll_DriverPackageUninstallA]
xor r8d, r8d
lea r9, [rbp + 0x558]
lea rcx, [rbp + 0x130]
lea edx, [r8 + 0xc]
call qword [sym.imp.DIFXAPI.dll_DriverPackageInstallA]
mov esi, eax
test eax, eax
jne 0x140027706
lea rax, [rbp + 0x130]
mov dword [rsp + 0x28], 0x200
lea r9d, [rsi + 2]
mov qword [rsp + 0x20], rax
lea r8, str.EeuAudioFilterUnInstallPath
mov rcx, 0xffffffff80000002
lea rdx, [0x140089fd8]
call fcn.140033070
lea rdx, str._amdkmafd.inf
lea rcx, [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
mov dword [rsp + 0x28], 0x200
lea r9d, [rsi + 2]
lea r8, str.EeuAudioFilterPackageInstallFolder
mov rcx, 0xffffffff80000002
lea rdx, [0x140089fd8]
mov byte [rax], dil
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.140033070
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140027747
mov r9d, dword [rbp + 0x558]
lea r8, str.InstallAudioFilter:_The_install_using_DriverPackageInstall_is_ok__toReboot_d.
lea edx, [rsi + 2]
call fcn.14002ffd0
jmp 0x140027747
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140027747
lea r8, str.InstallAudioFilter:_The_install_using_DriverPackageInstall_failed.
mov edx, 2
call fcn.14002ffd0
jmp 0x140027747
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140027747
lea r9, [rsp + 0x30]
mov edx, 2
lea r8, str.InstallAudioFilter:_The_CreateInstallPackage__s__function_failed.
call fcn.14002ffd0
lea rcx, [0x1400b5158]
call fcn.140033340
test esi, esi
mov rsi, qword [rsp + 0x650]
sete dil
mov eax, edi
mov rdi, qword [rsp + 0x660]
add rsp, 0x638
pop rbx
pop rbp
ret