Function at 0x1400a121c
Capabilities:
Get common file path

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xab0
mov qword [r11 - 0xa20], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x20], rsi
mov rax, qword [0x1401d4618]
xor rax, rsp
mov qword [rsp + 0xaa0], rax
mov dil, r8b
mov byte [rsp + 0x71], r8b
mov rsi, rdx
mov r13, rcx
xor r15d, r15d
mov byte [rsp + 0x70], r15b
lea r12d, [r15 + 7]
mov qword [r11 - 0x9f0], r12
mov qword [r11 - 0x9f8], r15
mov word [r11 - 0xa08], r15w
or rbx, 0xffffffffffffffff
mov r9, rbx
xor r8d, r8d
lea rcx, [r11 - 0xa08]
call fcn.140008a84
nop
lea r14, [0x14025c9a0]
test dil, dil
je 0x1400a132e
mov rdx, r14
cmp qword [0x14025c9b8], 8
cmovae rdx, qword [0x14025c9a0]
cmp qword [rsi + 0x18], 8
jb 0x1400a12ca
mov rcx, qword [rsi]
jmp 0x1400a12cd
mov rcx, rsi
xor r9d, r9d
mov r8, rbx
call fcn.1400076bc
lea rdi, [0x14025c9c0]
mov rdx, rdi
test eax, eax
jne 0x1400a12fb
xor r8d, r8d
mov r9, rbx
lea rcx, [rsp + 0xd0]
call fcn.140008a84
jmp 0x1400a1335
cmp qword [0x14025c9d8], 8
cmovae rdx, qword [0x14025c9c0]
cmp qword [rsi + 0x18], 8
jb 0x1400a1317
mov rcx, qword [rsi]
jmp 0x1400a131a
mov rcx, rsi
xor r9d, r9d
mov r8, rbx
call fcn.1400076bc
test eax, eax
jne 0x1400a1335
mov rdx, r14
jmp 0x1400a12e6
lea rdi, [0x14025c9c0]
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x160], r15
mov word [rsp + 0x150], r15w
mov qword [rsp + 0x148], r12
mov qword [rsp + 0x140], r15
mov word [rsp + 0x130], r15w
call fcn.14002d4a0
test ax, ax
cmove rdi, r14
mov qword [rsp + 0x128], r12
xor r14d, r14d
mov qword [rsp + 0x120], r14
mov word [rsp + 0x110], r14w
mov r9, rbx
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x110]
call fcn.140008a84
nop
lea rdx, [rsp + 0x110]
cmp qword [rsp + 0x128], 8
cmovae rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0xd0]
cmp qword [rsp + 0xe8], 8
cmovae rcx, qword [rsp + 0xd0]
xor r9d, r9d
mov r8, rbx
call fcn.1400076bc
test eax, eax
jne 0x1400a1413
lea r8d, [r14 + 0x15]
lea rdx, str.in_native_system_path
lea rcx, [rsp + 0x130]
call fcn.140008bbc
lea rcx, [rsp + 0x150]
call fcn.140030a1c
jmp 0x1400a1495
xor r9d, r9d
lea r8d, [r9 + 0x29]
lea rdx, [rsp + 0x890]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x1400a180c
cmp word [rsp + 0x890], r14w
je 0x1400a180c
mov r8d, 0x10
lea rdx, str.in_SysWOW64_path
lea rcx, [rsp + 0x130]
call fcn.140008bbc
cmp word [rsp + 0x890], r14w
jne 0x1400a146b
mov rbx, r14
jmp 0x1400a147d
lea rax, [rsp + 0x890]
inc rbx
cmp word [rax + rbx*2], r14w
jne 0x1400a1473
mov r8, rbx
lea rdx, [rsp + 0x890]
lea rcx, [rsp + 0x150]
call fcn.140008bbc
mov rbx, qword [r13]
mov rbx, qword [rbx]
mov rax, qword [r13]
mov qword [rsp + 0xc0], rax
cmp rbx, rax
je 0x1400a17ba
lea r8, [rbx + 0x20]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x198]
call fcn.14000ffc4
nop
lea rcx, [rsp + 0x198]
call fcn.140010638
mov r12b, al
mov qword [rsp + 0x108], 7
mov qword [rsp + 0x100], r14
mov word [rsp + 0xf0], r14w
mov dil, r14b
test al, al
je 0x1400a160e
lea rdx, [rsp + 0x198]
lea rcx, [rsp + 0x278]
call fcn.14002ec30
mov r14, rax
lea rax, [rsp + 0xf0]
cmp rax, r14
je 0x1400a154b
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0xf0]
call fcn.14000867c
mov rdx, r14
lea rcx, [rsp + 0xf0]
call fcn.14000841c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x278]
call fcn.14000867c
lea rax, vtable.RefCounted.0
mov qword [rsp + 0x170], rax
xor r14d, r14d
mov dword [rsp + 0x178], r14d
lea rax, vtable.OVersion.0
mov qword [rsp + 0x170], rax
mov dword [rsp + 0x190], LoadRegTypeLib
mov r8b, 1
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x170]
call fcn.14001d6d4
nop
lea rdx, [rbx + 0x40]
mov r8d, r14d
mov eax, r14d
lea rcx, [rsp + 0x180]
lea r9, [rsp + 0x180]
sub rdx, r9
test eax, eax
jne 0x1400a15e0
mov eax, dword [rdx + rcx + 0x10]
sub eax, dword [rcx]
inc r8d
add rcx, 4
cmp r8d, 3
jbe 0x1400a15c7
test eax, eax
js 0x1400a160b
mov r8d, r14d
mov eax, r14d
lea rcx, [rsp + 0x180]
test eax, eax
jne 0x1400a160e
mov eax, dword [rdx + rcx + 0x10]
sub eax, dword [rcx]
inc r8d
add rcx, 4
cmp r8d, 3
jbe 0x1400a15f0
test eax, eax
jne 0x1400a160e
mov dil, 1
movzx eax, byte [rsp + 0x71]
mov dword [rsp + 0x74], eax
movzx eax, dil
mov dword [rsp + 0x78], eax
movzx eax, r12b
mov dword [rsp + 0x7c], eax
lea rcx, [rbx + 0x40]
lea rdx, [rsp + 0x298]
call fcn.14002fce4
lea rcx, [rsp + 0x110]
mov qword [rsp + 0x68], rcx
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x60], rcx
lea rcx, [rsp + 0x74]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x198]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
lea r9, str.AppLocalLogicalPackages::AreKeyFilesDetectedInSystemFolder:_isKeyFileExisting__s_:__d__expected_path:__s__isKeyFileUpToDate:__d__key_file_version:__s__minimum_version:__s__package_platform__s__for_cross_bitness__d__files_platform__s__os_platform__s
mov edx, reloc.Cabinet.dll_FCIDestroy
mov ecx, 0x8ca3de
lea r8d, [rdx + 0x24]
call fcn.1400a0d70
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x298]
call fcn.14000867c
test r12b, r12b
je 0x1400a1742
test dil, dil
je 0x1400a1742
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0xf0]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x198]
call fcn.14000867c
cmp byte [rbx + 0x19], r14b
jne 0x1400a149c
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], r14b
jne 0x1400a1721
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r14b
je 0x1400a1710
jmp 0x1400a149c
mov rax, qword [rbx + 8]
jmp 0x1400a1734
cmp rbx, qword [rax + 0x10]
jne 0x1400a173a
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], r14b
je 0x1400a1727
mov rbx, rax
jmp 0x1400a149c
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0xf0]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x198]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x110]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x130]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x150]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0xd0]
call fcn.14000867c
xor al, al
jmp 0x1400a183e
mov byte [rsp + 0x70], 1
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x110]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x130]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x150]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0xd0]
call fcn.14000867c
jmp 0x1400a183a
lea r8, str.Unable_to_determine_SysWOW64_directory_via_CSIDL_SYSTEMX86
mov edx, 0x22
lea rcx, [rsp + 0x500]
call fcn.14004599c
lea rdx, [0x1401e3810]
lea rcx, [rsp + 0x500]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov al, byte [rsp + 0x70]
mov rcx, qword [rsp + 0xaa0]
xor rcx, rsp
call fcn.140121d80
lea r11, [rsp + 0xab0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret