Function at 0x14000e700
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
lea edx, [r14 + 0x10]
lea rcx, [rbp - 0x68]
call fcn.140005530
mov qword [rsp + 0x48], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x58], 0xf
mov qword [rbp - 0x50], 0xf
movups xmm0, xmmword [str.SOFTWAREdotnet]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14001dad8]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x14001dae0]
mov dword [rax + 0x18], ecx
movzx ecx, word [0x14001dae4]
mov word [rax + 0x1c], cx
mov word [rax + 0x1e], r14w
mov qword [rsp + 0x58], r14
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 0x14000e822
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 0x14000e95a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xcb
je 0x14000e81d
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x14000e807
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.1400071a0
mov rbx, qword [rsp + 0x20]
mov qword [rbp - 8], r14
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 7
mov edx, 0x20
lea rcx, [rbp - 8]
call fcn.140005530
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 [0x14001db58]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14001db68]
movups xmmword [rax + 0x20], xmm0
movzx ecx, word [0x14001db78]
mov word [rax + 0x30], cx
mov word [rax + 0x32], r14w
lea r8, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r8, qword [rbp - 0x68]
mov r9, qword [rbp - 0x58]
lea rcx, [rbp - 8]
call fcn.140008b90
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
movsxd rdx, dword [rsp + 0x28]
lea rax, [0x14001ca50]
mov rdx, qword [rax + rdx*8]
lea rcx, [rbp - 0x28]
call fcn.140004ff0
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.140005110
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x14000ed1b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ed15
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ed15
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.1400140dc
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 0x14000e7f5
mov rdx, r15
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x14000e996
mov rax, qword [rsp + 0x70]
cmp rdx, rax
ja 0x14000e9d7
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.1400156b0
mov word [rdi + rbx], r14w
jmp 0x14000e9e4
mov r9, rsi
lea rcx, [rsp + 0x58]
call fcn.140005da0
mov rcx, rsi
call fcn.140013e10
mov edx, 0x18
lea rcx, [rbp + 0x18]
call fcn.140005530
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 [0x14001db30]
movups xmmword [rax + 0x10], xmm1
mov eax, dword [0x14001db40]
mov dword [rcx + 0x20], eax
mov word [rcx + 0x24], r14w
mov qword [rsp + 0x78], r14
mov r14, qword [rsp + 0x68]
cmp r14, rdi
cmovb rdi, r14
lea rax, [rsp + 0x58]
mov r12, qword [rsp + 0x70]
cmp r12, 8
cmovae rax, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
movabs r13, 0x7ffffffffffffffe
cmp rdi, r13
ja 0x14000ee78
mov ecx, 0xa
cmp rdi, 8
jae 0x14000eab3
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], 7
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400156b0
xor eax, eax
mov word [rsp + rbx + 0x78], ax
mov rsi, qword [rbp - 0x70]
mov rdi, qword [rbp - 0x78]
mov r8, qword [rsp + 0x78]
jmp 0x14000eb15
mov rsi, rdi
or rsi, 7
cmp rsi, r13
jbe 0x14000eac4
mov rsi, r13
jmp 0x14000eacb
cmp rsi, rcx
cmovb rsi, rcx
lea rdx, [rsi + 1]
lea rcx, [rsp + 0x78]
call fcn.140005530
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rsi
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, qword [rsp + 0x30]
mov rcx, rax
call fcn.1400156b0
mov r8, qword [rsp + 0x38]
xor eax, eax
mov word [r8 + rbx], ax
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
lea rcx, [rsp + 0x78]
cmp rsi, 8
setae r9b
cmovae rcx, r8
cmp rdi, 0x12
jne 0x14000eb4f
mov rdx, qword [rbp + 0x18]
test rdi, rdi
je 0x14000eb4b
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x14000eb4f
add rcx, 2
add rdx, 2
sub rdi, 1
jne 0x14000eb35
mov bl, 1
jmp 0x14000eb51
xor bl, bl
test r9b, r9b
je 0x14000eb95
lea rdx, [rsi*2 + 2]
mov rax, r8
cmp rdx, 0x1000
jb 0x14000eb83
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ec94
mov rcx, r8
call fcn.140013e10
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
test bl, bl
je 0x14000ecbc
mov rax, qword [rsp + 0x40]
mov qword [rax], 0xffffffff80000001
xor edi, edi
mov qword [rbp - 0x48], rdi
cmp r14, 0x12
jb 0x14000ee7e
lea rax, [r14 - 0x12]
cmp rax, 0xffffffffffffffff
cmovb r15, rax
lea rsi, [rsp + 0x58]
cmp r12, 8
cmovae rsi, qword [rsp + 0x58]
cmp r15, r13
ja 0x14000ee78
cmp r15, 8
jae 0x14000ec0a
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], 7
lea rbx, [r15 + r15]
mov r8, rbx
lea rdx, [rsi + 0x24]
lea rcx, [rbp - 0x48]
call fcn.1400156b0
mov word [rbp + rbx - 0x48], di
jmp 0x14000ec60
mov rax, r15
or rax, 7
cmp rax, r13
ja 0x14000ec26
mov r13, rax
cmp rax, 0xa
mov eax, 0xa
cmovb r13, rax
lea rdx, [r13 + 1]
lea rcx, [rbp - 0x48]
call fcn.140005530
mov rdi, rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], r13
lea rbx, [r15 + r15]
mov r8, rbx
lea rdx, [rsi + 0x24]
mov rcx, rax
call fcn.1400156b0
xor eax, eax
mov word [rdi + rbx], ax
mov r12, qword [rsp + 0x70]
cmp r12, 8
jb 0x14000eca0
lea rdx, [r12*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ec9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ec9b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140013e10
movups xmm0, xmmword [rbp - 0x48]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rbp - 0x38]
movups xmmword [rsp + 0x68], xmm1
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
lea r9, [rsp + 0x58]
cmp r12, 8
cmovae r9, qword [rsp + 0x58]
cmp r14, 0xf
ja 0x14000ecf2
mov qword [rbp - 0x58], r14
lea r8, [r14 + r14]
mov rdx, r9
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.1400156b0
xor eax, eax
mov word [rbx + r14*2], ax
jmp 0x14000ecff
mov rdx, r14
lea rcx, [rbp - 0x68]
call fcn.140005da0
nop
mov edx, 0x30
mov rcx, qword [rbp + 0x18]
call fcn.140013e10
xor r14d, r14d
jmp 0x14000e81d
call fcn.140013e10
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x14000ed5e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ed59
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ed59
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140013e10
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r14w
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x14000edb2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000edad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000edad
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140013e10
lea rax, str.InstallLocation
mov qword [rbx], rax
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x14000ee01
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000edfc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000edfc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140013e10
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x14000ee58
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ee53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ee53
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140013e10
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.140013df0
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.140005840
int3