Function at 0x1400e3e50
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rsi, rcx
lea rcx, str.HWLOC_COMPONENTS
call sub.msvcrt.dll_getenv
mov rcx, rax
test rax, rax
je 0x1400e4008
call qword [sym.imp.msvcrt.dll__strdup_1]
mov r12, rax
test rax, rax
je 0x1400e4008
movzx r14d, byte [rax]
test r14b, r14b
je 0x1400e4010
mov r13, rax
lea rdi, [0x1402a2a26]
nop dword [rax]
mov rdx, rdi
mov rcx, r13
call sub.msvcrt.dll_strcspn
lea rbp, [r13 + rax]
mov rbx, rax
movzx r15d, byte [rbp]
cmp r14b, 0x2d
jne 0x1400e3ecf
test rax, rax
jne 0x1400e4268
test r15b, r15b
jne 0x1400e4128
cmp byte [r12], 0
je 0x1400e4010
mov r15, r12
lea rbp, str.stop
lea r13, str.linuxpci
jmp 0x1400e3f1e
movzx ebx, byte [r15]
mov r14, r15
test bl, bl
je 0x1400e4010
cmp byte [r14 + 1], 0
lea r15, [r14 + 1]
je 0x1400e4010
mov rdx, rdi
mov rcx, r15
call sub.msvcrt.dll_strcspn
mov r14, rax
test rax, rax
je 0x1400e3f00
mov r8d, 5
mov rdx, rbp
mov rcx, r15
cmp rax, r8
cmovbe r8, rax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1400e40d0
add r14, r15
mov rdx, r13
mov rcx, r15
movzx ebx, byte [r14]
mov byte [r14], 0
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400e3f7e
lea rdx, str.linuxio
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400e3f95
mov r8d, dword [0x1405848e4]
test r8d, r8d
jne 0x1400e4198
lea r15, str.linux
xor edx, edx
mov rcx, r15
call fcn.1400e2fe0
mov rdx, rax
test rax, rax
je 0x1400e4140
mov r9d, dword [rsi + 0x368]
test r9d, r9d
je 0x1400e429a
mov rax, qword [rsi + 0x370]
lea ecx, [r9 - 1]
shl rcx, 4
lea rcx, [rax + rcx + 0x10]
jmp 0x1400e3fe5
add rax, 0x10
cmp rcx, rax
je 0x1400e4170
cmp qword [rax], rdx
jne 0x1400e3fd8
mov r9d, dword [rax + 8]
mov eax, r9d
not eax
and eax, dword [rdx + 8]
jne 0x1400e4181
mov byte [r14], bl
jmp 0x1400e3f07
xor r12d, r12d
nop dword [rax + rax]
mov rbx, qword [0x1405848f0]
test rbx, rbx
je 0x1400e40d0
lea rdi, str.hwloc:_Excluding_blacklisted_discovery_component___s_phases_0x_x_n
jmp 0x1400e403d
mov rbx, qword [rbx + 0x20]
test rbx, rbx
je 0x1400e40d0
mov ecx, dword [rbx + 0x1c]
test ecx, ecx
je 0x1400e4030
mov r9d, dword [rsi + 0x368]
test r9d, r9d
je 0x1400e42a4
mov rax, qword [rsi + 0x370]
lea edx, [r9 - 1]
shl rdx, 4
lea rdx, [rax + rdx + 0x10]
jmp 0x1400e407d
add rax, 0x10
cmp rdx, rax
je 0x1400e4118
cmp qword [rax], rbx
jne 0x1400e4070
mov r9d, dword [rax + 8]
mov eax, r9d
not eax
mov ebp, dword [rbx + 8]
test ebp, eax
jne 0x1400e4100
mov edx, dword [0x1405848e4]
test edx, edx
je 0x1400e4030
mov r13, qword [rbx]
mov ecx, 2
call qword [fcn.140119ad0]
mov r9d, ebp
mov rdx, rdi
mov rcx, rax
mov r8, r13
call fcn.1400e2fb0
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x1400e403d
nop dword [rax + rax]
mov eax, dword [0x1405848e4]
test eax, eax
jne 0x1400e41c8
mov rcx, r12
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14011a240
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.1400e3d60
jmp 0x1400e4030
mov eax, 0xffffffff
xor r9d, r9d
jmp 0x1400e408b
movzx r14d, byte [rbp + 1]
lea r13, [rbp + 1]
test r14b, r14b
jne 0x1400e3ea8
jmp 0x1400e3ed8
call fcn.1400d4f50
cmp eax, 1
jg 0x1400e3ffc
mov ecx, 2
call qword [fcn.140119ad0]
mov r8, r15
lea rdx, str.hwloc:_Cannot_find_discovery_component___s_n
mov rcx, rax
call fcn.1400e2fb0
jmp 0x1400e3ffc
mov eax, 0xffffffff
xor r9d, r9d
and eax, dword [rdx + 8]
je 0x1400e3ffc
mov r8d, 1
mov rcx, rsi
call fcn.1400e3d60
jmp 0x1400e3ffc
mov ecx, 2
call qword [fcn.140119ad0]
mov r8, r15
lea rdx, str.hwloc:_Replacing_deprecated_component___s_with__linux_in_envvar_forcing_n
lea r15, str.linux
mov rcx, rax
call fcn.1400e2fb0
jmp 0x1400e3f95
mov rbx, qword [rsi + 0x318]
mov ecx, 2
mov rdi, qword [fcn.140119ad0]
call rdi
lea rdx, str.hwloc:_Final_list_of_enabled_discovery_components:
mov rcx, rax
call fcn.1400e2fb0
test rbx, rbx
je 0x1400e4249
mov rax, qword [rbx]
mov esi, dword [rbx + 0x20]
lea r14, [0x1402a2bf8]
lea rbp, str._s_s_0x_x_
lea r13, [0x1402a2a26]
mov r15, qword [rax]
jmp 0x1400e4224
mov rax, qword [rbx]
mov esi, dword [rbx + 0x20]
mov r14, r13
mov r15, qword [rax]
mov ecx, 2
call rdi
mov dword [rsp + 0x20], esi
mov r9, r15
mov r8, r14
mov rcx, rax
mov rdx, rbp
call fcn.1400e2fb0
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x1400e4218
mov ecx, 2
call rdi
lea rdx, [0x1402a2efc]
mov rcx, rax
call fcn.1400e2fb0
jmp 0x1400e40de
mov byte [rbp], 0
lea rdx, [r13 + 1]
mov rcx, rsi
call fcn.1400e31a0
xor edx, edx
xor eax, eax
nop dword [rax]
mov byte [r13 + rax], 0x2c
lea eax, [rdx + 1]
mov rdx, rax
cmp rax, rbx
jb 0x1400e4280
mov byte [rbp], r15b
jmp 0x1400e3ecf
mov eax, 0xffffffff
jmp 0x1400e3ff3
mov eax, 0xffffffff
jmp 0x1400e408b