Function at 0x140007a90
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.14000e5a0
sub rsp, rax
test rdx, rdx
mov r15, rcx
mov r12, rdx
je 0x140007c88
lea rcx, [0x14001b36e]
call fcn.140007960
xor r8d, r8d
xor ecx, ecx
mov rdx, r12
mov r14, rax
call fcn.140008bb0
test rax, rax
mov rbx, rax
je 0x140007d50
lea rbp, [rsp + 0x20]
mov r8d, 0x1000
mov rcx, rax
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 0x140007d20
mov rcx, rbp
call fcn.140008f40
test eax, eax
jne 0x140007c70
mov r8d, 0x1000
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__wfullpath]
mov rdi, rax
test rdi, rdi
je 0x140007d61
lea rsi, [rsp + 0x2020]
xor edx, edx
mov r8d, 0x2000
mov rcx, rsi
call sub.msvcrt.dll_memset
mov edx, 0x5c
mov rcx, rdi
call sub.msvcrt.dll_wcschr
mov r13, qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test rax, rax
mov rbx, rax
je 0x140007ba6
nop word [rax + rax]
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
sub r8, rdi
sar r8, 1
add r8, 1
call sub.msvcrt.dll_wcsncpy
xor edx, edx
mov rcx, rsi
call r13
lea rcx, [rbx + 2]
mov edx, 0x5c
call sub.msvcrt.dll_wcschr
test rax, rax
mov rbx, rax
jne 0x140007b70
xor edx, edx
mov rcx, rdi
call r13
lea rcx, [0x14001b444]
mov rdx, rdi
call qword [sym.imp.msvcrt.dll__wputenv_s]
mov rcx, rdi
mov ebx, eax
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x140007d38
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.140007830
mov r13, qword [sym.imp.msvcrt.dll__wtempnam]
mov rdx, rbp
mov rcx, rsi
call r13
mov rcx, rax
mov rbx, rax
call fcn.140008d30
test eax, eax
je 0x140007ca0
mov rcx, rbx
call sub.msvcrt.dll_free
sub edi, 1
jne 0x140007c06
test r12, r12
je 0x140007c54
test r14, r14
je 0x140007cf0
lea rcx, [0x14001b36e]
mov rdx, r14
call fcn.1400079f0
mov rcx, r14
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 rdi, rax
jmp 0x140007b2d
lea rbp, [rsp + 0x20]
xor r14d, r14d
lea rsi, [rsp + 0x2020]
jmp 0x140007bd0
mov r8d, 0x1000
mov rdx, rbx
mov rcx, r15
call fcn.1400089e0
mov rcx, rbx
call sub.msvcrt.dll_free
test r12, r12
je 0x140007cde
test r14, r14
je 0x140007d72
lea rcx, [0x14001b36e]
mov rdx, r14
call fcn.1400079f0
mov rcx, r14
call sub.msvcrt.dll_free
mov eax, 1
jmp 0x140007c56
lea rdx, [0x14001b36e]
xor r8d, r8d
xor ecx, ecx
call fcn.140008bb0
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 0x140007c54
lea rcx, str.LOADER:_Failed_to_expand_environment_variables_in_the_runtime_tmpdir._n
call fcn.140002a50
jmp 0x140007c54
lea rcx, str.LOADER:_Failed_to_set_the_TMP_environment_variable._n
call fcn.140002a50
jmp 0x140007c54
lea rcx, str.LOADER:_Failed_to_convert_runtime_tmpdir_to_a_wide_string._n
call fcn.140002a50
jmp 0x140007c54
lea rcx, str.LOADER:_Failed_to_obtain_the_absolute_path_of_the_runtime_tmpdir._n
call fcn.140002a50
jmp 0x140007c54
lea rdx, [0x14001b36e]
xor r8d, r8d
xor ecx, ecx
call fcn.140008bb0
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 0x140007cde