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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov edi, 0x1770
mov rcx, rdi
call fcn.140016610
xor r15d, r15d
mov ecx, 0x2ee0
mov qword [0x14004c780], rax
mov byte [rax], r15b
call fcn.140016610
mov qword [0x14004c788], rax
mov ecx, 0x2719
mov word [rax], r15w
call fcn.14000469c
mov rdx, qword [0x14004c780]
mov ecx, edi
cmp eax, r15d
setne r14b
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
cmp eax, r15d
jbe 0x14000647b
mov rsi, qword [0x14004c780]
mov rcx, rsi
call fcn.140016740
cmp rax, r15
jbe 0x140006444
mov rcx, rsi
call fcn.140018bdc
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
cmp eax, r15d
mov r12d, eax
jle 0x14000643a
lea ebx, [rax + 0xa]
movsxd rcx, ebx
call fcn.140016610
mov r8d, ebx
mov rcx, rsi
mov rdx, rax
mov rbp, rax
mov r13b, 1
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
cmp eax, r15d
jbe 0x14000642d
lea edx, [r15 + 0x3f]
mov rcx, rbp
call fcn.14001670c
cmp rax, r15
je 0x1400063f9
mov r13b, r15b
jmp 0x14000642d
cmp r14b, r15b
je 0x14000642d
cmp r12d, edi
jge 0x14000642d
mov rdx, rbp
mov rcx, rsi
call fcn.1400186e0
cmp eax, r15d
je 0x14000642d
lea rcx, str.using_long_path__S
mov rdx, rbp
call fcn.140011a6c
mov rdx, rbp
mov rcx, rsi
call fcn.140016d10
mov rcx, rbp
call fcn.140016ad0
cmp r13b, r15b
je 0x14000647b
mov rcx, rsi
call fcn.140005ea0
jmp 0x140006447
mov al, r15b
cmp al, r15b
je 0x14000647b
mov rdx, qword [0x14004c788]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, r15d
jbe 0x14000647b
mov rcx, qword [0x14004c788]
mov r8b, 1
mov dl, r8b
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rdx, qword [0x14004c780]
lea rcx, str.USERPROFILE
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x1400065c2
mov rcx, qword [0x14004c780]
lea rdx, str.AppDataLocalTemp
call fcn.140016c70
cmp rax, r15
je 0x1400065c2
mov rsi, qword [0x14004c780]
mov rcx, rsi
call fcn.140016740
cmp rax, r15
jbe 0x14000656c
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
cmp eax, r15d
mov r12d, eax
jle 0x140006562
lea ebx, [rax + 0xa]
movsxd rcx, ebx
call fcn.140016610
mov r8d, ebx
mov rcx, rsi
mov rdx, rax
mov rbp, rax
mov r13b, 1
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
cmp eax, r15d
jbe 0x140006555
mov edx, 0x3f
mov rcx, rbp
call fcn.14001670c
cmp rax, r15
je 0x140006521
mov r13b, r15b
jmp 0x140006555
cmp r14b, r15b
je 0x140006555
cmp r12d, edi
jge 0x140006555
mov rdx, rbp
mov rcx, rsi
call fcn.1400186e0
cmp eax, r15d
je 0x140006555
lea rcx, str.using_long_path__S
mov rdx, rbp
call fcn.140011a6c
mov rdx, rbp
mov rcx, rsi
call fcn.140016d10
mov rcx, rbp
call fcn.140016ad0
cmp r13b, r15b
je 0x1400065c2
mov rcx, rsi
call fcn.140005ea0
jmp 0x14000656f
mov al, r15b
cmp al, r15b
je 0x1400065c2
mov rdx, qword [0x14004c788]
lea rcx, [0x1400349d0]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x1400065c2
mov rcx, qword [0x14004c788]
lea rdx, [0x1400349a8]
call fcn.140017870
cmp rax, r15
je 0x1400065c2
mov rcx, qword [0x14004c788]
mov r8b, 1
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rdx, qword [0x14004c780]
lea rcx, str.HOMEDRIVE
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x140006758
mov rcx, qword [0x14004c780]
call fcn.140016740
mov rcx, qword [0x14004c780]
mov ebx, edi
sub ebx, eax
call fcn.140016740
lea rcx, str.HOMEPATH
add rax, qword [0x14004c780]
mov r8d, ebx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x140006758
mov rsi, qword [0x14004c780]
mov rcx, rsi
call fcn.140016740
cmp rax, r15
jbe 0x1400066de
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
cmp eax, r15d
mov r12d, eax
jle 0x1400066d4
lea ebx, [rax + 0xa]
movsxd rcx, ebx
call fcn.140016610
mov r8d, ebx
mov rcx, rsi
mov rdx, rax
mov rbp, rax
mov r13b, 1
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
cmp eax, r15d
jbe 0x1400066c3
mov edx, 0x3f
mov rcx, rbp
call fcn.14001670c
cmp rax, r15
je 0x14000668f
mov r13b, r15b
jmp 0x1400066c3
cmp r14b, r15b
je 0x1400066c3
cmp r12d, edi
jge 0x1400066c3
mov rdx, rbp
mov rcx, rsi
call fcn.1400186e0
cmp eax, r15d
je 0x1400066c3
lea rcx, str.using_long_path__S
mov rdx, rbp
call fcn.140011a6c
mov rdx, rbp
mov rcx, rsi
call fcn.140016d10
mov rcx, rbp
call fcn.140016ad0
cmp r13b, r15b
je 0x140006758
mov rcx, rsi
call fcn.140005ea0
jmp 0x1400066e1
mov al, r15b
cmp al, r15b
je 0x140006758
mov rdx, qword [0x14004c788]
lea rcx, [0x140034970]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x140006758
mov rcx, qword [0x14004c788]
call fcn.1400171b8
mov rcx, qword [0x14004c788]
mov ebx, edi
sub ebx, eax
call fcn.1400171b8
mov rcx, qword [0x14004c788]
lea rdx, [rcx + rax*2]
lea rcx, [0x140034958]
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x140006758
mov rcx, qword [0x14004c788]
mov r8b, 1
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
call fcn.140005b60
mov r10, qword [0x140045230]
cmp r10, r15
je 0x140006933
mov rax, qword [0x14004c780]
xor r9d, r9d
xor r8d, r8d
lea ebx, [r9 + 0x23]
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov edx, ebx
call r10
cmp eax, r15d
jne 0x140006933
mov rcx, qword [0x14004c780]
call fcn.140016740
cmp rax, r15
jbe 0x140006933
mov r10, qword [0x140045238]
cmp r10, r15
je 0x140006933
mov rax, qword [0x14004c788]
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call r10
cmp eax, r15d
jne 0x140006933
mov rcx, qword [0x14004c788]
call fcn.1400171b8
cmp rax, r15
jbe 0x140006933
mov rcx, qword [0x14004c780]
lea rdx, [0x140034948]
call fcn.140016c70
mov rcx, qword [0x14004c780]
call fcn.140018bdc
mov rcx, qword [0x14004c780]
lea rdx, [0x140034940]
call fcn.140016c70
mov rcx, qword [0x14004c788]
lea rdx, [0x140034928]
call fcn.140017870
mov rcx, qword [0x14004c788]
call fcn.140018c84
mov rcx, qword [0x14004c788]
lea rdx, [0x140034918]
call fcn.140017870
mov rbp, qword [0x14004c780]
mov rcx, rbp
call fcn.140016740
cmp rax, r15
jbe 0x140006910
mov rcx, rbp
call fcn.140018bdc
xor r8d, r8d
xor edx, edx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
cmp eax, r15d
mov r12d, eax
jle 0x140006906
lea ebx, [rax + 0xa]
movsxd rcx, ebx
call fcn.140016610
mov r8d, ebx
mov rcx, rbp
mov rdx, rax
mov rsi, rax
mov r13b, 1
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
cmp eax, r15d
jbe 0x1400068f9
mov edx, 0x3f
mov rcx, rsi
call fcn.14001670c
cmp rax, r15
je 0x1400068c5
mov r13b, r15b
jmp 0x1400068f9
cmp r14b, r15b
je 0x1400068f9
cmp r12d, edi
jge 0x1400068f9
mov rdx, rsi
mov rcx, rbp
call fcn.1400186e0
cmp eax, r15d
je 0x1400068f9
lea rcx, str.using_long_path__S
mov rdx, rsi
call fcn.140011a6c
mov rdx, rsi
mov rcx, rbp
call fcn.140016d10
mov rcx, rsi
call fcn.140016ad0
cmp r13b, r15b
je 0x140006933
mov rcx, rbp
call fcn.140005ea0
jmp 0x140006913
mov al, r15b
cmp al, r15b
je 0x140006933
mov rcx, qword [0x14004c788]
mov r8b, 1
mov dl, r8b
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x14004c780]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
cmp eax, r15d
jbe 0x1400069cf
mov rcx, qword [0x14004c780]
lea rdx, [0x140034940]
call fcn.140016c70
cmp rax, r15
je 0x1400069cf
mov rbx, qword [0x14004c780]
mov rcx, rbx
call fcn.140016740
cmp rax, r15
jbe 0x140006981
mov rcx, rbx
call fcn.140005ea0
jmp 0x140006984
mov al, r15b
cmp al, r15b
je 0x1400069cf
mov rcx, qword [0x14004c788]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
cmp eax, r15d
jbe 0x1400069cf
mov rcx, qword [0x14004c788]
lea rdx, [0x140034918]
call fcn.140017870
cmp rax, r15
je 0x1400069cf
mov rcx, qword [0x14004c788]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x14004c780]
lea rdx, str.c:_temp
call fcn.140016d10
cmp rax, r15
je 0x140006a3f
mov rbx, qword [0x14004c780]
mov rcx, rbx
call fcn.140016740
cmp rax, r15
jbe 0x140006a05
mov rcx, rbx
call fcn.140005ea0
jmp 0x140006a08
mov al, r15b
cmp al, r15b
je 0x140006a3f
mov rcx, qword [0x14004c788]
lea rdx, [0x140034900]
call fcn.14001789c
cmp rax, r15
je 0x140006a3f
mov rcx, qword [0x14004c788]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x14004c780]
lea rdx, str.c:_tmp
call fcn.140016d10
cmp rax, r15
je 0x140006aaf
mov rbx, qword [0x14004c780]
mov rcx, rbx
call fcn.140016740
cmp rax, r15
jbe 0x140006a75
mov rcx, rbx
call fcn.140005ea0
jmp 0x140006a78
mov al, r15b
cmp al, r15b
je 0x140006aaf
mov rcx, qword [0x14004c788]
lea rdx, [0x1400348e8]
call fcn.14001789c
cmp rax, r15
je 0x140006aaf
mov rcx, qword [0x14004c788]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x14004c780]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
cmp eax, r15d
jbe 0x140006b17
mov rbx, qword [0x14004c780]
mov rcx, rbx
call fcn.140016740
cmp rax, r15
jbe 0x140006ae1
mov rcx, rbx
call fcn.140005ea0
jmp 0x140006ae4
mov al, r15b
cmp al, r15b
je 0x140006b17
mov rcx, qword [0x14004c788]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
cmp eax, r15d
jbe 0x140006b17
mov rcx, qword [0x14004c788]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x14004c780]
lea rdx, str.c:_tmp
call fcn.140016d10
cmp rax, r15
je 0x140006b8f
mov rbx, qword [0x14004c780]
mov rcx, rbx
call fcn.140016740
cmp rax, r15
jbe 0x140006b55
mov rcx, rbx
call fcn.140018bdc
mov rcx, rbx
call fcn.140005ea0
jmp 0x140006b58
mov al, r15b
cmp al, r15b
je 0x140006b8f
mov rcx, qword [0x14004c788]
lea rdx, [0x1400348e8]
call fcn.14001789c
cmp rax, r15
je 0x140006b8f
mov rcx, qword [0x14004c788]
xor r8d, r8d
mov dl, 1
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rdx, qword [0x14004c780]
mov ecx, edi
mov byte [0x14004c772], 1
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
cmp eax, r15d
jbe 0x140006bf1
mov rcx, qword [0x14004c780]
mov r9b, r14b
xor r8d, r8d
mov dl, 1
call fcn.140006030
cmp al, r15b
je 0x140006bf1
mov rdx, qword [0x14004c788]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, r15d
jbe 0x140006bf1
mov rcx, qword [0x14004c788]
xor r8d, r8d
mov dl, 1
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rdx, qword [0x14004c780]
lea rcx, str.USERPROFILE
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x140006c8c
mov rcx, qword [0x14004c780]
lea rdx, str.AppDataLocalTemp
call fcn.140016c70
cmp rax, r15
je 0x140006c8c
mov rcx, qword [0x14004c780]
mov r9b, r14b
xor r8d, r8d
xor edx, edx
call fcn.140006030
cmp al, r15b
je 0x140006c8c
mov rdx, qword [0x14004c788]
lea rcx, [0x1400349d0]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x140006c8c
mov rcx, qword [0x14004c788]
lea rdx, [0x1400349a8]
call fcn.140017870
cmp rax, r15
je 0x140006c8c
mov rcx, qword [0x14004c788]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rdx, qword [0x14004c780]
lea rcx, str.HOMEDRIVE
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x140006d70
mov rcx, qword [0x14004c780]
call fcn.140016740
mov rcx, qword [0x14004c780]
mov ebx, edi
sub ebx, eax
call fcn.140016740
lea rcx, str.HOMEPATH
add rax, qword [0x14004c780]
mov r8d, ebx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x140006d70
mov rcx, qword [0x14004c780]
mov r9b, r14b
xor r8d, r8d
xor edx, edx
call fcn.140006030
cmp al, r15b
je 0x140006d70
mov rdx, qword [0x14004c788]
lea rcx, [0x140034970]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x140006d70
mov rcx, qword [0x14004c788]
call fcn.1400171b8
mov rcx, qword [0x14004c788]
sub edi, eax
call fcn.1400171b8
mov rdx, qword [0x14004c788]
lea rcx, [0x140034958]
lea rdx, [rdx + rax*2]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x140006d70
mov rcx, qword [0x14004c788]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x14004c780]
call fcn.140018ce8
mov rcx, qword [0x14004c788]
mov qword [0x14004c780], r15
call fcn.140018ce8
mov qword [0x14004c788], r15
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret