Function at 0x140001bb0
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x320
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x298], 0xfffffffffffffffe
lea rdx, [0x140029057]
lea rcx, [rbp + 0x1c8]
call fcn.1400013b0
lea rdx, [0x14002905f]
lea rcx, [rbp + 0x1e8]
call fcn.1400013b0
lea rcx, [rbp - 0x50]
mov edx, 0x104
call fcn.140009390
mov eax, dword [0x14002b8a4]
mov ecx, dword [0x14002b8a0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x228]
cmp ecx, 0xa
setl byte [rbp + 0x208]
mov eax, 0xa0f73de7
mov r14d, 0x79ebb38
lea rsi, [0x14002906b]
lea rdi, [rbp - 0x50]
mov ebx, 0xef88611d
nop dword [rax]
cmp eax, 0x79ebb37
jg 0x140001c70
cmp eax, 0xa0f73de7
je 0x140001c95
cmp eax, 0xef88611d
jne 0x140001c50
jmp 0x140001cf0
cmp eax, 0x79ebb38
je 0x140001cb4
cmp eax, 0x3538d9bc
jne 0x140001c50
mov edx, 0x104
mov rcx, rdi
mov r8, rsi
call fcn.140012158
mov eax, 0x79ebb38
jmp 0x140001c50
movzx ecx, byte [rbp + 0x228]
cmp byte [rbp + 0x208], 0
mov eax, 0x3538d9bc
cmovne eax, r14d
test cl, cl
cmovne eax, r14d
jmp 0x140001c50
mov edx, 0x104
mov rcx, rdi
mov r8, rsi
call fcn.140012158
mov dword [rbp + 0xc0], eax
mov eax, dword [0x14002b8a4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x3538d9bc
cmove eax, ebx
cmp dword [0x14002b8a0], 0xa
cmovl eax, ebx
jmp 0x140001c50
mov eax, dword [rbp + 0xc0]
lea rcx, [rbp + 0x208]
lea rdx, [rbp - 0x50]
call fcn.1400013b0
lea r15, [rbp + 0x208]
lea rdx, [rbp + 0x1c8]
mov rcx, r15
call fcn.1400014f0
lea rcx, [rbp + 0x228]
lea rdx, [rbp - 0x50]
call fcn.1400013b0
lea r14, [rbp + 0x228]
lea rdx, [rbp + 0x1e8]
mov rcx, r14
call fcn.1400014f0
lea rsi, [rbp + 0xc0]
mov qword [rsp + 0x20], rsi
xor ecx, ecx
mov edx, 0x27
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov eax, dword [0x14002b8a4]
mov ecx, dword [0x14002b8a0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x288]
cmp ecx, 0xa
setl byte [rbp + 0x268]
mov eax, 0xa0f73de7
mov r12d, 0x79ebb38
lea rdi, [0x14002906b]
mov ebx, 0xef88611d
nop
cmp eax, 0x79ebb37
jg 0x140001dc0
cmp eax, 0xa0f73de7
je 0x140001de5
cmp eax, 0xef88611d
jne 0x140001da0
jmp 0x140001e40
cmp eax, 0x79ebb38
je 0x140001e04
cmp eax, 0x3538d9bc
jne 0x140001da0
mov edx, 0x104
mov rcx, rsi
mov r8, rdi
call fcn.140012158
mov eax, 0x79ebb38
jmp 0x140001da0
movzx ecx, byte [rbp + 0x288]
cmp byte [rbp + 0x268], 0
mov eax, 0x3538d9bc
cmovne eax, r12d
test cl, cl
cmovne eax, r12d
jmp 0x140001da0
mov edx, 0x104
mov rcx, rsi
mov r8, rdi
call fcn.140012158
mov dword [rbp + 0x248], eax
mov eax, dword [0x14002b8a4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x3538d9bc
cmove eax, ebx
cmp dword [0x14002b8a0], 0xa
cmovl eax, ebx
jmp 0x140001da0
mov eax, dword [rbp + 0x248]
lea rcx, [rbp + 0x248]
lea rdx, [rbp + 0xc0]
call fcn.1400013b0
lea r12, [rbp + 0x248]
lea rdx, [rbp + 0x1c8]
mov rcx, r12
call fcn.1400014f0
lea rcx, [rbp + 0x268]
lea rdx, [rbp + 0xc0]
call fcn.1400013b0
lea rsi, [rbp + 0x268]
lea rdx, [rbp + 0x1e8]
mov rcx, rsi
call fcn.1400014f0
mov eax, dword [0x14002b89c]
mov ecx, dword [0x14002b898]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x297]
mov edx, 0xfe4513f
mov eax, 0x4279613c
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp + 0x296]
cmovl eax, edx
mov edx, 0x1849bdb0
mov ecx, 0x8b9caeb9
nop dword [rax + rax]
cmp edx, 0x1849bdaf
jg 0x140001f00
cmp edx, 0x8b9caeb9
je 0x140001f2d
cmp edx, 0xfe4513f
jne 0x140001ee0
jmp 0x140001f3f
cmp edx, 0x4279613c
je 0x140001f38
cmp edx, 0x1849bdb0
jne 0x140001ee0
movzx ebx, byte [rbp + 0x297]
cmp byte [rbp + 0x296], 0
mov edx, 0x4279613c
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x140001ee0
mov qword [rbp + 0x288], r12
mov edx, eax
jmp 0x140001ee0
mov edx, 0x8b9caeb9
jmp 0x140001ee0
mov rcx, qword [rbp + 0x288]
call fcn.140002e80
mov rdi, rax
mov eax, dword [0x14002b89c]
mov ecx, dword [0x14002b898]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x297]
mov edx, 0xfe4513f
mov eax, 0x4279613c
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp + 0x296]
cmovl eax, edx
mov edx, 0x1849bdb0
mov ecx, 0x8b9caeb9
nop
cmp edx, 0x1849bdaf
jg 0x140001fb0
cmp edx, 0x8b9caeb9
je 0x140001fdd
cmp edx, 0xfe4513f
jne 0x140001f90
jmp 0x140001fef
cmp edx, 0x4279613c
je 0x140001fe8
cmp edx, 0x1849bdb0
jne 0x140001f90
movzx ebx, byte [rbp + 0x297]
cmp byte [rbp + 0x296], 0
mov edx, 0x4279613c
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x140001f90
mov qword [rbp + 0x288], r15
mov edx, eax
jmp 0x140001f90
mov edx, 0x8b9caeb9
jmp 0x140001f90
mov rcx, qword [rbp + 0x288]
call fcn.140002e80
mov rcx, rax
mov rdx, rdi
call fcn.140009ee0
test al, al
je 0x140002176
mov eax, dword [0x14002b89c]
mov ecx, dword [0x14002b898]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x297]
mov edx, 0xfe4513f
mov eax, 0x4279613c
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp + 0x296]
cmovl eax, edx
mov edx, 0x1849bdb0
mov ecx, 0x8b9caeb9
nop
cmp edx, 0x1849bdaf
jg 0x140002070
cmp edx, 0x8b9caeb9
je 0x14000209d
cmp edx, 0xfe4513f
jne 0x140002050
jmp 0x1400020af
cmp edx, 0x4279613c
je 0x1400020a8
cmp edx, 0x1849bdb0
jne 0x140002050
movzx ebx, byte [rbp + 0x297]
cmp byte [rbp + 0x296], 0
mov edx, 0x4279613c
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x140002050
mov qword [rbp + 0x288], rsi
mov edx, eax
jmp 0x140002050
mov edx, 0x8b9caeb9
jmp 0x140002050
mov rcx, qword [rbp + 0x288]
call fcn.140002e80
mov rsi, rax
mov eax, dword [0x14002b89c]
mov ecx, dword [0x14002b898]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x297]
mov edx, 0xfe4513f
mov eax, 0x4279613c
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp + 0x296]
cmovl eax, edx
mov edx, 0x1849bdb0
mov ecx, 0x8b9caeb9
nop
cmp edx, 0x1849bdaf
jg 0x140002120
cmp edx, 0x8b9caeb9
je 0x14000214d
cmp edx, 0xfe4513f
jne 0x140002100
jmp 0x14000215f
cmp edx, 0x4279613c
je 0x140002158
cmp edx, 0x1849bdb0
jne 0x140002100
movzx ebx, byte [rbp + 0x297]
cmp byte [rbp + 0x296], 0
mov edx, 0x4279613c
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x140002100
mov qword [rbp + 0x288], r14
mov edx, eax
jmp 0x140002100
mov edx, 0x8b9caeb9
jmp 0x140002100
mov rcx, qword [rbp + 0x288]
call fcn.140002e80
mov rcx, rax
mov rdx, rsi
call fcn.140009ee0
mov eax, dword [0x14002b89c]
mov ecx, dword [0x14002b898]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x297]
mov edx, 0xfe4513f
mov eax, 0x4279613c
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp + 0x296]
cmovl eax, edx
mov edx, 0x1849bdb0
mov ecx, 0x8b9caeb9
nop word cs:[rax + rax]
cmp edx, 0x1849bdaf
jg 0x1400021e0
cmp edx, 0x8b9caeb9
je 0x14000220d
cmp edx, 0xfe4513f
jne 0x1400021c0
jmp 0x14000221f
cmp edx, 0x4279613c
je 0x140002218
cmp edx, 0x1849bdb0
jne 0x1400021c0
movzx ebx, byte [rbp + 0x297]
cmp byte [rbp + 0x296], 0
mov edx, 0x4279613c
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x1400021c0
mov qword [rbp + 0x288], r12
mov edx, eax
jmp 0x1400021c0
mov edx, 0x8b9caeb9
jmp 0x1400021c0
mov rcx, qword [rbp + 0x288]
call fcn.140002e80
mov rcx, rax
call fcn.14000b150
lea rcx, [rbp + 0x268]
call fcn.1400031d0
lea rcx, [rbp + 0x268]
call fcn.140003750
lea rcx, [rbp + 0x248]
call fcn.1400031d0
lea rcx, [rbp + 0x248]
call fcn.140003750
lea rcx, [rbp + 0x228]
call fcn.1400031d0
lea rcx, [rbp + 0x228]
call fcn.140003750
lea rcx, [rbp + 0x208]
call fcn.1400031d0
lea rcx, [rbp + 0x208]
call fcn.140003750
lea rcx, [rbp + 0x1e8]
call fcn.1400031d0
lea rcx, [rbp + 0x1e8]
call fcn.140003750
lea rcx, [rbp + 0x1c8]
call fcn.1400031d0
lea rcx, [rbp + 0x1c8]
call fcn.140003750
mov al, 1
add rsp, 0x320
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret