Function at 0x140042414
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.1400fc480
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 0x14004248d
cmp word [rdx], 0x2e
jne 0x14004248d
movzx ecx, word [rsi + 2]
call fcn.14007fe3c
test al, al
je 0x14004247c
add rsi, 4
cmp word [rsi], 0x2e
je 0x140042465
cmp word [rsi], 0x2e
jne 0x14004248d
cmp word [rsi + 2], r15w
je 0x140042918
mov r8d, 0x800
lea rdx, [rbp + 0x2f40]
mov rcx, rsi
call fcn.14007f840
movzx ecx, word [rsi]
movzx eax, word [0x14011bc8c]
sub ecx, eax
jne 0x1400424bd
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.1400803cc
mov rbx, rax
movzx ecx, word [rax]
call fcn.14007fe3c
test al, al
je 0x14004250d
test r13b, r13b
jne 0x14004250d
lea r8, [rbp + 0x2f40]
mov rcx, rsi
sub r8, rsi
movzx eax, word [rcx]
movzx edx, word [rcx + r8]
sub eax, edx
jne 0x140042505
add rcx, 2
test edx, edx
jne 0x1400424f1
test eax, eax
je 0x14004250d
mov word [rbx], r15w
mov r12d, r15d
mov rbx, rsi
cmp word [rsi], r15w
je 0x140042557
cmp word [rbx], 0x2e
jne 0x140042557
cmp word [rbx + 2], 0x2e
jne 0x140042557
movzx ecx, word [rbx + 4]
call fcn.14007fe3c
test al, al
jne 0x14004253a
cmp word [rbx + 4], r15w
jne 0x140042557
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 0x140042519
cmp byte [0x140166ce4], r15b
je 0x140042579
test dil, dil
je 0x140042579
mov rcx, rsi
call fcn.14007fd3c
test al, al
je 0x140042579
mov rcx, r14
call fcn.140042998
cmp byte [r14 + 0x107e], r15b
je 0x1400425ae
mov eax, dword [r14 + 0x2280]
cmp r12d, eax
mov edx, eax
cmovl edx, r12d
test r13b, r13b
cmovne edx, eax
test edx, edx
je 0x1400425ae
xor r8d, r8d
mov rcx, r14
call fcn.140043b80
xor edx, edx
jmp 0x140042910
mov byte [r14 + 0x107e], r15b
cmp byte [0x140166ce4], r15b
je 0x140042698
xor r8d, r8d
lea rdx, str.FlatView
lea rcx, str.FileList
call fcn.1400a78ac
test eax, eax
je 0x1400425e5
test r12d, r12d
je 0x140042918
mov r13d, 0x800
lea rbx, [0x14018a710]
mov r8d, r13d
lea rdx, [rbp + 0x1f40]
mov rcx, rbx
call fcn.1400064ec
movzx eax, word [rsi]
cmp ax, word [0x14011bc8c]
jne 0x14004261d
movzx eax, word [rsi + 2]
cmp ax, word [0x14011bc8e]
je 0x140042647
mov rdx, rsi
mov rcx, rbx
call fcn.140007f64
test al, al
je 0x140042647
test r12d, r12d
lea rdx, [rbp + 0x1f40]
mov rcx, r14
cmovle rdx, r15
call fcn.140046dac
jmp 0x140042918
mov r8, r13
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140005f50
lea rbx, [r14 + 0x1080]
mov r8, r13
mov rcx, rbx
lea rdx, [rsp + 0x40]
call fcn.140096298
mov rcx, rbx
call fcn.140080444
mov rcx, r14
call fcn.140042998
test al, al
je 0x140042918
lea rcx, [rsp + 0x40]
call fcn.1400803f0
mov rdx, rax
jmp 0x140042910
lea r15, [r14 + 0x1080]
mov ebx, 0x800
mov r8d, ebx
lea rcx, [rbp + 0x1f40]
mov rdx, r15
call fcn.140096298
xor edi, edi
mov word [rsp + 0x40], di
test r12d, r12d
jle 0x1400427bf
xor r13d, r13d
cmp byte [r14 + 0x107e], r13b
jne 0x1400427b8
mov rcx, r15
call fcn.14007fd08
test al, al
je 0x140042770
movzx ecx, word [r14 + 0x1084]
call fcn.14007fe3c
test al, al
je 0x140042770
cmp word [r14 + 0x1086], r13w
jne 0x140042770
cmp dword [r14 + 0x2280], r13d
jle 0x140042714
mov byte [r14 + 0x107e], 1
jmp 0x140042790
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.1400493cc
mov rdi, qword [0x1401c95b0]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x28]
mov rcx, rbx
call qword [fcn.1400fd580]
mov rdx, qword [rsp + 0x38]
mov rcx, rdi
call rbx
mov ebx, 0x800
jmp 0x140042790
mov rcx, r15
call fcn.1400803f0
mov rdx, rax
lea rcx, [rsp + 0x40]
mov r8, rbx
call fcn.140096298
mov rcx, r15
call fcn.140080444
dec r12d
jmp 0x140042799
add rsi, 2
cmp word [rsi], 0x2e
je 0x140042795
movzx ecx, word [rsi]
call fcn.14007fe3c
test al, al
je 0x1400427af
add rsi, 2
test r12d, r12d
jg 0x1400426c9
mov r13b, byte [rsp + 0x30]
xor edi, edi
test r13b, r13b
je 0x1400427df
mov r8, rbx
lea rdx, [rbp + 0xf40]
mov rcx, r15
call fcn.14007f840
lea rdx, [rbp + 0xf40]
jmp 0x1400427ee
mov rcx, rsi
call fcn.14007fd3c
test al, al
je 0x1400427fb
mov rdx, rsi
mov r8, rbx
mov rcx, r15
call fcn.140096298
jmp 0x140042819
cmp word [rsi], di
je 0x140042819
mov rdx, rbx
mov rcx, r15
call fcn.14007ea30
mov r8, rbx
mov rdx, rsi
mov rcx, r15
call fcn.140096270
mov rcx, r15
call fcn.14007f814
mov ebx, eax
cmp eax, 0xffffffff
je 0x14004284c
call fcn.1400cea4c
bt eax, ebx
jb 0x14004284c
mov r8d, 0x800
lea rdx, [rbp + 0x1f40]
mov rcx, r15
call fcn.140096298
jmp 0x140042918
cmp byte [r14 + 0x107e], dil
jne 0x1400428fd
mov rcx, r15
call fcn.14006f794
test al, al
jne 0x1400428fd
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 0x1400428a4
lea rcx, [rbp + 0xf40]
call fcn.14006f794
test al, al
je 0x1400428a4
lea rdx, [rbp + 0xf40]
jmp 0x1400428f2
mov ecx, 0x6c
call fcn.1400901c8
mov r8, rax
lea rcx, [rbp + 0x3f40]
mov r9, r15
mov edx, 0x864
call fcn.140002810
mov ecx, 0x66
call fcn.1400901c8
mov rcx, qword [0x140166d18]
lea rdx, [rbp + 0x3f40]
mov r8, rax
mov r9d, 0x10
call fcn.1400d0120
lea rdx, [rbp + 0x1f40]
mov r8, r13
mov rcx, r15
call fcn.140096298
movzx eax, word [rsp + 0x40]
neg ax
lea rax, [rsp + 0x40]
sbb rdx, rdx
and rdx, rax
mov rcx, r14
call fcn.140047b54
mov rcx, qword [rbp + 0x5010]
xor rcx, rsp
call fcn.1400fc4f0
mov rbx, qword [rsp + 0x5170]
add rsp, 0x5120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret