Function at 0x14000e5b0
Capabilities:
Query environment variable

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov rax, qword [0x140024020]
xor rax, rsp
mov qword [rbp + 0x58], rax
mov rbx, r9
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x28], ecx
xor r14d, r14d
mov qword [rdx], 0xffffffff80000002
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
lea edx, [r14 + 0x10]
lea rcx, [rsp + 0x78]
call fcn.140005590
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], 0xf
mov qword [rbp - 0x70], 0xf
movups xmm0, xmmword [str.SOFTWAREdotnet]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14001db38]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x14001db40]
mov dword [rax + 0x18], ecx
movzx ecx, word [0x14001db44]
mov word [rax + 0x1c], cx
mov word [rax + 0x1e], r14w
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
movzx eax, byte [str.d38cc827_e34f_4453_9df4_1e796e9f1d07]
cmp al, 0x65
jne 0x14000e6df
mov qword [rsp + 0x68], r14
mov word [rsp + 0x58], r14w
xor r8d, r8d
xor edx, edx
lea rcx, str._DOTNET_TEST_REGISTRY_PATH
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ebx, eax
test eax, eax
jne 0x14000e81f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xcb
je 0x14000e6da
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x14000e6c4
movzx eax, ax
or eax, 0x80070000
mov r8d, eax
lea rdx, str._DOTNET_TEST_REGISTRY_PATH
lea rcx, str.Failed_to_read_environment_variable___s___HRESULT:_0x_X
call fcn.1400071f0
mov rbx, qword [rsp + 0x20]
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 7
mov edx, 0x20
lea rcx, [rbp - 8]
call fcn.140005590
mov qword [rbp - 8], rax
mov qword [rbp + 8], 0x19
mov qword [rbp + 0x10], 0x1f
movups xmm0, xmmword [str.SetupInstalledVersions_]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14001dbb8]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14001dbc8]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x14001dbd8]
mov word [rax + 0x30], cx
mov word [rax + 0x32], r14w
lea r8, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae r8, qword [rsp + 0x78]
mov r9, qword [rbp - 0x78]
lea rcx, [rbp - 8]
call fcn.140008a80
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
movsxd rdx, dword [rsp + 0x28]
lea rax, [0x14001cab0]
mov rdx, qword [rax + rdx*8]
lea rcx, [rbp - 0x48]
call fcn.140005050
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x48], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
lea rdx, [rbp + 0x38]
mov rcx, qword [rsp + 0x50]
call fcn.140005170
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x14000ebf6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ebf0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ebf0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov eax, 2
mul rbx
mov r15, 0xffffffffffffffff
cmovo rax, r15
mov rcx, rax
call fcn.140013fac
mov rsi, rax
mov r8d, ebx
mov rdx, rax
lea rcx, str._DOTNET_TEST_REGISTRY_PATH
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14000e6b2
mov rdx, r15
nop dword [rax + rax]
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x14000e860
mov rax, qword [rsp + 0x70]
cmp rdx, rax
ja 0x14000e8a1
lea rdi, [rsp + 0x58]
cmp rax, 8
cmovae rdi, qword [rsp + 0x58]
mov qword [rsp + 0x68], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.140015580
mov word [rdi + rbx], r14w
jmp 0x14000e8ae
mov r9, rsi
lea rcx, [rsp + 0x58]
call fcn.140005df0
mov rcx, rsi
call fcn.140013ce0
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
mov edx, 0x18
lea rcx, [rbp + 0x18]
call fcn.140005590
mov rcx, rax
mov qword [rbp + 0x18], rax
mov edi, 0x12
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x30], 0x17
movups xmm0, xmmword [str.HKEY_CURRENT_USER_]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14001db90]
movups xmmword [rax + 0x10], xmm1
mov eax, dword [0x14001dba0]
mov dword [rcx + 0x20], eax
mov word [rcx + 0x24], r14w
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov rbx, qword [rsp + 0x68]
cmp rbx, rdi
cmovb rdi, rbx
lea rax, [rsp + 0x58]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
cmp r12, 8
cmovae rax, r14
mov qword [rsp + 0x30], rax
movabs r13, 0x7ffffffffffffffe
cmp rdi, r13
ja 0x14000ed54
mov ecx, 0xa
cmp rdi, 8
jae 0x14000e97d
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], 7
lea r8, [rdi + rdi]
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.140015580
mov rsi, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x58]
mov r8, qword [rbp - 0x68]
jmp 0x14000e9e2
mov rsi, rdi
or rsi, 7
cmp rsi, r13
jbe 0x14000e98e
mov rsi, r13
jmp 0x14000e995
cmp rsi, rcx
cmovb rsi, rcx
lea rdx, [rsi + 1]
lea rcx, [rbp - 0x68]
call fcn.140005590
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rsi
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, qword [rsp + 0x30]
mov rcx, rax
call fcn.140015580
mov r8, qword [rsp + 0x38]
xor eax, eax
mov word [r8 + rbx], ax
mov r12, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x58]
lea rcx, [rbp - 0x68]
cmp rsi, 8
setae r9b
cmovae rcx, r8
cmp rdi, 0x12
jne 0x14000ea1c
mov rdx, qword [rbp + 0x18]
test rdi, rdi
je 0x14000ea17
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x14000ea1c
add rcx, 2
add rdx, 2
sub rdi, 1
jne 0x14000ea01
mov dil, 1
jmp 0x14000ea1f
xor dil, dil
test r9b, r9b
je 0x14000ea68
lea rdx, [rsi*2 + 2]
mov rax, r8
cmp rdx, 0x1000
jb 0x14000ea51
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000eb5f
mov rcx, r8
call fcn.140013ce0
mov r12, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x58]
test dil, dil
je 0x14000eb98
mov rax, qword [rsp + 0x40]
mov qword [rax], 0xffffffff80000001
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
cmp rbx, 0x12
jb 0x14000ed5a
lea rax, [rbx - 0x12]
cmp rax, 0xffffffffffffffff
cmovb r15, rax
lea rsi, [rsp + 0x58]
cmp r12, 8
cmovae rsi, r14
cmp r15, r13
ja 0x14000ed54
cmp r15, 8
jae 0x14000ead5
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], 7
lea r8, [r15 + r15]
lea rdx, [rsi + 0x24]
lea rcx, [rbp - 0x28]
call fcn.140015580
jmp 0x14000eb30
mov rax, r15
or rax, 7
cmp rax, r13
ja 0x14000eaf1
mov r13, rax
cmp rax, 0xa
mov eax, 0xa
cmovb r13, rax
lea rdx, [r13 + 1]
lea rcx, [rbp - 0x28]
call fcn.140005590
mov rdi, rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], r13
lea rbx, [r15 + r15]
mov r8, rbx
lea rdx, [rsi + 0x24]
mov rcx, rax
call fcn.140015580
xor eax, eax
mov word [rdi + rbx], ax
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x58]
cmp r12, 8
jb 0x14000eb6e
lea rdx, [r12*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x14000eb66
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000eb66
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.140013ce0
movups xmm2, xmmword [rbp - 0x28]
movups xmmword [rsp + 0x58], xmm2
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [rsp + 0x68], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r12, xmm0
movq rbx, xmm1
movq r14, xmm2
lea r9, [rsp + 0x58]
cmp r12, 8
cmovae r9, r14
cmp rbx, 0xf
ja 0x14000ebcd
mov qword [rbp - 0x78], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140015580
xor r14d, r14d
mov word [rdi + rbx*2], r14w
jmp 0x14000ebdd
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140005df0
xor r14d, r14d
mov edx, 0x30
mov rcx, qword [rbp + 0x18]
call fcn.140013ce0
jmp 0x14000e6da
call fcn.140013ce0
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x14000ec39
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ec34
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ec34
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140013ce0
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r14w
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x14000ec8d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ec88
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ec88
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140013ce0
lea rax, str.InstallLocation
mov qword [rbx], rax
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x14000ecdc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ecd7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ecd7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140013ce0
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x14000ed34
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ed2f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ed2f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140013ce0
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.140013cc0
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400014b0
nop
call fcn.1400058a0
int3