Function at 0x140058850
Capabilities:
Get common file path

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
mov byte [r11 + 0x18], r8b
mov dword [rsp + 0x10], edx
mov qword [r11 + 8], rcx
push rdi
sub rsp, 0x320
mov rax, qword [0x1402bf200]
xor rax, rsp
mov qword [rsp + 0x310], rax
mov edi, dword [r11 + 0x10]
mov rbx, rcx
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0xf8], edi
lea rax, [r11 - 0x228]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, edi
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edx, eax
test eax, eax
jns 0x140058a47
mov eax, edi
and eax, 0xffff00ff
and edi, 0xffff00ff
cmp edi, 0x24
jne 0x1400588f3
mov edx, 0x104
lea rcx, [rsp + 0x100]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x140058af3
cmp eax, 0x104
ja 0x140058b39
jmp 0x140058a47
cmp eax, 0x25
jne 0x140058923
mov edx, 0x104
lea rcx, [rsp + 0x100]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x140058b7c
cmp eax, 0x104
ja 0x140058bc8
jmp 0x140058a47
cmp eax, 0x26
jne 0x140058935
mov rcx, rbx
call fcn.140058c20
jmp 0x140058a8b
cmp eax, 0x2b
jne 0x140058947
mov rcx, rbx
call fcn.140058c90
jmp 0x140058a8b
cmp eax, 0x23
jne 0x14005897e
lea rax, str.Common_AppData
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0xe
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140058740
jmp 0x140058a8b
cmp eax, 0x1a
jne 0x1400589ca
lea rax, str.AppData
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 7
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140058740
mov rax, rbx
jmp 0x140058a8e
cmp eax, 0x1c
jne 0x140058aaf
lea rax, str.Local_AppData
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xd
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140058740
mov rax, rbx
jmp 0x140058a8e
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0
lea rax, [rsp + 0x100]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140058a70
lea rdx, [rsp + 0x100]
mov rcx, rbx
call fcn.14002a920
mov rax, rbx
mov rcx, qword [rsp + 0x310]
xor rcx, rsp
call fcn.14019acb0
mov rbx, qword [rsp + 0x348]
add rsp, 0x320
pop rdi
ret
lea rcx, str.Unable_to_retrieve_a_path_of_the_known_folder____
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], 0x33
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0x30]
lea rcx, [rsp + 0xd8]
call fcn.140058d70
lea rdx, [0x1402b9f88]
lea rcx, [rsp + 0xd8]
call fcn.14019cd80
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Unable_to_retrieve_a_path_of_the_known_folder____
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], 0x33
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0x40]
mov edx, eax
lea rcx, [rsp + 0x58]
call fcn.140058d70
lea rdx, [0x1402b9f88]
lea rcx, [rsp + 0x58]
call fcn.14019cd80
int3
lea rcx, str.Unable_to_retrieve_a_path_of_the_known_folder____
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], 0x33
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0x40]
mov edx, 0xea
lea rcx, [rsp + 0x78]
call fcn.140058d70
lea rdx, [0x1402b9f88]
lea rcx, [rsp + 0x78]
call fcn.14019cd80
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Unable_to_retrieve_a_path_of_the_known_folder____
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], 0x33
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0x40]
mov edx, eax
lea rcx, [rsp + 0x98]
call fcn.140058d70
lea rdx, [0x1402b9f88]
lea rcx, [rsp + 0x98]
call fcn.14019cd80
int3
lea rcx, str.Unable_to_retrieve_a_path_of_the_known_folder____
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], 0x33
lea r9, [rsp + 0xf8]
lea r8, [rsp + 0x40]
mov edx, 0xea
lea rcx, [rsp + 0xb8]
call fcn.140058d70
lea rdx, [0x1402b9f88]
lea rcx, [rsp + 0xb8]
call fcn.14019cd80
int3