Function at 0x1013ef8
Capabilities:
Get common file path

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x40
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov ebx, edx
mov rdi, rcx
lea rcx, [0x01006df0]
call fcn.0100fdd0
cmp ebx, 1
jne 0x1013f49
lea rcx, [0x01006e40]
call fcn.0100fdd0
mov dword [0x01044b80], 9
mov dword [0x01044b84], ebx
and dword [0x01044db4], 0
xor eax, eax
jmp 0x1014234
lea rdx, [rdi + 0x30]
lea rcx, [rdi + 0x108]
call fcn.0100db8c
mov r11, qword [rdi + 0x108]
cmp qword [r11 - 0x10], 0
jne 0x1013f95
lea rcx, [0x01006ea0]
call fcn.0100fdd0
mov dword [0x01044b80], 5
mov dword [0x01044b84], 2
and dword [0x01044db4], 0
xor eax, eax
jmp 0x1014234
lea rdx, [0x01003570]
lea rcx, [rsp + 0x28]
call fcn.0100da98
nop
lea rdx, [rdi + 0x108]
lea rcx, [rsp + 0x78]
call fcn.0100d7ec
mov r8, rax
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.01018ac4
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.0100db8c
lea rcx, [rsp + 0x70]
call fcn.0100d9e0
lea rdx, [rdi + 0x108]
lea rcx, [rsp + 0x70]
call fcn.0100d7ec
mov rdx, rax
mov rcx, rdi
call fcn.010153a0
lea rdx, [0x010033f0]
lea rcx, [rsp + 0x20]
call fcn.0100da30
nop
mov edx, 0x104
lea rcx, [rsp + 0x20]
call fcn.0100df30
mov rdx, rax
xor r9d, r9d
xor ecx, ecx
lea r8d, [r9 + 0x23]
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov ebx, eax
or edx, 0xffffffff
lea rcx, [rsp + 0x20]
call fcn.0100dfa0
test ebx, ebx
jne 0x101404d
lea rcx, [0x01006f10]
call fcn.0100fdd0
lea r8, [0x01006f70]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.0100dd70
lea r8, [rdi + 0x108]
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.0100dd30
lea r8, [0x01006f68]
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.0100dd70
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.0100db8c
lea rcx, [rsp + 0x70]
call fcn.0100d9e0
lea rcx, [rsp + 0x78]
call fcn.0100d9e0
lea rcx, [rsp + 0x30]
call fcn.0100d9e0
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.0100df30
mov rdx, rax
lea rcx, [0x01006f80]
call fcn.0100fdd0
lea rdx, [0x01006f70]
mov rcx, qword [rsp + 0x20]
call fcn.01027a44
test rax, rax
je 0x101411c
sub rax, qword [rsp + 0x20]
sar rax, 1
cmp eax, 0xffffffff
je 0x101411c
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.0100df30
mov rdx, rax
mov rcx, rdi
call fcn.01017a34
cmp eax, 0xffffff9d
jne 0x101411c
lea rcx, [0x01006fd0]
call fcn.0100fdd0
mov eax, dword [rdi + 0xf4]
cmp eax, 2
je 0x101412c
cmp eax, 3
jne 0x101417f
lea r9, [rdi + 0x144]
lea r8, [rdi + 0x150]
lea rdx, [0x01007020]
mov rcx, rdi
call fcn.01019124
lea r9, [rdi + 0x15c]
lea r8, [rdi + 0x168]
lea rdx, [0x01007038]
mov rcx, rdi
call fcn.01019124
mov rcx, rdi
call fcn.0101979c
cmp dword [rdi + 0x158], 1
jne 0x101417f
mov rcx, rdi
call fcn.01019864
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x68]
call fcn.0101f100
cmp dword [rsp + 0x68], 2
jne 0x10141b0
cmp dword [rsp + 0x70], 5
jl 0x10141b0
cmp dword [rsp + 0x78], 0
jl 0x10141b0
mov rcx, rdi
call fcn.01016200
mov rcx, rdi
call fcn.01019930
mov rcx, rdi
call fcn.01019a00
mov rcx, rdi
call fcn.01019abc
mov ebx, eax
cmp dword [rdi + 0x158], 1
jne 0x10141e5
mov rcx, rdi
call fcn.01019d4c
test ebx, ebx
je 0x10141e3
test eax, eax
jne 0x10141e9
xor ebx, ebx
test ebx, ebx
je 0x10141f3
mov rcx, rdi
call fcn.01015b3c
jmp 0x101420d
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x70]
call fcn.0100d7ec
mov rdx, rax
mov rcx, rdi
call fcn.010160ec
lea rcx, [0x01007060]
call fcn.0100fdd0
nop
lea rcx, [rsp + 0x20]
call fcn.0100d9e0
nop
lea rcx, [rsp + 0x28]
call fcn.0100d9e0
mov eax, 1
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret