Function at 0x140004d50
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 r15
sub rsp, 0x2a0
mov rax, qword [0x14006cfd8]
xor rax, rsp
mov qword [rsp + 0x290], rax
xor r15d, r15d
mov esi, r15d
mov dword [rsp + 0x30], r15d
lea rax, [rsp + 0x180]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r15 + 0x1c]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea r14, [r15 - 1]
test eax, eax
jne 0x140004eb7
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0xf0], xmm1
lea rax, [rsp + 0x180]
mov r8, r14
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140004de0
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0xe0]
call fcn.140008690
nop
mov esi, 1
mov dword [rsp + 0x30], esi
lea r8d, [rsi + 7]
lea rdx, str.Discord
lea rcx, [rsp + 0xe0]
call fcn.1400074d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or esi, 0x40
or esi, 2
mov dword [rsp + 0x30], esi
mov rdi, qword [rsp + 0x70]
lea rbx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rbx, qword [rsp + 0x60]
call fcn.14002a590
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea r8, [rsp + 0x40]
mov edx, eax
lea rcx, [rsp + 0xa0]
call fcn.1400021b0
or esi, 0x180
or esi, 4
mov dword [rsp + 0x30], esi
lea rcx, [rsp + 0xa0]
call fcn.140002bb0
test al, al
je 0x140004eb7
mov bl, 1
jmp 0x140004eb9
xor bl, bl
test sil, 4
je 0x140004f24
and esi, 0xfffffffb
mov rdx, qword [rsp + 0xb8]
cmp rdx, 8
jb 0x140004f0a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004f05
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054c5
call fcn.14002ba60
movdqa xmm0, xmmword [0x140063d90]
movdqu xmmword [rsp + 0xb0], xmm0
mov word [rsp + 0xa0], r15w
test sil, 2
je 0x140004f7d
and esi, 0xfffffffd
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140004f6a
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004f65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054cb
call fcn.14002ba60
movdqa xmm0, xmmword [0x140063da0]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
test sil, 1
je 0x140004fc9
and esi, 0xfffffffe
mov rdx, qword [rsp + 0xf8]
cmp rdx, 0x10
jb 0x140004fc9
inc rdx
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004fc4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054d1
call fcn.14002ba60
lea rax, [rsp + 0x180]
test bl, bl
je 0x140005104
xorps xmm0, xmm0
movups xmmword [rsp + 0x100], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x110], xmm1
inc r14
cmp byte [rax + r14], 0
jne 0x140004ff0
mov r8, r14
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x100]
call fcn.140008690
nop
mov r8d, 8
lea rdx, str.Discord
lea rcx, [rsp + 0x100]
call fcn.1400074d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x40]
call fcn.140004ac0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1400050a6
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400050a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054d7
call fcn.14002ba60
movdqa xmm0, xmmword [0x140063da0]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x118]
cmp rdx, 0x10
jb 0x140005478
inc rdx
mov rcx, qword [rsp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005473
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054dd
jmp 0x140005473
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x1a]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jne 0x140005235
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x130], xmm1
lea rax, [rsp + 0x180]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x140005145
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x120]
call fcn.140008690
nop
or esi, 8
mov dword [rsp + 0x30], esi
mov r8d, 8
lea rdx, str.Spotify
lea rcx, [rsp + 0x120]
call fcn.1400074d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x90], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x90], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts esi, 0xa
or esi, 0x10
mov dword [rsp + 0x30], esi
mov rdi, qword [rsp + 0x90]
lea rbx, [rsp + 0x80]
cmp qword [rsp + 0x98], 0x10
cmovae rbx, qword [rsp + 0x80]
call fcn.14002a590
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
lea r8, [rsp + 0x40]
mov edx, eax
lea rcx, [rsp + 0xc0]
call fcn.1400021b0
or esi, 0x1800
or esi, 0x20
mov dword [rsp + 0x30], esi
lea rcx, [rsp + 0xc0]
call fcn.140002bb0
test al, al
je 0x140005235
mov bl, 1
jmp 0x140005237
xor bl, bl
test sil, 0x20
je 0x1400052a2
and esi, 0xffffffdf
mov rdx, qword [rsp + 0xd8]
cmp rdx, 8
jb 0x140005288
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005283
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054e3
call fcn.14002ba60
movdqa xmm0, xmmword [0x140063d90]
movdqu xmmword [rsp + 0xd0], xmm0
mov word [rsp + 0xc0], r15w
test sil, 0x10
je 0x140005307
and esi, 0xffffffef
mov rdx, qword [rsp + 0x98]
cmp rdx, 0x10
jb 0x1400052ee
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400052e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054e9
call fcn.14002ba60
movdqa xmm0, xmmword [0x140063da0]
movdqu xmmword [rsp + 0x90], xmm0
mov byte [rsp + 0x80], 0
test sil, 8
je 0x140005350
mov rdx, qword [rsp + 0x138]
cmp rdx, 0x10
jb 0x140005350
inc rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000534b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054ef
call fcn.14002ba60
test bl, bl
je 0x140005478
xorps xmm0, xmm0
movups xmmword [rsp + 0x140], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x150], xmm1
lea rax, [rsp + 0x180]
nop word [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x140005380
mov r8, r14
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x140]
call fcn.140008690
nop
mov r8d, 8
lea rdx, str.Spotify
lea rcx, [rsp + 0x140]
call fcn.1400074d0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x160], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x170], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x160]
call fcn.140004360
nop
mov rdx, qword [rsp + 0x178]
cmp rdx, 0x10
jb 0x140005435
inc rdx
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000542f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054f5
call fcn.14002ba60
nop
mov rdx, qword [rsp + 0x158]
cmp rdx, 0x10
jb 0x140005478
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005473
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054fb
call fcn.14002ba60
mov r9d, 0x10
lea r8, str.Error
lea rdx, str.DirectX_12_is_missing
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
nop
xor eax, eax
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.14002ba40
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
call fcn.140033fd8
nop
call fcn.140033fd8
nop
call fcn.140033fd8
nop
call fcn.140033fd8
nop
call fcn.140033fd8
nop
call fcn.140033fd8
nop
call fcn.140033fd8
nop
call fcn.140033fd8
nop
call fcn.140033fd8
nop
call fcn.140033fd8
int3