Function at 0x14004732c
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x3a8]
sub rsp, 0x480
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1400db348]
xor rax, rsp
mov qword [rbp + 0x370], rax
mov r14d, edx
mov ebx, ecx
mov rsi, qword [rbp + 0x3d0]
mov r15, qword [rbp + 0x3d8]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
mov edx, ecx
xor ecx, ecx
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetFolderPathW]
nop dword [rax + rax]
mov edi, eax
xor r12d, r12d
test eax, eax
js 0x140047522
mov ecx, 0x104
mov edx, ecx
lea rax, [rsp + 0x50]
cmp word [rax], r12w
je 0x1400473c6
add rax, 2
sub rdx, 1
jne 0x1400473b6
mov rax, rdx
neg rax
sbb edi, edi
not edi
and edi, 0x80070057
test rdx, rdx
je 0x1400473e3
mov rax, rcx
sub rax, rdx
jmp 0x1400473e6
mov rax, r12
test rdx, rdx
je 0x14004744a
sub rcx, rax
lea rdx, [rsp + 0x50]
lea rdx, [rdx + rax*2]
je 0x14004742e
lea r8, [rax + 0x7ffffefa]
add r8, rcx
lea rax, [0x1400a68c0]
sub rax, rdx
test r8, r8
je 0x14004742e
movzx r9d, word [rax + rdx]
test r9w, r9w
je 0x14004742e
mov word [rdx], r9w
add rdx, 2
dec r8
sub rcx, 1
jne 0x14004740d
lea rax, [rdx - 2]
test rcx, rcx
cmovne rax, rdx
mov word [rax], r12w
neg rcx
sbb edi, edi
not edi
and edi, 0x8007007a
mov rcx, qword [rbp + 0x3a8]
test edi, edi
jns 0x14004746e
mov r9d, edi
lea r8, str.onecoreuap_base_appmodel_search_search_search_service_setup.cxx
mov edx, 0x387
call fcn.140043510
jmp 0x1400475ec
lea rdx, str.file:___
lea rcx, [rsp + 0x30]
call fcn.14001617c
nop
mov rbx, qword [rsp + 0x30]
mov rax, rbx
neg rax
sbb edi, edi
not edi
mov esi, 0x8007000e
and edi, esi
mov rcx, qword [rbp + 0x3a8]
jge 0x1400474a9
mov r9d, edi
mov edx, 0x391
jmp 0x140047501
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.1400452f0
mov rbx, qword [rsp + 0x30]
mov rax, rbx
neg rax
sbb edi, edi
not edi
and edi, esi
mov rcx, qword [rbp + 0x3a8]
jge 0x1400474dc
mov r9d, edi
mov edx, 0x398
jmp 0x140047501
mov qword [rsp + 0x28], r15
mov edx, r14d
mov rcx, rbx
call fcn.140047084
mov edi, eax
mov rcx, qword [rbp + 0x3a8]
test eax, eax
jns 0x14004750e
mov r9d, eax
mov edx, 0x39d
lea r8, str.onecoreuap_base_appmodel_search_search_search_service_setup.cxx
call fcn.140043510
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop dword [rax + rax]
jmp 0x1400475ec
mov rcx, qword [rbp + 0x3a8]
mov dword [rsp + 0x28], ebx
lea rax, str.CSIDL:__d
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, str.onecoreuap_base_appmodel_search_search_search_service_setup.cxx
mov edx, 0x3a4
call fcn.14004b164
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x160]
call sub.msvcrt.dll_memset
mov r8d, 0x104
lea rdx, [rbp + 0x160]
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
nop dword [rax + rax]
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x30]
call fcn.14004b04c
nop
mov r9d, dword [rsi + 0x10]
mov r8, qword [rsi + 8]
mov edx, 0x7df
lea rcx, [rsp + 0x30]
call fcn.14004b0a0
mov dword [rsi + 0x14], eax
mov edx, dword [rsi + 0x10]
mov rcx, rsi
call fcn.140018b7c
mov edx, dword [rsi + 0x10]
mov r8d, dword [rsi + 0x14]
sub edx, r8d
lea rcx, [rax + r8*2]
mov r9d, ebx
lea r8, [0x1400b4870]
call fcn.140003d10
mov rcx, rsi
call fcn.140018b44
nop
lea rcx, [rsp + 0x30]
call fcn.1400299d4
mov eax, edi
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.14002a8b0
lea r11, [rsp + 0x480]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret