Function at 0x14000aa8b
Capabilities:
Query environment variable

Disassembly:
push rbp
mov eax, 0x1040
call fcn.140035990
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xfd0], rcx
mov dword [rbp + 0xfd8], edx
mov qword [rbp + 0xfe0], r8
mov qword [rbp + 0xfe8], r9
mov byte [rbp - 0x60], 0
lea rax, str.TEMP
mov rcx, rax
call sub.msvcrt.dll_getenv
mov qword [rbp + 0xfb0], rax
cmp qword [rbp + 0xfb0], 0
je 0x14000aafb
mov rdx, qword [rbp + 0xfb0]
lea rax, [rbp - 0x60]
mov r8d, 0x1000
mov rcx, rax
call fcn.14000fdc0
jmp 0x14000ab6f
lea rax, [0x1402c2665]
mov rcx, rax
call sub.msvcrt.dll_getenv
mov qword [rbp + 0xfb0], rax
cmp qword [rbp + 0xfb0], 0
je 0x14000ab36
mov rdx, qword [rbp + 0xfb0]
lea rax, [rbp - 0x60]
mov r8d, 0x1000
mov rcx, rax
call fcn.14000fdc0
jmp 0x14000ab6f
lea rax, str.TMPDIR
mov rcx, rax
call sub.msvcrt.dll_getenv
mov qword [rbp + 0xfb0], rax
cmp qword [rbp + 0xfb0], 0
je 0x14000ab6f
mov rdx, qword [rbp + 0xfb0]
lea rax, [rbp - 0x60]
mov r8d, 0x1000
mov rcx, rax
call fcn.14000fdc0
movzx eax, byte [rbp - 0x60]
test al, al
je 0x14000ab90
lea rax, [rbp - 0x60]
mov r8d, 0x1000
lea rdx, [0x1402c2670]
mov rcx, rax
call fcn.14000fe70
lea rax, [rbp - 0x60]
mov r8d, 0x1000
lea rdx, str.file.XXXXXX
mov rcx, rax
call fcn.14000fe70
mov ecx, 0
call sub.msvcrt.dll__umask
mov word [rbp + 0xfae], ax
lea rax, [rbp - 0x60]
mov rcx, rax
call fcn.1400371e0
mov dword [rbp + 0xfa8], eax
movzx eax, word [rbp + 0xfae]
mov ecx, eax
call sub.msvcrt.dll__umask
mov rax, qword [sym.imp.msvcrt.dll__errno]
call rax
mov eax, dword [rax]
mov dword [rbp + 0xfa4], eax
lea rax, [rbp - 0x60]
mov rcx, rax
call sub.msvcrt.dll__unlink
mov rax, qword [sym.imp.msvcrt.dll__errno]
call rax
mov edx, dword [rbp + 0xfa4]
mov dword [rax], edx
cmp dword [rbp + 0xfa8], 0xffffffff
jne 0x14000ac3b
mov rax, qword [sym.imp.msvcrt.dll__errno]
call rax
mov eax, dword [rax]
lea r8, str.cannot_create_temporary_file_for_pipe_copy
mov edx, eax
mov rcx, qword [rbp + 0xfd0]
call fcn.14000cc45
mov eax, 0xffffffff
jmp 0x14000adbf
mov rcx, qword [rbp + 0xfe8]
mov rdx, qword [rbp + 0xfe0]
mov eax, dword [rbp + 0xfa8]
mov r8, rcx
mov ecx, eax
call fcn.14000a975
mov rdx, qword [rbp + 0xfe8]
cmp rax, rdx
je 0x14000ac96
mov qword [rbp + 0xfb8], 1
jmp 0x14000acc7
mov rcx, qword [rbp + 0xfb8]
lea rdx, [rbp - 0x60]
mov eax, dword [rbp + 0xfa8]
mov r8, rcx
mov ecx, eax
call fcn.14000a975
cmp qword [rbp + 0xfb8], rax
jne 0x14000acc6
lea rdx, [rbp - 0x60]
mov eax, dword [rbp + 0xfd8]
mov r9d, 1
mov r8d, 0x1000
mov ecx, eax
call fcn.14000a9f2
mov qword [rbp + 0xfb8], rax
cmp qword [rbp + 0xfb8], 0
jg 0x14000ac72
jmp 0x14000acc7
nop
cmp qword [rbp + 0xfb8], 0xffffffffffffffff
je 0x14000acdd
cmp qword [rbp + 0xfb8], 0
je 0x14000ad31
jmp 0x14000ad07
mov rax, qword [sym.imp.msvcrt.dll__errno]
call rax
mov eax, dword [rax]
lea r8, str.error_copying_from_pipe_to_temp_file
mov edx, eax
mov rcx, qword [rbp + 0xfd0]
call fcn.14000cc45
mov eax, 0xffffffff
jmp 0x14000adbf
mov rax, qword [sym.imp.msvcrt.dll__errno]
call rax
mov eax, dword [rax]
lea r8, str.error_while_writing_to_temp_file
mov edx, eax
mov rcx, qword [rbp + 0xfd0]
call fcn.14000cc45
mov eax, 0xffffffff
jmp 0x14000adbf
nop
mov edx, dword [rbp + 0xfd8]
mov eax, dword [rbp + 0xfa8]
mov ecx, eax
call sub.msvcrt.dll__dup2
mov dword [rbp + 0xfd8], eax
cmp dword [rbp + 0xfd8], 0xffffffff
jne 0x14000ad7b
mov rax, qword [sym.imp.msvcrt.dll__errno]
call rax
mov eax, dword [rax]
lea r8, str.could_not_dup_descriptor_for_temp_file
mov edx, eax
mov rcx, qword [rbp + 0xfd0]
call fcn.14000cc45
mov eax, 0xffffffff
jmp 0x14000adbf
mov eax, dword [rbp + 0xfa8]
mov ecx, eax
call sub.msvcrt.dll__close
mov eax, dword [rbp + 0xfd8]
mov r8d, 0
mov edx, 0
mov ecx, eax
call fcn.140037ac0
cmp rax, 0xffffffffffffffff
jne 0x14000adb9
mov rcx, qword [rbp + 0xfd0]
call fcn.14000cd1b
mov eax, 0xffffffff
jmp 0x14000adbf
mov eax, dword [rbp + 0xfd8]
add rsp, 0x1040
pop rbp
ret