Function at 0x140007170
Capabilities:
Create directory
Get common file path
Query environment variable
Set environment variable

Disassembly:
push r15
mov eax, 0x4028
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.14000e0d0
sub rsp, rax
mov r14, rcx
mov r12, rdx
test rdx, rdx
je 0x140007360
lea rcx, [0x14001c36e]
call fcn.140007040
xor r8d, r8d
mov rdx, r12
xor ecx, ecx
mov r13, rax
call fcn.1400082f0
mov rbx, rax
test rax, rax
je 0x140007420
lea rbp, [rsp + 0x20]
mov rcx, rax
mov r8d, 0x1000
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov rcx, rbx
mov esi, eax
call sub.msvcrt.dll_free
test esi, esi
je 0x1400073f0
mov rcx, rbp
call fcn.140008680
test eax, eax
jne 0x140007348
mov r8d, 0x1000
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__wfullpath]
mov r15, rax
test r15, r15
je 0x140007431
lea rsi, [rsp + 0x2020]
xor eax, eax
mov ecx, 0x400
mov edx, 0x5c
mov rdi, rsi
rep stosq qword [rdi], rax
mov rcx, r15
call sub.msvcrt.dll_wcschr
mov rdi, qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rbx, rax
test rax, rax
je 0x140007285
nop word [rax + rax]
mov r8, rbx
mov rdx, r15
mov rcx, rsi
sub r8, r15
sar r8, 1
add r8, 1
call sub.msvcrt.dll_wcsncpy
xor edx, edx
mov rcx, rsi
call rdi
lea rcx, [rbx + 2]
mov edx, 0x5c
call sub.msvcrt.dll_wcschr
mov rbx, rax
test rax, rax
jne 0x140007250
xor edx, edx
mov rcx, r15
call rdi
lea rcx, [0x14001c444]
mov rdx, r15
call qword [sym.imp.msvcrt.dll__wputenv_s]
mov rcx, r15
mov ebx, eax
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x140007408
mov rdx, rsi
mov ecx, 0x1000
mov edi, 5
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
call sub.msvcrt.dll__getpid
lea r8, str._MEI_d
mov edx, 0x10
mov rcx, rbp
mov r9d, eax
call fcn.140006f10
mov r15, qword [sym.imp.msvcrt.dll__wtempnam]
mov rcx, rsi
mov rdx, rbp
call r15
mov rcx, rax
mov rbx, rax
call fcn.140008470
test eax, eax
je 0x140007378
mov rcx, rbx
call sub.msvcrt.dll_free
sub edi, 1
jne 0x1400072e4
test r12, r12
je 0x14000732e
test r13, r13
je 0x1400073c0
lea rcx, [0x14001c36e]
mov rdx, r13
call fcn.1400070d0
mov rcx, r13
call sub.msvcrt.dll_free
xor eax, eax
add rsp, 0x4028
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbp
call qword [sym.imp.msvcrt.dll__wcsdup_1]
mov r15, rax
jmp 0x14000720d
xor r13d, r13d
lea rbp, [rsp + 0x20]
lea rsi, [rsp + 0x2020]
jmp 0x1400072ae
mov rcx, r14
mov r8d, 0x1000
mov rdx, rbx
call fcn.140008120
mov rcx, rbx
call sub.msvcrt.dll_free
test r12, r12
je 0x1400073b6
test r13, r13
je 0x140007442
lea rcx, [0x14001c36e]
mov rdx, r13
call fcn.1400070d0
mov rcx, r13
call sub.msvcrt.dll_free
mov eax, 1
jmp 0x140007330
xor r8d, r8d
xor ecx, ecx
lea rdx, [0x14001c36e]
call fcn.1400082f0
xor edx, edx
mov rbx, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x14000732e
lea rcx, str.LOADER:_Failed_to_expand_environment_variables_in_the_runtime_tmpdir._n
call fcn.140002600
jmp 0x14000732e
lea rcx, str.LOADER:_Failed_to_set_the_TMP_environment_variable._n
call fcn.140002600
jmp 0x14000732e
lea rcx, str.LOADER:_Failed_to_convert_runtime_tmpdir_to_a_wide_string._n
call fcn.140002600
jmp 0x14000732e
lea rcx, str.LOADER:_Failed_to_obtain_the_absolute_path_of_the_runtime_tmpdir._n
call fcn.140002600
jmp 0x14000732e
xor r8d, r8d
xor ecx, ecx
lea rdx, [0x14001c36e]
call fcn.1400082f0
xor edx, edx
mov rbx, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x1400073b6