Function at 0x564a80
Capabilities:
Get common file path

Disassembly:
push rbp
add rsp, 0xffffffffffffff80
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x90], rcx
nop
lea rcx, [rbp + 0x6c]
lea rdx, [rbp + 0x68]
call fcn.005648a0
mov eax, dword [rbp + 0x6c]
cmp eax, dword [rbp + 0x68]
jle 0x564af4
lea rcx, [rbp + 0x64]
lea rdx, [rbp + 0x60]
lea r8, [rbp + 0x5c]
lea r9, [rbp + 0x58]
lea rax, [rbp + 0x6c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x28], rax
call fcn.0053ce00
lea rcx, [rbp + 0x6c]
call fcn.00536080
lea rcx, [rbp + 0x6c]
lea rdx, [rbp + 0x6c]
call fcn.00561b30
mov ecx, 0x400
call fcn.00409020
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x6c]
mov dword [rbp + 0x58], eax
mov dword [rbp + 0x68], 0
cmp dword [rbp + 0x68], 2
jge 0x564b72
add dword [rbp + 0x68], 1
add dword [rbp + 0x6c], 0x352
mov eax, dword [rbp + 0x68]
add eax, dword [rbp + 0x64]
mov ecx, dword [rbp + 0x60]
add ecx, dword [rbp + 0x5c]
cmp eax, ecx
jge 0x564b56
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x1fd
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x60]
add eax, eax
add eax, eax
add eax, eax
lea rax, [rax + rax*8]
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x68], 2
jl 0x564b2f
nop
mov eax, dword [rbp + 0x68]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x217
mov dword [rbp + 0x5c], eax
lea rcx, [rbp + 0x6c]
lea rdx, [rbp + 0x64]
lea r8, [rbp + 0x60]
call fcn.00536390
mov dword [rbp + 0x64], 0
mov eax, dword [rbp + 0x68]
add eax, 0x365
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x68]
add eax, dword [rbp + 0x64]
mov ecx, dword [rbp + 0x60]
add ecx, dword [rbp + 0x60]
cmp eax, ecx
jge 0x564bc5
mov eax, dword [rbp + 0x5c]
sub eax, 0x170
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x60]
add eax, dword [rbp + 0x58]
cmp eax, dword [rbp + 0x6c]
jle 0x564bd6
mov eax, dword [rbp + 0x68]
sub dword [rbp + 0x6c], eax
mov eax, 0x39f
sub eax, dword [rbp + 0x68]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x68]
sub eax, dword [rbp + 0x64]
mov ecx, dword [rbp + 0x60]
sub ecx, dword [rbp + 0x5c]
cmp eax, ecx
jle 0x564bfe
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x20a
mov dword [rbp + 0x5c], eax
add dword [rbp + 0x64], 1
cmp dword [rbp + 0x64], 4
jne 0x564b9d
nop
mov dword [rbp + 0x68], 0
cmp dword [rbp + 0x68], 2
jge 0x564c52
add dword [rbp + 0x68], 1
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x64]
add eax, 0x18
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x9d
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
cmp dword [rbp + 0x64], eax
jne 0x564c4c
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x207
mov dword [rbp + 0x5c], eax
cmp dword [rbp + 0x68], 2
jl 0x564c16
nop
mov eax, dword [rbp + 0x6c]
cmp eax, dword [rbp + 0x68]
jle 0x564c60
call fcn.0053b710
lea rcx, [rbp + 0x6c]
lea rdx, [rbp + 0x6c]
call fcn.00563130
lea rcx, [rbp + 0x6c]
lea rdx, [rbp + 0x6c]
call fcn.00563130
mov eax, dword [rbp + 0x68]
mov dword [rbp + 0x6c], eax
lea rcx, [rbp + 0x70]
call fcn.0040e5d0
mov eax, dword [rbp + 0x68]
sub eax, dword [rbp + 0x64]
mov ecx, dword [rbp + 0x60]
sub ecx, dword [rbp + 0x5c]
cmp eax, ecx
jle 0x564ca5
mov eax, dword [rbp + 0x58]
sub eax, 0x1cd
mov dword [rbp + 0x5c], eax
lea rcx, [rbp + 0x70]
mov rdx, qword [0x0060ecd8]
call fcn.0040fe40
mov eax, dword [rbp + 0x68]
add eax, 0x3f4
mov dword [rbp + 0x6c], eax
lea rcx, [rbp + 0x70]
mov rdx, qword [0x0060ecf8]
call fcn.0040fe40
mov eax, dword [rbp + 0x5c]
sub eax, 0x1ba
mov dword [rbp + 0x60], eax
lea rcx, [rbp + 0x70]
mov rdx, qword [0x0060ec90]
call fcn.0040fe40
mov eax, dword [rbp + 0x6c]
imul eax, dword [rbp + 0x64]
mov dword [rbp + 0x6c], eax
lea rcx, [rbp + 0x70]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x68]
sub eax, dword [rbp + 0x64]
mov ecx, dword [rbp + 0x60]
sub ecx, dword [rbp + 0x5c]
cmp eax, ecx
jle 0x564d23
mov eax, dword [rbp + 0x5c]
sub eax, 0x1ab
mov dword [rbp + 0x60], eax
lea rcx, [rbp + 0x70]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x6c]
imul eax, dword [rbp + 0x68]
mov dword [rbp + 0x6c], eax
lea rcx, [rbp + 0x48]
mov edx, 3
call fcn.0042c720
lea rcx, [rbp + 0x70]
mov rdx, qword [rbp + 0x48]
call fcn.0040fe40
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x68]
mov ecx, dword [rbp + 0x64]
add ecx, dword [rbp + 0x60]
cmp eax, ecx
jge 0x564d75
mov eax, dword [rbp + 0x5c]
add eax, 0x13b
mov dword [rbp + 0x64], eax
lea rcx, [rbp + 0x40]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x70]
mov rdx, qword [rbp + 0x40]
call fcn.0040fe40
mov eax, dword [rbp + 0x6c]
imul eax, dword [rbp + 0x68]
mov dword [rbp + 0x6c], eax
lea rcx, [rbp + 0x70]
lea rdx, [0x00565238]
call fcn.0040fe40
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x68]
mov ecx, dword [rbp + 0x64]
add ecx, dword [rbp + 0x60]
cmp eax, ecx
jge 0x564dc7
mov eax, dword [rbp + 0x5c]
add eax, 0x12c
mov dword [rbp + 0x60], eax
lea rcx, [rbp + 0x70]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x6c]
mov dword [rbp + 0x58], eax
lea rcx, [rbp + 0x70]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x68]
mov dword [rbp + 0x6c], eax
lea rcx, [rbp + 0x70]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x6c]
sub eax, dword [rbp + 0x68]
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x68]
mov dword [rbp + 0x6c], eax
xor ecx, ecx
mov rdx, qword [rbp + 0x78]
mov r8d, 0x23
or r9d, 0xffffffff
call sub.shell32.dll_SHGetSpecialFolderPathW
mov dword [rbp + 0x68], 0
mov eax, 0x38a
sub eax, dword [rbp + 0x64]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x58]
cmp dword [rbp + 0x64], eax
jne 0x564e52
mov eax, dword [rbp + 0x58]
add eax, dword [rbp + 0x6c]
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x6c]
imul eax, dword [rbp + 0x64]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x64]
add eax, 0x20
mov dword [rbp + 0x6c], eax
add dword [rbp + 0x68], 1
cmp dword [rbp + 0x68], 3
jne 0x564e32
nop
mov dword [rbp + 0x58], 0
mov dword [rbp + 0x68], 0
cmp dword [rbp + 0x68], 2
jge 0x564eb7
add dword [rbp + 0x68], 1
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x75
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x5c]
sub eax, dword [rbp + 0x58]
cmp dword [rbp + 0x64], eax
jne 0x564eab
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x6c]
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x6c], eax
cmp dword [rbp + 0x68], 2
jl 0x564e84
nop
mov eax, dword [rbp + 0x58]
sub eax, 0x1ac
mov dword [rbp + 0x60], eax
lea rcx, [rbp + 0x6c]
lea rdx, [rbp + 0x64]
call fcn.005648a0
lea rcx, [rbp + 0x30]
mov rdx, qword [rbp + 0x78]
call fcn.0040fba0
lea rcx, [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
call fcn.005602e0
lea rcx, [rbp + 0x38]
lea rdx, [0x00565248]
call fcn.0040fe40
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x38]
call fcn.0040fc80
mov eax, dword [rbp + 0x5c]
sub eax, 0x17a
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x6c]
imul eax, dword [rbp + 0x64]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x5c]
sub eax, 0x187
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x68]
mov dword [rbp + 0x6c], eax
mov dword [rbp + 0x64], 0
add dword [rbp + 0x6c], 0x356
mov eax, dword [rbp + 0x5c]
add eax, 0x9b
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x58]
sub eax, dword [rbp + 0x6c]
cmp dword [rbp + 0x60], eax
jne 0x564f5f
mov dword [rbp + 0x58], 0
mov eax, dword [rbp + 0x68]
add eax, 0x38b
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x68]
add eax, dword [rbp + 0x64]
mov ecx, dword [rbp + 0x60]
add ecx, dword [rbp + 0x5c]
cmp eax, ecx
jge 0x564f87
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x216
mov dword [rbp + 0x5c], eax
add dword [rbp + 0x64], 1
cmp dword [rbp + 0x64], 4
jne 0x564f3a
nop
mov dword [rbp + 0x68], 0
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x25
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x58]
cmp dword [rbp + 0x64], eax
jne 0x564fbf
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x230
mov dword [rbp + 0x5c], eax
mov dword [rbp + 0x58], 0
add dword [rbp + 0x68], 1
cmp dword [rbp + 0x68], 3
jne 0x564f99
nop
mov dword [rbp + 0x68], 0
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x43
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x58]
cmp dword [rbp + 0x64], eax
jne 0x564ffe
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x20d
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x6c]
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x6c]
imul eax, dword [rbp + 0x64]
mov dword [rbp + 0x6c], eax
add dword [rbp + 0x68], 1
cmp dword [rbp + 0x68], 3
jne 0x564fd8
nop
mov dword [rbp + 0x64], 0
add dword [rbp + 0x6c], 0x380
mov eax, dword [rbp + 0x5c]
add eax, 0xa5
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x5c]
sub eax, dword [rbp + 0x58]
cmp dword [rbp + 0x60], eax
jne 0x56504a
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x6c]
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x68]
sub dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x68]
add eax, 0x399
mov dword [rbp + 0x6c], eax
add dword [rbp + 0x64], 1
cmp dword [rbp + 0x64], 4
jne 0x565023
nop
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x6c]
mov dword [rbp + 0x58], eax
mov rcx, qword [rbp + 0x78]
call fcn.00409050
mov dword [rbp + 0x64], 0
mov eax, dword [rbp + 0x6c]
imul eax, dword [rbp + 0x68]
mov dword [rbp + 0x6c], eax
add dword [rbp + 0x68], 0x13
mov eax, dword [rbp + 0x68]
add eax, dword [rbp + 0x64]
mov ecx, dword [rbp + 0x64]
add ecx, dword [rbp + 0x60]
cmp eax, ecx
jge 0x5650aa
mov eax, dword [rbp + 0x5c]
add eax, 0x15d
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x60]
add eax, dword [rbp + 0x58]
cmp eax, dword [rbp + 0x6c]
jle 0x5650be
mov eax, dword [rbp + 0x6c]
sub eax, dword [rbp + 0x68]
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x68]
add eax, 0x36c
mov dword [rbp + 0x6c], eax
add dword [rbp + 0x64], 1
cmp dword [rbp + 0x64], 4
jne 0x565080
nop
mov eax, dword [rbp + 0x58]
add eax, dword [rbp + 0x6c]
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x68]
mov ecx, dword [rbp + 0x64]
add ecx, dword [rbp + 0x60]
cmp eax, ecx
jge 0x5650f7
lea rcx, [rbp + 0x64]
call fcn.0053d840
mov dword [rbp + 0x68], 0
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x4b
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x58]
cmp dword [rbp + 0x64], eax
jne 0x565121
mov eax, dword [rbp + 0x58]
add eax, dword [rbp + 0x6c]
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x6c]
imul eax, eax, 0x2da
mov dword [rbp + 0x58], eax
add dword [rbp + 0x68], 1
cmp dword [rbp + 0x68], 3
jne 0x5650fe
nop
mov eax, dword [rbp + 0x6c]
imul eax, dword [rbp + 0x68]
mov dword [rbp + 0x6c], eax
mov dword [rbp + 0x68], 0
add dword [rbp + 0x6c], 0x334
mov eax, dword [rbp + 0x5c]
add eax, 0x7a
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x58]
sub eax, dword [rbp + 0x6c]
cmp dword [rbp + 0x60], eax
jne 0x56516b
mov dword [rbp + 0x58], 0
mov eax, dword [rbp + 0x64]
add eax, 0x369
mov dword [rbp + 0x6c], eax
add dword [rbp + 0x68], 1
cmp dword [rbp + 0x68], 3
jne 0x565149
nop
mov eax, dword [rbp + 0x6c]
sub eax, dword [rbp + 0x68]
mov dword [rbp + 0x58], eax
mov dword [rbp + 0x68], 0
cmp dword [rbp + 0x68], 1
jge 0x5651cf
add dword [rbp + 0x68], 1
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x60]
add eax, 0x60
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x5c]
sub eax, dword [rbp + 0x6c]
cmp dword [rbp + 0x64], eax
jne 0x5651bd
mov dword [rbp + 0x58], 0
mov eax, dword [rbp + 0x64]
add eax, 0x370
mov dword [rbp + 0x6c], eax
cmp dword [rbp + 0x68], 1
jl 0x565198
nop
nop
lea rcx, [rbp + 0x30]
mov edx, 4
call fcn.0040e6b0
lea rcx, [rbp + 0x70]
call fcn.0040e5d0
mov rax, qword [rbp + 0x90]
lea rsp, [rbp + 0x80]
pop rbp
ret