Function at 0x14004264c
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.140101610
sub rsp, rax
mov rax, qword [0x140192630]
xor rax, rsp
mov qword [rbp + 0x5010], rax
xor r15d, r15d
mov dil, r8b
cmp byte [0x14019b720], r15b
mov rsi, rdx
mov r14, rcx
jne 0x1400426c5
cmp word [rdx], 0x2e
jne 0x1400426c5
movzx ecx, word [rsi + 2]
call fcn.140080b1c
test al, al
je 0x1400426b4
add rsi, 4
cmp word [rsi], 0x2e
je 0x14004269d
cmp word [rsi], 0x2e
jne 0x1400426c5
cmp word [rsi + 2], r15w
je 0x140042c10
mov r8d, 0x800
lea rdx, [rbp + 0x2f40]
mov rcx, rsi
call fcn.140080520
movzx ecx, word [rsi]
movzx eax, word [0x1401422fc]
sub ecx, eax
jne 0x1400426f5
movzx ecx, word [rsi + 2]
movzx eax, word [0x1401422fe]
sub ecx, eax
test ecx, ecx
mov rcx, rsi
sete r13b
mov byte [rsp + 0x30], r13b
call fcn.1400810c8
mov rbx, rax
movzx ecx, word [rax]
call fcn.140080b1c
test al, al
je 0x140042745
test r13b, r13b
jne 0x140042745
lea r8, [rbp + 0x2f40]
mov rcx, rsi
sub r8, rsi
movzx eax, word [rcx]
movzx edx, word [rcx + r8]
sub eax, edx
jne 0x14004273d
add rcx, 2
test edx, edx
jne 0x140042729
test eax, eax
je 0x140042745
mov word [rbx], r15w
mov r12d, r15d
mov rbx, rsi
cmp word [rsi], r15w
je 0x14004278f
cmp word [rbx], 0x2e
jne 0x14004278f
cmp word [rbx + 2], 0x2e
jne 0x14004278f
movzx ecx, word [rbx + 4]
call fcn.140080b1c
test al, al
jne 0x140042772
cmp word [rbx + 4], r15w
jne 0x14004278f
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 0x140042751
cmp byte [0x14019b720], r15b
je 0x1400427bd
test dil, dil
je 0x1400427bd
mov rcx, rsi
call fcn.140080a1c
test al, al
jne 0x1400427b5
mov rcx, rsi
call fcn.1400809e8
test al, al
je 0x1400427bd
mov rcx, r14
call fcn.140042c90
cmp byte [r14 + 0x107e], r15b
je 0x1400427f2
mov eax, dword [r14 + 0x2280]
cmp r12d, eax
mov edx, eax
cmovl edx, r12d
test r13b, r13b
cmovne edx, eax
test edx, edx
je 0x1400427f2
xor r8d, r8d
mov rcx, r14
call fcn.140043e78
xor edx, edx
jmp 0x140042c08
mov byte [r14 + 0x107e], r15b
cmp byte [0x14019b720], r15b
je 0x1400428db
xor r8d, r8d
lea rdx, str.FlatView
lea rcx, str.FileList
call fcn.1400a86cc
test eax, eax
je 0x140042829
test r12d, r12d
je 0x140042c10
mov edi, 0x800
lea rbx, [0x1401c40e0]
mov r8d, edi
lea rdx, [rbp + 0x1f40]
mov rcx, rbx
call fcn.140006b98
movzx eax, word [rsi]
cmp ax, word [0x1401422fc]
jne 0x140042860
movzx eax, word [rsi + 2]
cmp ax, word [0x1401422fe]
je 0x14004288a
mov rdx, rsi
mov rcx, rbx
call fcn.1400086bc
test al, al
je 0x14004288a
test r12d, r12d
lea rdx, [rbp + 0x1f40]
mov rcx, r14
cmovle rdx, r15
call fcn.14004702c
jmp 0x140042c10
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400065fc
lea rbx, [r14 + 0x1080]
mov r8, rdi
mov rcx, rbx
lea rdx, [rsp + 0x40]
call fcn.140096ef0
mov rcx, rbx
call fcn.140081140
mov rcx, r14
call fcn.140042c90
test al, al
je 0x140042c10
lea rcx, [rsp + 0x40]
call fcn.1400810ec
mov rdx, rax
jmp 0x140042c08
lea r15, [r14 + 0x1080]
mov r8d, 0x800
mov rdx, r15
lea rcx, [rbp + 0x1f40]
call fcn.140096ef0
xor edi, edi
mov rcx, r15
mov word [rsp + 0x40], di
call fcn.1400810c8
movzx ecx, word [r15]
mov rbx, rax
call fcn.140080b1c
test al, al
je 0x14004292a
movzx ecx, word [rbx]
call fcn.140080b1c
test al, al
je 0x14004292a
cmp rbx, r15
jbe 0x14004292a
mov word [rbx], di
test r12d, r12d
jle 0x140042a2a
xor r13d, r13d
cmp byte [r14 + 0x107e], r13b
jne 0x140042a23
mov rcx, r15
call fcn.1400809e8
test al, al
je 0x1400429d8
movzx ecx, word [r14 + 0x1084]
call fcn.140080b1c
test al, al
je 0x1400429d8
cmp word [r14 + 0x1086], r13w
jne 0x1400429d8
cmp dword [r14 + 0x2280], r13d
jle 0x140042981
mov byte [r14 + 0x107e], 1
jmp 0x1400429fb
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, [0x1401c6f50]
call fcn.14004960c
mov rdi, qword [0x140202fe8]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x28]
mov rcx, rbx
call qword [fcn.140016c20]
mov rdx, qword [rsp + 0x38]
mov rcx, rdi
call rbx
jmp 0x1400429fb
mov rcx, r15
call fcn.1400810ec
mov rdx, rax
lea rcx, [rsp + 0x40]
mov r8d, 0x800
call fcn.140096ef0
mov rcx, r15
call fcn.140081140
dec r12d
jmp 0x140042a04
add rsi, 2
cmp word [rsi], 0x2e
je 0x140042a00
movzx ecx, word [rsi]
call fcn.140080b1c
test al, al
je 0x140042a1a
add rsi, 2
test r12d, r12d
jg 0x140042936
mov r13b, byte [rsp + 0x30]
xor edi, edi
test r13b, r13b
je 0x140042a50
mov r12d, 0x800
lea rdx, [rbp + 0xf40]
mov r8d, r12d
mov rcx, r15
call fcn.140080520
lea rdx, [rbp + 0xf40]
jmp 0x140042a65
mov rcx, rsi
call fcn.140080a1c
test al, al
je 0x140042a72
mov r12d, 0x800
mov rdx, rsi
mov r8, r12
mov rcx, r15
call fcn.140096ef0
jmp 0x140042ada
mov rcx, rsi
call fcn.1400809e8
test al, al
je 0x140042ab6
movzx ecx, word [r15]
call fcn.140099f3c
movzx ecx, word [rsi]
mov ebx, eax
call fcn.140099f3c
mov r12d, 0x800
cmp eax, ebx
je 0x140042aa9
mov r8d, r12d
mov rdx, r15
mov rcx, rsi
call fcn.1400d15d4
mov rdx, r12
mov rcx, r15
call fcn.14007f710
jmp 0x140042ada
mov r12d, 0x800
cmp word [rsi], di
je 0x140042ada
mov edx, r12d
mov rcx, r15
call fcn.14007f710
mov r8d, r12d
mov rdx, rsi
mov rcx, r15
call fcn.140096ec8
mov rcx, r15
call fcn.1400804f4
mov ebx, eax
cmp eax, 0xffffffff
je 0x140042b0a
call fcn.1400d021c
bt eax, ebx
jb 0x140042b0a
mov r8, r12
lea rdx, [rbp + 0x1f40]
mov rcx, r15
call fcn.140096ef0
jmp 0x140042c10
cmp byte [r14 + 0x107e], dil
jne 0x140042bf5
mov rcx, r15
call fcn.140070448
test al, al
jne 0x140042bf5
mov r8d, r12d
lea rdx, [rbp + 0xf40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
dec eax
cmp eax, 0x7fe
ja 0x140042b5f
lea rcx, [rbp + 0xf40]
call fcn.140070448
test al, al
je 0x140042b5f
lea rdx, [rbp + 0xf40]
jmp 0x140042bea
cmp word [r15], 0x5c
jne 0x140042b9c
cmp word [r14 + 0x1082], 0x5c
jne 0x140042b9c
lea rcx, [r14 + 0x1084]
lea rdx, [0x1401490e8]
call fcn.14012bcec
test rax, rax
jne 0x140042b9c
cmp dword [r14 + 0x2280], edi
jle 0x140042b9c
mov byte [r14 + 0x107e], 1
jmp 0x140042bf5
mov ecx, 0x6c
call fcn.140090e20
mov r8, rax
lea rcx, [rbp + 0x3f40]
mov r9, r15
mov edx, 0x864
call fcn.140002910
mov ecx, 0x66
call fcn.140090e20
mov rcx, qword [0x14019b6f0]
lea rdx, [rbp + 0x3f40]
mov r8, rax
mov r9d, 0x10
call fcn.1400d19e0
lea rdx, [rbp + 0x1f40]
mov r8, r12
mov rcx, r15
call fcn.140096ef0
movzx eax, word [rsp + 0x40]
neg ax
lea rax, [rsp + 0x40]
sbb rdx, rdx
and rdx, rax
mov rcx, r14
call fcn.140047e30
mov rcx, qword [rbp + 0x5010]
xor rcx, rsp
call fcn.140101680
mov rbx, qword [rsp + 0x5170]
add rsp, 0x5120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret