Function at 0x151001970
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x40], 0
lea r9, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
lea rcx, [0x151008300]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
jge 0x1510019a2
xor eax, eax
jmp 0x151001c9c
lea rax, [0x151008ef8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x48], 0xffffffffffffffff
inc qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
cmp word [rax + rcx*2], 0
jne 0x1510019c1
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x50], 0xffffffffffffffff
inc qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x50]
cmp word [rcx + rdx*2], 0
jne 0x1510019ef
mov rcx, qword [rsp + 0x50]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0x70], rax
mov eax, 2
mov rcx, qword [rsp + 0x70]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.151006428
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x38], rax
xor eax, eax
mov rcx, qword [rsp + 0x38]
mov word [rcx], ax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
sub qword [rsp + 0x28], 2
add qword [rsp + 0x28], 2
mov rax, qword [rsp + 0x28]
cmp word [rax], 0
jne 0x151001a5d
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
xor edx, edx
movzx r8d, word [rcx + rdx*2]
mov word [rax + rdx*2], r8w
inc rdx
test r8w, r8w
jne 0x151001a7a
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
sub qword [rsp + 0x30], 2
add qword [rsp + 0x30], 2
mov rax, qword [rsp + 0x30]
cmp word [rax], 0
jne 0x151001a9d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
xor edx, edx
movzx r8d, word [rcx + rdx*2]
mov word [rax + rdx*2], r8w
inc rdx
test r8w, r8w
jne 0x151001aba
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x40], 0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x80]
call fcn.151006420
mov qword [rsp + 0x38], 0
cmp qword [rsp + 0x20], 0
je 0x151001c97
lea rdx, [0x151008f10]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3a8], rax
lea rdx, [0x151008f28]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3f0], rax
lea rdx, [0x151008f48]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c408], rax
lea rdx, [0x151008f68]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c398], rax
lea rdx, [0x151008f88]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3a0], rax
lea rdx, [0x151008fa0]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3c0], rax
lea rdx, [0x151008fb8]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c400], rax
lea rdx, [0x151008fd0]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3b0], rax
lea rdx, [0x151008fe0]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3e0], rax
lea rdx, [0x151008ff0]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3b8], rax
lea rdx, [0x151009020]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3e8], rax
lea rdx, [0x151009030]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3d8], rax
lea rdx, [0x151009048]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3d0], rax
lea rdx, [0x151009068]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3f8], rax
lea rdx, [0x151009078]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x15100c3c8], rax
mov rax, qword [rsp + 0x20]
add rsp, 0x98
ret