Function at 0x14001d7e0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rax, qword [0x14006b020]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov qword [rsp + 0x38], r8
mov rdi, rdx
xor esi, esi
mov dword [rsp + 0x30], esi
lea r13, vtable.CTracePie.0
mov qword [rbp - 0x30], r13
mov qword [rbp + 0x78], rsi
mov word [rbp + 0x80], si
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rbp + 0x78], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x7c], eax
lea r9d, [rsi + 0x3a]
lea r8, str.CFiles::ValidateDllDirectory
lea edx, [rsi + 0x78]
lea rcx, [rbp - 0x28]
call fcn.1400133b0
lea r9d, [rsi + 0x22]
lea r8, str.PIE_Common_Files
lea edx, [rsi + 0x28]
lea rcx, [rbp + 0x50]
call fcn.1400133b0
cmp byte [rbp + 0x81], 1
jne 0x14001d890
lea r8, [0x14005a24c]
lea edx, [rsi + 5]
lea rcx, [rbp - 0x30]
call fcn.1400134a0
lea r14, vtable.CTracePieCommonFiles.0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x60], rsi
movdqa xmm0, xmmword [0x140060680]
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], si
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], si
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], si
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdi + r8*2], 0
jne 0x14001d8f0
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.140009ed0
nop
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x138], rsi
mov word [rbp + 0x140], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rbp + 0x138], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x13c], eax
mov r9d, 0x30
lea r8, str.CFiles::GetSystem32Path
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0x98]
call fcn.1400133b0
mov r9d, 0x22
lea r8, str.PIE_Common_Files
lea edx, [r9 + 6]
lea rcx, [rbp + 0x110]
call fcn.1400133b0
cmp byte [rbp + 0x141], 1
jne 0x14001d993
lea r8, [0x14005a24c]
mov edx, 5
lea rcx, [rbp + 0x90]
call fcn.1400134a0
mov qword [rbp + 0x90], r14
lea r9, [rbp - 0x40]
xor r8d, r8d
xor edx, edx
lea rcx, [0x140046a80]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], si
mov rdx, qword [rbp - 0x40]
nop dword [rax]
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x14001d9d0
mov r8, rbx
lea rcx, [rsp + 0x60]
call fcn.140009ed0
mov ebx, 1
mov dword [rsp + 0x30], ebx
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea r9, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae r9, qword [rsp + 0x60]
lea r8, str.System32_path:__ws
lea edx, [rbx + 3]
lea rcx, [rbp + 0x90]
call fcn.1400134a0
nop
mov qword [rbp + 0x90], r13
cmp byte [rbp + 0x141], bl
jne 0x14001da51
cmp byte [rbp + 0x140], 0
jne 0x14001da51
lea r8, [0x14005a254]
lea edx, [rbx + 4]
lea rcx, [rbp + 0x90]
call fcn.1400134a0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x60]
call fcn.1400083b0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x14001daa2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001da9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001df61
call fcn.140022904
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], si
mov r8d, 0xb
lea rdx, str.driverstore
lea rcx, [rsp + 0x60]
call fcn.140009ed0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x60]
call fcn.140002ab0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x14001db23
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001db1e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001df67
call fcn.140022904
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rcx, qword [rbp - 0x60]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rsp + 0x60]
call fcn.140021258
mov edx, eax
test eax, eax
jne 0x14001db80
mov ecx, dword [rsp + 0x70]
bt ecx, 0xa
jae 0x14001db75
mov eax, dword [rsp + 0x74]
cmp eax, 0xa000000c
jne 0x14001db67
lea ecx, [rdx + 4]
jmp 0x14001db98
cmp eax, 0xa0000003
jne 0x14001db75
mov ecx, 0xa
jmp 0x14001db98
and ecx, 0x10
or ecx, 0x20
shr ecx, 4
jmp 0x14001db98
sub eax, 2
je 0x14001db96
sub eax, 1
je 0x14001db96
sub eax, 0x32
je 0x14001db96
cmp eax, 0x46
mov ecx, esi
jne 0x14001db98
mov ecx, ebx
mov dword [rbp - 0x40], edx
lea rax, [0x14006bbe8]
mov qword [rbp - 0x38], rax
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x40], xmm0
test ecx, ecx
je 0x14001ddd1
cmp ecx, 1
je 0x14001ddd9
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.140008520
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x14001dc0e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001dc09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001df6d
call fcn.140022904
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rbp - 0x70], xmm1
lea rdi, [rsp + 0x40]
mov r11, qword [rsp + 0x40]
mov r15, qword [rsp + 0x58]
cmp r15, 8
cmovae rdi, r11
lea rcx, [rsp + 0x40]
cmovae rcx, r11
mov rax, qword [rsp + 0x50]
lea rsi, [rcx + rax*2]
lea rbx, [rsp + 0x40]
cmovae rbx, r11
cmp rbx, rsi
je 0x14001dc7f
sub rdi, rbx
nop word [rax + rax]
movzx ecx, word [rbx]
call fcn.14002cf94
mov word [rbx + rdi], ax
add rbx, 2
cmp rbx, rsi
jne 0x14001dc60
mov r15, qword [rsp + 0x58]
mov r11, qword [rsp + 0x40]
lea rdi, [rbp - 0x80]
mov r14, qword [rbp - 0x80]
mov r12, qword [rbp - 0x68]
cmp r12, 8
cmovae rdi, r14
lea rax, [rbp - 0x80]
cmovae rax, r14
mov r13, qword [rbp - 0x70]
lea rsi, [rax + r13*2]
lea rbx, [rbp - 0x80]
cmovae rbx, r14
cmp rbx, rsi
je 0x14001dcde
sub rdi, rbx
movzx ecx, word [rbx]
call fcn.14002cf94
mov word [rbx + rdi], ax
add rbx, 2
cmp rbx, rsi
jne 0x14001dcb3
mov r15, qword [rsp + 0x58]
mov r11, qword [rsp + 0x40]
mov r12, qword [rbp - 0x68]
mov r13, qword [rbp - 0x70]
mov r14, qword [rbp - 0x80]
lea r10, [rbp - 0x80]
cmp r12, 8
cmovae r10, r14
lea rbx, [rsp + 0x40]
cmp r15, 8
cmovae rbx, r11
test r13, r13
je 0x14001ddb8
cmp r13, qword [rsp + 0x50]
ja 0x14001dd5b
mov r9, rbx
movzx edi, word [r10]
nop
movzx eax, word [r9]
cmp ax, di
jne 0x14001dd47
mov r8, r13
mov rcx, r10
movzx edx, di
cmp ax, dx
ja 0x14001dd47
cmp r8, 1
je 0x14001dd52
dec r8
add rcx, 2
mov rax, rcx
sub rax, r10
movzx eax, word [rax + r9]
movzx edx, word [rcx]
cmp ax, dx
jae 0x14001dd25
cmp r9, rbx
je 0x14001dd5b
sub r9, 2
jmp 0x14001dd10
sub r9, rbx
cmp r9, 2
jb 0x14001ddb8
lea rax, [rsp + 0x40]
cmp r15, 8
cmovae rax, r11
lea r9, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae r9, qword [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r8, str.Driver_store_location___ws__doesnt_exist_in_the_path___ws_
mov edx, 4
lea rcx, [rbp - 0x30]
call fcn.1400134a0
xor esi, esi
mov eax, esi
mov r15, qword [rsp + 0x58]
mov r11, qword [rsp + 0x40]
mov r12, qword [rbp - 0x68]
mov r14, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x38]
mov dword [rcx], eax
mov ebx, esi
lea r13, vtable.CTracePie.0
jmp 0x14001de13
mov eax, 1
xor esi, esi
mov rcx, qword [rsp + 0x38]
mov dword [rcx], eax
mov ebx, esi
lea r13, vtable.CTracePie.0
jmp 0x14001de13
test edx, edx
jne 0x14001df73
lea r9, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae r9, qword [rbp - 0x60]
lea r8, str.Driverstore_location_is_invalid:__ws
mov edx, 2
lea rcx, [rbp - 0x30]
call fcn.1400134a0
mov ebx, 0xd
mov r15, qword [rsp + 0x58]
mov r11, qword [rsp + 0x40]
mov r12, qword [rbp - 0x68]
mov r14, qword [rbp - 0x80]
cmp r12, 8
jb 0x14001de58
lea rdx, [r12*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x14001de46
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001df81
mov rcx, r14
call fcn.140022904
mov r15, qword [rsp + 0x58]
mov r11, qword [rsp + 0x40]
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], si
cmp r15, 8
jb 0x14001dea3
lea rdx, [r15*2 + 2]
mov rax, r11
cmp rdx, 0x1000
jb 0x14001de9b
add rdx, 0x27
mov r11, qword [r11 - 8]
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001df87
mov rcx, r11
call fcn.140022904
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], si
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x14001def2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001deed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001df5b
call fcn.140022904
movdqa xmm0, xmmword [0x140060680]
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], si
mov qword [rbp - 0x30], r13
cmp byte [rbp + 0x81], 1
jne 0x14001df2f
cmp byte [rbp + 0x80], 0
jne 0x14001df2f
lea r8, [0x14005a254]
mov edx, 5
lea rcx, [rbp - 0x30]
call fcn.1400134a0
nop
mov eax, ebx
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1400223c0
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14002c5b4
nop
call fcn.14002c5b4
int3
call fcn.14002c5b4
int3
call fcn.14002c5b4
int3
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x40]
call fcn.14001c0b0
nop
call fcn.14002c5b4
nop
call fcn.14002c5b4
int3