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.140019b3c
xor r15d, r15d
mov ecx, 0x2ee0
mov qword [0x140055be0], rax
mov byte [rax], r15b
call fcn.140019b3c
mov qword [0x140055be8], rax
mov ecx, 0x2719
mov word [rax], r15w
call fcn.14000469c
mov rdx, qword [0x140055be0]
mov ecx, edi
cmp eax, r15d
setne r14b
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
cmp eax, r15d
jbe 0x14000647b
mov rsi, qword [0x140055be0]
mov rcx, rsi
call fcn.14001a6c0
cmp rax, r15
jbe 0x140006444
mov rcx, rsi
call fcn.14001cbfc
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.140019b3c
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.14001a694
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.14001c700
cmp eax, r15d
je 0x14000642d
lea rcx, str.using_long_path__S
mov rdx, rbp
call fcn.140013de8
mov rdx, rbp
mov rcx, rsi
call fcn.14001ad30
mov rcx, rbp
call fcn.14001aaec
cmp r13b, r15b
je 0x14000647b
mov rcx, rsi
call fcn.140005ea0
jmp 0x140006447
mov al, r15b
cmp al, r15b
je 0x14000647b
mov rdx, qword [0x140055be8]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, r15d
jbe 0x14000647b
mov rcx, qword [0x140055be8]
mov r8b, 1
mov dl, r8b
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rdx, qword [0x140055be0]
lea rcx, str.USERPROFILE
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x1400065c2
mov rcx, qword [0x140055be0]
lea rdx, str.AppDataLocalTemp
call fcn.14001ac90
cmp rax, r15
je 0x1400065c2
mov rsi, qword [0x140055be0]
mov rcx, rsi
call fcn.14001a6c0
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.140019b3c
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.14001a694
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.14001c700
cmp eax, r15d
je 0x140006555
lea rcx, str.using_long_path__S
mov rdx, rbp
call fcn.140013de8
mov rdx, rbp
mov rcx, rsi
call fcn.14001ad30
mov rcx, rbp
call fcn.14001aaec
cmp r13b, r15b
je 0x1400065c2
mov rcx, rsi
call fcn.140005ea0
jmp 0x14000656f
mov al, r15b
cmp al, r15b
je 0x1400065c2
mov rdx, qword [0x140055be8]
lea rcx, [0x14003aa80]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x1400065c2
mov rcx, qword [0x140055be8]
lea rdx, [0x14003aa58]
call fcn.14001b890
cmp rax, r15
je 0x1400065c2
mov rcx, qword [0x140055be8]
mov r8b, 1
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rdx, qword [0x140055be0]
lea rcx, str.HOMEDRIVE
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x140006758
mov rcx, qword [0x140055be0]
call fcn.14001a6c0
mov rcx, qword [0x140055be0]
mov ebx, edi
sub ebx, eax
call fcn.14001a6c0
lea rcx, str.HOMEPATH
add rax, qword [0x140055be0]
mov r8d, ebx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x140006758
mov rsi, qword [0x140055be0]
mov rcx, rsi
call fcn.14001a6c0
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.140019b3c
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.14001a694
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.14001c700
cmp eax, r15d
je 0x1400066c3
lea rcx, str.using_long_path__S
mov rdx, rbp
call fcn.140013de8
mov rdx, rbp
mov rcx, rsi
call fcn.14001ad30
mov rcx, rbp
call fcn.14001aaec
cmp r13b, r15b
je 0x140006758
mov rcx, rsi
call fcn.140005ea0
jmp 0x1400066e1
mov al, r15b
cmp al, r15b
je 0x140006758
mov rdx, qword [0x140055be8]
lea rcx, [0x14003aa20]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x140006758
mov rcx, qword [0x140055be8]
call fcn.14001b1d8
mov rcx, qword [0x140055be8]
mov ebx, edi
sub ebx, eax
call fcn.14001b1d8
mov rcx, qword [0x140055be8]
lea rdx, [rcx + rax*2]
lea rcx, [0x14003aa08]
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x140006758
mov rcx, qword [0x140055be8]
mov r8b, 1
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
call fcn.140005b60
mov r10, qword [0x14004e690]
cmp r10, r15
je 0x140006933
mov rax, qword [0x140055be0]
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 [0x140055be0]
call fcn.14001a6c0
cmp rax, r15
jbe 0x140006933
mov r10, qword [0x14004e698]
cmp r10, r15
je 0x140006933
mov rax, qword [0x140055be8]
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 [0x140055be8]
call fcn.14001b1d8
cmp rax, r15
jbe 0x140006933
mov rcx, qword [0x140055be0]
lea rdx, [0x14003a9f8]
call fcn.14001ac90
mov rcx, qword [0x140055be0]
call fcn.14001cbfc
mov rcx, qword [0x140055be0]
lea rdx, [0x14003a9f0]
call fcn.14001ac90
mov rcx, qword [0x140055be8]
lea rdx, [0x14003a9d8]
call fcn.14001b890
mov rcx, qword [0x140055be8]
call fcn.14001cca4
mov rcx, qword [0x140055be8]
lea rdx, [0x14003a9c8]
call fcn.14001b890
mov rbp, qword [0x140055be0]
mov rcx, rbp
call fcn.14001a6c0
cmp rax, r15
jbe 0x140006910
mov rcx, rbp
call fcn.14001cbfc
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.140019b3c
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.14001a694
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.14001c700
cmp eax, r15d
je 0x1400068f9
lea rcx, str.using_long_path__S
mov rdx, rsi
call fcn.140013de8
mov rdx, rsi
mov rcx, rbp
call fcn.14001ad30
mov rcx, rsi
call fcn.14001aaec
cmp r13b, r15b
je 0x140006933
mov rcx, rbp
call fcn.140005ea0
jmp 0x140006913
mov al, r15b
cmp al, r15b
je 0x140006933
mov rcx, qword [0x140055be8]
mov r8b, 1
mov dl, r8b
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x140055be0]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
cmp eax, r15d
jbe 0x1400069cf
mov rcx, qword [0x140055be0]
lea rdx, [0x14003a9f0]
call fcn.14001ac90
cmp rax, r15
je 0x1400069cf
mov rbx, qword [0x140055be0]
mov rcx, rbx
call fcn.14001a6c0
cmp rax, r15
jbe 0x140006981
mov rcx, rbx
call fcn.140005ea0
jmp 0x140006984
mov al, r15b
cmp al, r15b
je 0x1400069cf
mov rcx, qword [0x140055be8]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
cmp eax, r15d
jbe 0x1400069cf
mov rcx, qword [0x140055be8]
lea rdx, [0x14003a9c8]
call fcn.14001b890
cmp rax, r15
je 0x1400069cf
mov rcx, qword [0x140055be8]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x140055be0]
lea rdx, str.c:_temp
call fcn.14001ad30
cmp rax, r15
je 0x140006a3f
mov rbx, qword [0x140055be0]
mov rcx, rbx
call fcn.14001a6c0
cmp rax, r15
jbe 0x140006a05
mov rcx, rbx
call fcn.140005ea0
jmp 0x140006a08
mov al, r15b
cmp al, r15b
je 0x140006a3f
mov rcx, qword [0x140055be8]
lea rdx, [0x14003a9b0]
call fcn.14001b8bc
cmp rax, r15
je 0x140006a3f
mov rcx, qword [0x140055be8]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x140055be0]
lea rdx, str.c:_tmp
call fcn.14001ad30
cmp rax, r15
je 0x140006aaf
mov rbx, qword [0x140055be0]
mov rcx, rbx
call fcn.14001a6c0
cmp rax, r15
jbe 0x140006a75
mov rcx, rbx
call fcn.140005ea0
jmp 0x140006a78
mov al, r15b
cmp al, r15b
je 0x140006aaf
mov rcx, qword [0x140055be8]
lea rdx, [0x14003a998]
call fcn.14001b8bc
cmp rax, r15
je 0x140006aaf
mov rcx, qword [0x140055be8]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x140055be0]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
cmp eax, r15d
jbe 0x140006b17
mov rbx, qword [0x140055be0]
mov rcx, rbx
call fcn.14001a6c0
cmp rax, r15
jbe 0x140006ae1
mov rcx, rbx
call fcn.140005ea0
jmp 0x140006ae4
mov al, r15b
cmp al, r15b
je 0x140006b17
mov rcx, qword [0x140055be8]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
cmp eax, r15d
jbe 0x140006b17
mov rcx, qword [0x140055be8]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x140055be0]
lea rdx, str.c:_tmp
call fcn.14001ad30
cmp rax, r15
je 0x140006b8f
mov rbx, qword [0x140055be0]
mov rcx, rbx
call fcn.14001a6c0
cmp rax, r15
jbe 0x140006b55
mov rcx, rbx
call fcn.14001cbfc
mov rcx, rbx
call fcn.140005ea0
jmp 0x140006b58
mov al, r15b
cmp al, r15b
je 0x140006b8f
mov rcx, qword [0x140055be8]
lea rdx, [0x14003a998]
call fcn.14001b8bc
cmp rax, r15
je 0x140006b8f
mov rcx, qword [0x140055be8]
xor r8d, r8d
mov dl, 1
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rdx, qword [0x140055be0]
mov ecx, edi
mov byte [0x140055bd2], 1
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
cmp eax, r15d
jbe 0x140006bf1
mov rcx, qword [0x140055be0]
mov r9b, r14b
xor r8d, r8d
mov dl, 1
call fcn.140006030
cmp al, r15b
je 0x140006bf1
mov rdx, qword [0x140055be8]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, r15d
jbe 0x140006bf1
mov rcx, qword [0x140055be8]
xor r8d, r8d
mov dl, 1
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rdx, qword [0x140055be0]
lea rcx, str.USERPROFILE
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x140006c8c
mov rcx, qword [0x140055be0]
lea rdx, str.AppDataLocalTemp
call fcn.14001ac90
cmp rax, r15
je 0x140006c8c
mov rcx, qword [0x140055be0]
mov r9b, r14b
xor r8d, r8d
xor edx, edx
call fcn.140006030
cmp al, r15b
je 0x140006c8c
mov rdx, qword [0x140055be8]
lea rcx, [0x14003aa80]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x140006c8c
mov rcx, qword [0x140055be8]
lea rdx, [0x14003aa58]
call fcn.14001b890
cmp rax, r15
je 0x140006c8c
mov rcx, qword [0x140055be8]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rdx, qword [0x140055be0]
lea rcx, str.HOMEDRIVE
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x140006d70
mov rcx, qword [0x140055be0]
call fcn.14001a6c0
mov rcx, qword [0x140055be0]
mov ebx, edi
sub ebx, eax
call fcn.14001a6c0
lea rcx, str.HOMEPATH
add rax, qword [0x140055be0]
mov r8d, ebx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, r15d
jbe 0x140006d70
mov rcx, qword [0x140055be0]
mov r9b, r14b
xor r8d, r8d
xor edx, edx
call fcn.140006030
cmp al, r15b
je 0x140006d70
mov rdx, qword [0x140055be8]
lea rcx, [0x14003aa20]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x140006d70
mov rcx, qword [0x140055be8]
call fcn.14001b1d8
mov rcx, qword [0x140055be8]
sub edi, eax
call fcn.14001b1d8
mov rdx, qword [0x140055be8]
lea rcx, [0x14003aa08]
lea rdx, [rdx + rax*2]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, r15d
jbe 0x140006d70
mov rcx, qword [0x140055be8]
xor r8d, r8d
xor edx, edx
call fcn.140006148
cmp al, r15b
jne 0x140006d96
mov rcx, qword [0x140055be0]
call fcn.14001cd08
mov rcx, qword [0x140055be8]
mov qword [0x140055be0], r15
call fcn.14001cd08
mov qword [0x140055be8], 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