Function at 0x1400e1530
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov r14, rcx
lea rcx, str.HWLOC_MEMTIERS_GUESS
call sub.msvcrt.dll_getenv
mov rbx, rax
test rax, rax
je 0x1400e15b0
lea rdx, [0x1402a2633]
mov rcx, rax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400e176a
lea rdx, [0x1402a2638]
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400e15b0
lea rdx, str.spm_is_hbm
mov rcx, rbx
call sub.msvcrt.dll_strcmp
mov dword [rsp + 0x30], 1
test eax, eax
je 0x1400e15b8
call fcn.1400d4f50
cmp eax, 1
jle 0x1400e1a44
nop word [rax + rax]
mov dword [rsp + 0x30], 0xffffffff
mov rax, qword [r14 + 0x2d8]
mov qword [rsp + 0x28], rax
test byte [rax + 0x4c], 2
je 0x1400e1a10
mov edx, 0xfffffffd
mov rcx, r14
call fcn.1400db010
mov dword [rsp + 0x34], eax
mov edi, eax
mov eax, eax
mov qword [rsp + 0x20], rax
lea rax, [rax + rax*2]
lea r12, [rax*8]
test edi, edi
je 0x1400e171b
mov rcx, r12
call sub.msvcrt.dll_malloc
mov r13, rax
test rax, rax
je 0x1400e1a66
mov qword [rsp + 0x38], r13
mov r15d, dword [rsp + 0x34]
mov rbp, r13
xor r12d, r12d
mov r8d, r12d
mov edx, 0xfffffffd
mov rcx, r14
call fcn.1400db050
mov rsi, rax
test rax, rax
je 0x1400e1780
mov dword [rbp + 0x10], 0
mov eax, dword [rsi + 0xe0]
mov qword [rbp], rsi
mov r8, qword [rsi + 0xd8]
mov qword [rbp + 8], 0
test eax, eax
je 0x1400e16d6
sub eax, 1
mov r13, r8
lea rbx, str.DAXType
shl rax, 4
lea rdi, [r8 + rax + 0x10]
jmp 0x1400e1689
add r13, 0x10
cmp r13, rdi
je 0x1400e16d6
mov rcx, qword [r13]
mov rdx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400e1680
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x1400e16d6
lea rdx, [0x1402a261a]
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400e16bc
mov dword [rbp + 0x10], 4
lea rdx, [0x1402a2616]
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400e16d6
mov dword [rbp + 0x10], 3
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400e16f6
lea rdx, str.GPUMemory
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400e16f6
mov dword [rbp + 0x10], 5
cmp dword [rsp + 0x30], 0xffffffff
je 0x1400e17a0
lea esi, [r12 + 1]
add rbp, 0x18
cmp r15d, esi
je 0x1400e1860
mov r12d, esi
jmp 0x1400e1620
mov r8d, 0x502
lea rdx, str.memattrs.c
lea rcx, [0x1402a264b]
call qword [sym.imp.msvcrt.dll__assert]
mov rcx, r12
call sub.msvcrt.dll_malloc
mov r13, rax
test rax, rax
je 0x1400e1a66
lea r9, [0x1400df8f0]
mov r8d, 0x18
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_qsort
mov rcx, r13
call fcn.14011a240
xor eax, eax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x510
lea rdx, str.memattrs.c
lea rcx, [0x1402a264d]
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x1400e163c
mov rdi, qword [rsp + 0x28]
mov eax, dword [rdi + 0x50]
test eax, eax
je 0x1400e1701
sub eax, 1
mov rbx, qword [rdi + 0x58]
lea rax, [rax + rax*2]
shl rax, 4
lea rax, [rbx + rax + 0x30]
jmp 0x1400e17dd
add rbx, 0x30
cmp rbx, rax
je 0x1400e1701
cmp qword [rbx], rsi
jne 0x1400e17d0
mov rdi, qword [rsi + 0xb8]
mov rcx, rdi
call fcn.1400e75b0
test eax, eax
jne 0x1400e1701
mov eax, dword [rbx + 0x20]
test eax, eax
je 0x1400e1701
mov rsi, qword [rbx + 0x28]
sub eax, 1
lea rax, [rax + rax*4]
lea rbx, [rsi + rax*8 + 0x28]
jmp 0x1400e182d
add rsi, 0x28
cmp rbx, rsi
je 0x1400e1701
cmp dword [rsi], 1
jne 0x1400e1820
mov rdx, qword [rsi + 8]
mov rcx, rdi
call fcn.1400e7830
test eax, eax
je 0x1400e1820
mov rax, qword [rsi + 0x20]
lea esi, [r12 + 1]
add rbp, 0x18
mov qword [rbp - 0x10], rax
cmp r15d, esi
jne 0x1400e1713
nop dword [rax]
mov r13, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x20]
mov r8d, 0x18
xor ebx, ebx
lea r9, [0x1400df8f0]
mov rcx, r13
call sub.msvcrt.dll_qsort
lea rcx, [r13 + 0x10]
mov rax, rcx
jmp 0x1400e18a2
lea edx, [rbx + 1]
add rax, 0x18
cmp ebx, r12d
je 0x1400e19bb
mov ebx, edx
mov edx, dword [rax]
test edx, edx
je 0x1400e1890
xor r8d, r8d
test ebx, ebx
jne 0x1400e19ad
mov eax, ebx
jmp 0x1400e18c7
add eax, 1
cmp eax, esi
jae 0x1400e18d5
mov edx, eax
lea rdx, [rdx + rdx*2]
cmp dword [r13 + rdx*8 + 0x10], 3
jbe 0x1400e18c0
cmp ebx, eax
jae 0x1400e19ef
lea edx, [rax - 1]
cmp dword [rsp + 0x30], 0xffffffff
lea rdx, [rdx + rdx*2]
mov rdx, qword [r13 + rdx*8 + 8]
je 0x1400e1a21
test ebx, ebx
je 0x1400e1911
xor edx, edx
nop word [rax + rax]
add edx, 1
mov dword [rcx], 1
add rcx, 0x18
cmp edx, ebx
jb 0x1400e1900
cmp eax, ebx
jbe 0x1400e1947
sub eax, 1
mov ecx, ebx
sub eax, ebx
lea rdx, [rcx + rcx*2]
add rax, rcx
lea rdx, [r13 + rdx*8 + 0x10]
lea rax, [rax + rax*2]
lea rax, [r13 + rax*8 + 0x28]
nop dword [rax]
mov dword [rdx], 2
add rdx, 0x18
cmp rax, rdx
jne 0x1400e1938
mov rax, qword [rsp + 0x20]
mov rbp, qword [sym.imp.msvcrt.dll__strdup_1]
mov r12, r13
lea r15, [0x1402a2616]
lea rdi, [0x1402a261a]
lea rax, [rax + rax*2]
lea r14, [r13 + rax*8]
jmp 0x1400e197d
add r12, 0x18
cmp r14, r12
je 0x1400e1760
mov rsi, qword [r12]
cmp qword [rsi + 8], 0
jne 0x1400e1970
mov eax, dword [r12 + 0x10]
cmp eax, 3
je 0x1400e19da
ja 0x1400e19d0
cmp eax, 1
je 0x1400e19e0
cmp eax, 2
jne 0x1400e1970
lea rcx, [0x1402a2612]
call rbp
mov qword [rsi + 8], rax
jmp 0x1400e1970
mov r8, qword [r13 + 8]
cmp ebx, esi
jb 0x1400e18b3
mov esi, ebx
cmp dword [rsp + 0x30], 0xffffffff
mov ebx, esi
je 0x1400e1947
mov eax, esi
jmp 0x1400e18f8
mov rcx, rdi
cmp eax, 4
je 0x1400e19a5
jmp 0x1400e1970
mov rcx, r15
jmp 0x1400e19a5
lea rcx, str.DRAM
cmp dword [rsp + 0x34], ebx
jne 0x1400e19a5
jmp 0x1400e1970
cmp dword [rsp + 0x30], 0xffffffff
je 0x1400e1947
test ebx, ebx
jne 0x1400e18f8
jmp 0x1400e1947
lea rdx, [rax + 0x40]
mov rcx, r14
call fcn.1400dfa70
jmp 0x1400e15ce
test r8, r8
je 0x1400e1947
test rdx, rdx
je 0x1400e1947
add r8, r8
cmp r8, rdx
jb 0x1400e18f4
jmp 0x1400e1947
mov ecx, 2
call qword [fcn.140119ad0]
mov r8, rbx
lea rdx, str.hwloc:_Failed_to_recognize_HWLOC_MEMTIERS_GUESS_value__s_n
mov rcx, rax
call fcn.1400df920
jmp 0x1400e15b0
or eax, 0xffffffff
jmp 0x1400e176a