Function at 0x1800016b0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x3d0]
sub rsp, 0x4d0
mov rax, qword [0x1800f9018]
xor rax, rsp
mov qword [rbp + 0x3c0], rax
lea rax, [rbp + 0x1b0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x1a]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x180001a72
lea r8, str.CloudMcloudmusic_reporter.exe
mov edx, 0x104
lea rcx, [rbp + 0x1b0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
xor r14d, r14d
mov qword [rbp + 0x150], r14
mov qword [rbp + 0x160], r14
mov qword [rbp + 0x158], r14
mov qword [rbp + 0x168], r14
mov qword [rbp + 0x180], r14
mov qword [rbp + 0x178], r14
mov qword [rbp + 0x170], r14
mov qword [rbp + 0x198], r14
mov qword [rbp + 0x190], r14
mov qword [rbp + 0x188], r14
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x180001a72
lea rax, [rbp + 0x150]
mov qword [rsp + 0x20], rax
lea r9, [0x1800042e8]
xor edx, edx
lea r8d, [r14 + 1]
lea rcx, [0x1800042f8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x180001a6c
lea rcx, [rbp + 0x18]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp + 0x18]
movups xmmword [rbp - 0x50], xmm0
movsd xmm0, qword [rbp + 0x28]
movsd qword [rsp + 0x58], xmm0
lea rcx, [rbp]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp]
movups xmmword [rbp - 0x60], xmm0
movsd xmm0, qword [rbp + 0x10]
movsd qword [rsp + 0x68], xmm0
lea rcx, [rbp - 0x18]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rbp - 0x40], xmm0
movsd xmm0, qword [rbp - 8]
movsd qword [rsp + 0x50], xmm0
lea rcx, [rbp - 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp + 0x70], xmm0
movsd xmm0, qword [rsp + 0x58]
movsd qword [rbp + 0x80], xmm0
movups xmm0, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x90], xmm0
movsd xmm0, qword [rsp + 0x68]
movsd qword [rbp + 0xa0], xmm0
movups xmm0, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0xb0], xmm0
movsd xmm0, qword [rsp + 0x50]
movsd qword [rbp + 0xc0], xmm0
movups xmm0, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0xd0], xmm0
movsd xmm1, qword [rbp - 0x20]
movsd qword [rbp + 0xe0], xmm1
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
lea rdx, [rbp + 0x70]
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0x90]
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0xd0]
call qword [rax + 0x50]
mov ebx, eax
lea rcx, [rbp - 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp - 0x18]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp + 0x18]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
test ebx, ebx
js 0x180001a5f
lea ecx, [r14 + 0x18]
call fcn.180002c38
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x18000191a
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r14
mov dword [rbx + 0x10], 1
lea rcx, [0x1800044d0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x180001fc0
jmp 0x18000191d
mov rbx, r14
mov qword [rbp + 0x60], rbx
test rbx, rbx
je 0x180002002
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
lea r8, [rbp + 0x160]
mov rdx, qword [rbx]
call qword [rax + 0x38]
mov esi, eax
mov edi, 0xffffffff
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x180001984
mov rcx, qword [rbx]
test rcx, rcx
je 0x180001965
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180001977
call fcn.180002c30
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.180002c30
test esi, esi
js 0x180001a5f
mov qword [rbp + 0x1a0], r14
mov ecx, 0x18
call fcn.180002c38
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1800019dc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r14
mov dword [rbx + 0x10], 1
lea rcx, str.CloudMusicTask
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x180001fcb
jmp 0x1800019df
mov rbx, r14
mov qword [rbp + 0x58], rbx
test rbx, rbx
je 0x180002002
mov rcx, qword [rbp + 0x160]
mov rax, qword [rcx]
lea r8, [rbp + 0x1a0]
mov rdx, qword [rbx]
call qword [rax + 0x68]
mov esi, eax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x180001a41
mov rcx, qword [rbx]
test rcx, rcx
je 0x180001a22
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180001a34
call fcn.180002c30
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.180002c30
test esi, esi
js 0x180001a9e
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x160]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rcx, qword [rbp + 0x3c0]
xor rcx, rsp
call fcn.180002c10
lea r11, [rsp + 0x4d0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
lea r8, [rbp + 0x158]
xor edx, edx
call qword [rax + 0x48]
test eax, eax
js 0x180001a52
mov rcx, qword [rbp + 0x158]
mov rax, qword [rcx]
lea rdx, [rbp + 0x168]
call qword [rax + 0x38]
test eax, eax
js 0x180001b87
mov ecx, 0x18
call fcn.180002c38
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180001b1d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r14
mov dword [rbx + 0x10], 1
lea rcx, str.CloudMusics
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x180001fd6
jmp 0x180001b20
mov rbx, r14
mov qword [rbp - 0x40], rbx
test rbx, rbx
je 0x180002002
mov rcx, qword [rbp + 0x168]
mov rax, qword [rcx]
mov rdx, qword [rbx]
call qword [rax + 0x50]
nop
mov eax, edi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x180001b7a
mov rcx, qword [rbx]
test rcx, rcx
je 0x180001b5b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180001b6d
call fcn.180002c30
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.180002c30
mov rcx, qword [rbp + 0x168]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x158]
mov rax, qword [rcx]
lea rdx, [rbp + 0x180]
call qword [rax + 0x48]
test eax, eax
js 0x180001cb6
mov rcx, qword [rbp + 0x180]
mov rax, qword [rcx]
lea r8, [rbp + 0x178]
mov edx, 9
call qword [rax + 0x50]
test eax, eax
js 0x180001ca9
mov rcx, qword [rbp + 0x178]
mov rax, qword [rcx]
lea r8, [rbp + 0x170]
lea rdx, [0x180004308]
call qword [rax]
test eax, eax
js 0x180001c9c
mov ecx, 0x18
call fcn.180002c38
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180001c2f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r14
mov dword [rbx + 0x10], 1
lea rcx, [0x1800043c0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x180001fe1
jmp 0x180001c32
mov rbx, r14
mov qword [rbp - 0x60], rbx
test rbx, rbx
je 0x180002002
mov rcx, qword [rbp + 0x170]
mov rax, qword [rcx]
mov rdx, qword [rbx]
call qword [rax + 0xb8]
nop
mov eax, edi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x180001c8f
mov rcx, qword [rbx]
test rcx, rcx
je 0x180001c70
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180001c82
call fcn.180002c30
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.180002c30
mov rcx, qword [rbp + 0x170]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x178]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x180]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x158]
mov rax, qword [rcx]
lea rdx, [rbp + 0x198]
call qword [rax + 0x88]
test eax, eax
js 0x180001de2
mov rcx, qword [rbp + 0x198]
mov rax, qword [rcx]
lea r8, [rbp + 0x190]
xor edx, edx
call qword [rax + 0x60]
test eax, eax
js 0x180001dd5
mov rcx, qword [rbp + 0x190]
mov rax, qword [rcx]
lea r8, [rbp + 0x188]
lea rdx, str.MbLk
call qword [rax]
test eax, eax
js 0x180001dc8
mov ecx, 0x18
call fcn.180002c38
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180001d5e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r14
mov dword [rbx + 0x10], 1
lea rcx, [rbp + 0x1b0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x180001fec
jmp 0x180001d61
mov rbx, r14
mov qword [rbp - 0x50], rbx
test rbx, rbx
je 0x180002002
mov rcx, qword [rbp + 0x188]
mov rax, qword [rcx]
mov rdx, qword [rbx]
call qword [rax + 0x58]
nop
mov eax, edi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x180001dbb
mov rcx, qword [rbx]
test rcx, rcx
je 0x180001d9c
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180001dae
call fcn.180002c30
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.180002c30
mov rcx, qword [rbp + 0x188]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x190]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x198]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov ebx, 8
mov word [rsp + 0x70], bx
lea rcx, [0x1800043c0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x18000200d
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x58], xmm0
movsd xmm0, qword [rbp - 0x80]
movsd qword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp + 0x30]
movups xmmword [rbp + 0x48], xmm0
movsd xmm0, qword [rbp + 0x40]
movsd qword [rsp + 0x68], xmm0
mov word [rbp - 0x78], bx
lea rcx, [0x1800043c0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x180002018
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rbp + 0xf0], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rbp + 0x100], xmm1
movups xmm0, xmmword [rbp + 0x48]
movaps xmmword [rbp + 0x110], xmm0
movsd xmm1, qword [rsp + 0x68]
movsd qword [rbp + 0x120], xmm1
movups xmm0, xmmword [rbp - 0x78]
movaps xmmword [rbp + 0x130], xmm0
movsd xmm1, qword [rbp - 0x68]
movsd qword [rbp + 0x140], xmm1
lea ecx, [rbx + 0x10]
call fcn.180002c38
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180001eea
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r14
mov dword [rbx + 0x10], 1
lea rcx, str.CloudMusicTask
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x180001ff7
jmp 0x180001eed
mov rbx, r14
mov qword [rsp + 0x68], rbx
test rbx, rbx
je 0x180001fb5
mov rcx, qword [rbp + 0x160]
mov rax, qword [rcx]
mov qword [rsp + 0x40], r14
lea rdx, [rbp + 0xf0]
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], 3
lea rdx, [rbp + 0x110]
mov qword [rsp + 0x28], rdx
lea rdx, [rbp + 0x130]
mov qword [rsp + 0x20], rdx
mov r9d, 6
mov r8, qword [rbp + 0x158]
mov rdx, qword [rbx]
call qword [rax + 0x88]
nop
lock xadd dword [rbx + 0x10], edi
cmp edi, 1
jne 0x180001f88
mov rcx, qword [rbx]
test rcx, rcx
je 0x180001f68
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180001f7a
call fcn.180002c30
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.180002c30
nop
lea rcx, [rbp - 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp + 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp + 0x158]
jmp 0x180001a4c
mov ecx, 0x8007000e
call fcn.180002a70
nop
mov ecx, 0x8007000e
call fcn.180002a70
nop
mov ecx, 0x8007000e
call fcn.180002a70
nop
mov ecx, 0x8007000e
call fcn.180002a70
nop
mov ecx, 0x8007000e
call fcn.180002a70
nop
mov ecx, 0x8007000e
call fcn.180002a70
nop
mov ecx, 0x8007000e
call fcn.180002a70
nop
mov ecx, 0x8007000e
call fcn.180002a70
int3
mov ecx, 0x8007000e
call fcn.180002a70
nop
mov ecx, 0x8007000e
call fcn.180002a70
int3