Function at 0x1400422e4
Capabilities:
Get common file path
Query environment variable

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5020]
mov eax, 0x5120
call fcn.1400fc460
sub rsp, rax
mov rax, qword [0x140160370]
xor rax, rsp
mov qword [rbp + 0x5010], rax
xor r15d, r15d
mov dil, r8b
cmp byte [0x140166ce4], r15b
mov rsi, rdx
mov r14, rcx
jne 0x14004235d
cmp word [rdx], 0x2e
jne 0x14004235d
movzx ecx, word [rsi + 2]
call fcn.14007fd2c
test al, al
je 0x14004234c
add rsi, 4
cmp word [rsi], 0x2e
je 0x140042335
cmp word [rsi], 0x2e
jne 0x14004235d
cmp word [rsi + 2], r15w
je 0x1400427e8
mov r8d, 0x800
lea rdx, [rbp + 0x2f40]
mov rcx, rsi
call fcn.14007f730
movzx ecx, word [rsi]
movzx eax, word [0x14011bc8c]
sub ecx, eax
jne 0x14004238d
movzx ecx, word [rsi + 2]
movzx eax, word [0x14011bc8e]
sub ecx, eax
test ecx, ecx
mov rcx, rsi
sete r13b
mov byte [rsp + 0x30], r13b
call fcn.1400802bc
mov rbx, rax
movzx ecx, word [rax]
call fcn.14007fd2c
test al, al
je 0x1400423dd
test r13b, r13b
jne 0x1400423dd
lea r8, [rbp + 0x2f40]
mov rcx, rsi
sub r8, rsi
movzx eax, word [rcx]
movzx edx, word [rcx + r8]
sub eax, edx
jne 0x1400423d5
add rcx, 2
test edx, edx
jne 0x1400423c1
test eax, eax
je 0x1400423dd
mov word [rbx], r15w
mov r12d, r15d
mov rbx, rsi
cmp word [rsi], r15w
je 0x140042427
cmp word [rbx], 0x2e
jne 0x140042427
cmp word [rbx + 2], 0x2e
jne 0x140042427
movzx ecx, word [rbx + 4]
call fcn.14007fd2c
test al, al
jne 0x14004240a
cmp word [rbx + 4], r15w
jne 0x140042427
movzx eax, word [rbx + 4]
neg ax
sbb rcx, rcx
inc r12d
and ecx, 2
add rcx, 4
add rbx, rcx
cmp word [rbx], r15w
jne 0x1400423e9
cmp byte [0x140166ce4], r15b
je 0x140042449
test dil, dil
je 0x140042449
mov rcx, rsi
call fcn.14007fc2c
test al, al
je 0x140042449
mov rcx, r14
call fcn.140042868
cmp byte [r14 + 0x107e], r15b
je 0x14004247e
mov eax, dword [r14 + 0x2280]
cmp r12d, eax
mov edx, eax
cmovl edx, r12d
test r13b, r13b
cmovne edx, eax
test edx, edx
je 0x14004247e
xor r8d, r8d
mov rcx, r14
call fcn.140043a50
xor edx, edx
jmp 0x1400427e0
mov byte [r14 + 0x107e], r15b
cmp byte [0x140166ce4], r15b
je 0x140042568
xor r8d, r8d
lea rdx, str.FlatView
lea rcx, str.FileList
call fcn.1400a789c
test eax, eax
je 0x1400424b5
test r12d, r12d
je 0x1400427e8
mov r13d, 0x800
lea rbx, [0x14018a710]
mov r8d, r13d
lea rdx, [rbp + 0x1f40]
mov rcx, rbx
call fcn.140006608
movzx eax, word [rsi]
cmp ax, word [0x14011bc8c]
jne 0x1400424ed
movzx eax, word [rsi + 2]
cmp ax, word [0x14011bc8e]
je 0x140042517
mov rdx, rsi
mov rcx, rbx
call fcn.14000809c
test al, al
je 0x140042517
test r12d, r12d
lea rdx, [rbp + 0x1f40]
mov rcx, r14
cmovle rdx, r15
call fcn.140046c7c
jmp 0x1400427e8
mov r8, r13
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.14000606c
lea rbx, [r14 + 0x1080]
mov r8, r13
mov rcx, rbx
lea rdx, [rsp + 0x40]
call fcn.140096188
mov rcx, rbx
call fcn.140080334
mov rcx, r14
call fcn.140042868
test al, al
je 0x1400427e8
lea rcx, [rsp + 0x40]
call fcn.1400802e0
mov rdx, rax
jmp 0x1400427e0
lea r15, [r14 + 0x1080]
mov ebx, 0x800
mov r8d, ebx
lea rcx, [rbp + 0x1f40]
mov rdx, r15
call fcn.140096188
xor edi, edi
mov word [rsp + 0x40], di
test r12d, r12d
jle 0x14004268f
xor r13d, r13d
cmp byte [r14 + 0x107e], r13b
jne 0x140042688
mov rcx, r15
call fcn.14007fbf8
test al, al
je 0x140042640
movzx ecx, word [r14 + 0x1084]
call fcn.14007fd2c
test al, al
je 0x140042640
cmp word [r14 + 0x1086], r13w
jne 0x140042640
cmp dword [r14 + 0x2280], r13d
jle 0x1400425e4
mov byte [r14 + 0x107e], 1
jmp 0x140042660
mov rcx, qword [r14 + 0x60]
lea rax, [rsp + 0x38]
xor r9d, r9d
mov qword [rsp + 0x38], r13
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x11]
call qword [sym.imp.SHELL32.dll_SHGetFolderLocation]
mov rdx, qword [rsp + 0x38]
lea rcx, [0x14018d510]
call fcn.14004929c
mov rdi, qword [0x1401c95b0]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x28]
mov rcx, rbx
call qword [fcn.1400fd560]
mov rdx, qword [rsp + 0x38]
mov rcx, rdi
call rbx
mov ebx, 0x800
jmp 0x140042660
mov rcx, r15
call fcn.1400802e0
mov rdx, rax
lea rcx, [rsp + 0x40]
mov r8, rbx
call fcn.140096188
mov rcx, r15
call fcn.140080334
dec r12d
jmp 0x140042669
add rsi, 2
cmp word [rsi], 0x2e
je 0x140042665
movzx ecx, word [rsi]
call fcn.14007fd2c
test al, al
je 0x14004267f
add rsi, 2
test r12d, r12d
jg 0x140042599
mov r13b, byte [rsp + 0x30]
xor edi, edi
test r13b, r13b
je 0x1400426af
mov r8, rbx
lea rdx, [rbp + 0xf40]
mov rcx, r15
call fcn.14007f730
lea rdx, [rbp + 0xf40]
jmp 0x1400426be
mov rcx, rsi
call fcn.14007fc2c
test al, al
je 0x1400426cb
mov rdx, rsi
mov r8, rbx
mov rcx, r15
call fcn.140096188
jmp 0x1400426e9
cmp word [rsi], di
je 0x1400426e9
mov rdx, rbx
mov rcx, r15
call fcn.14007e920
mov r8, rbx
mov rdx, rsi
mov rcx, r15
call fcn.140096160
mov rcx, r15
call fcn.14007f704
mov ebx, eax
cmp eax, 0xffffffff
je 0x14004271c
call fcn.1400ce9fc
bt eax, ebx
jb 0x14004271c
mov r8d, 0x800
lea rdx, [rbp + 0x1f40]
mov rcx, r15
call fcn.140096188
jmp 0x1400427e8
cmp byte [r14 + 0x107e], dil
jne 0x1400427cd
mov rcx, r15
call fcn.14006f688
test al, al
jne 0x1400427cd
mov r13d, 0x800
lea rdx, [rbp + 0xf40]
mov r8d, r13d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
dec eax
cmp eax, 0x7fe
ja 0x140042774
lea rcx, [rbp + 0xf40]
call fcn.14006f688
test al, al
je 0x140042774
lea rdx, [rbp + 0xf40]
jmp 0x1400427c2
mov ecx, 0x6c
call fcn.1400900b8
mov r8, rax
lea rcx, [rbp + 0x3f40]
mov r9, r15
mov edx, 0x864
call fcn.140002810
mov ecx, 0x66
call fcn.1400900b8
mov rcx, qword [0x140166d18]
lea rdx, [rbp + 0x3f40]
mov r8, rax
mov r9d, 0x10
call fcn.1400d00d0
lea rdx, [rbp + 0x1f40]
mov r8, r13
mov rcx, r15
call fcn.140096188
movzx eax, word [rsp + 0x40]
neg ax
lea rax, [rsp + 0x40]
sbb rdx, rdx
and rdx, rax
mov rcx, r14
call fcn.140047a24
mov rcx, qword [rbp + 0x5010]
xor rcx, rsp
call fcn.1400fc4d0
mov rbx, qword [rsp + 0x5170]
add rsp, 0x5120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret