Function at 0x4efdd0
Capabilities:
Query environment variable
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbx, rcx
lea rcx, str.HWLOC_COMPONENTS
call sub.msvcrt.dll_getenv
mov rcx, rax
test rax, rax
je 0x4effa0
call qword [sym.imp.msvcrt.dll__strdup]
mov r12, rax
test rax, rax
je 0x4effa0
movzx edi, byte [rax]
test dil, dil
je 0x4effa8
mov r14, rax
lea rsi, [rbx + 0x340]
lea r15, [rbx + 0x338]
nop word [rax + rax]
lea rdx, [0x007213ff]
mov rcx, r14
call sub.msvcrt.dll_strcspn
lea r13, [r14 + rax]
mov rbp, rax
movzx r9d, byte [r13]
test rax, rax
je 0x4efe5a
cmp dil, 0x2d
je 0x4f01f8
test r9b, r9b
jne 0x4f00b8
cmp byte [r12], 0
je 0x4effa8
mov r14, r12
lea rbp, str.stop
jmp 0x4efe9f
movzx r13d, byte [r14]
mov r15, r14
test r13b, r13b
je 0x4effa8
cmp byte [r15 + 1], 0
lea r14, [r15 + 1]
je 0x4effa8
lea rdx, [0x007213ff]
mov rcx, r14
call sub.msvcrt.dll_strcspn
test rax, rax
je 0x4efe80
cmp rax, 5
mov ecx, 5
mov rsi, r14
mov rdi, rbp
cmovbe rcx, rax
cmp rcx, rcx
repe cmpsb byte [rsi], byte [rdi]
seta dl
sbb dl, 0
test dl, dl
je 0x4f0068
lea r15, [r14 + rax]
mov ecx, 9
mov rsi, r14
movzx r13d, byte [r15]
mov byte [r15], 0
lea rdi, str.linuxpci
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x4eff19
mov ecx, 8
lea rdi, str.linuxio
mov rsi, r14
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x4eff30
mov r8d, dword [0x00a0a114]
test r8d, r8d
jne 0x4f0120
lea r14, str.linux
xor edx, edx
mov rcx, r14
call fcn.004eef60
mov rdx, rax
test rax, rax
je 0x4f00d0
mov r9d, dword [rbx + 0x338]
test r9d, r9d
je 0x4f0239
mov rcx, qword [rbx + 0x340]
lea eax, [r9 - 1]
shl rax, 4
lea r8, [rcx + rax + 0x10]
jmp 0x4eff7d
add rcx, 0x10
cmp r8, rcx
je 0x4f00f8
cmp qword [rcx], rdx
jne 0x4eff70
mov r9d, dword [rcx + 8]
mov eax, r9d
not eax
test dword [rdx + 8], eax
jne 0x4f0109
mov byte [r15], r13b
jmp 0x4efe87
xor r12d, r12d
nop dword [rax + rax]
mov rbp, qword [0x00a0a120]
test rbp, rbp
je 0x4f0068
lea r13, str.Excluding_blacklisted_discovery_component___s_phases_0x_x_n
jmp 0x4effd5
mov rbp, qword [rbp + 0x20]
test rbp, rbp
je 0x4f0068
mov ecx, dword [rbp + 0x1c]
test ecx, ecx
je 0x4effc8
mov r9d, dword [rbx + 0x338]
test r9d, r9d
je 0x4f0243
mov rax, qword [rbx + 0x340]
lea edx, [r9 - 1]
shl rdx, 4
lea rdx, [rax + rdx + 0x10]
jmp 0x4f0015
add rax, 0x10
cmp rdx, rax
je 0x4f00a8
cmp qword [rax], rbp
jne 0x4f0008
mov r9d, dword [rax + 8]
mov eax, r9d
not eax
mov esi, dword [rbp + 8]
test esi, eax
jne 0x4f0090
mov edx, dword [0x00a0a114]
test edx, edx
je 0x4effc8
mov rdi, qword [rbp]
mov ecx, 2
call qword [fcn.0052ef40]
mov r9d, esi
mov rdx, r13
mov rcx, rax
mov r8, rdi
call sub.msvcrt.dll_fprintf
mov rbp, qword [rbp + 0x20]
test rbp, rbp
jne 0x4effd5
nop dword [rax]
mov eax, dword [0x00a0a114]
test eax, eax
jne 0x4f0150
mov rcx, r12
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.0052ed18
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.004efcf0
jmp 0x4effc8
mov eax, 0xffffffff
xor r9d, r9d
jmp 0x4f0023
movzx edi, byte [r13 + 1]
lea r14, [r13 + 1]
test dil, dil
jne 0x4efe30
jmp 0x4efe63
mov ecx, 2
call qword [fcn.0052ef40]
mov r8, r14
lea rdx, str.Cannot_find_discovery_component___s_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x4eff94
mov eax, 0xffffffff
xor r9d, r9d
test dword [rdx + 8], eax
je 0x4eff94
mov r8d, 1
mov rcx, rbx
call fcn.004efcf0
jmp 0x4eff94
mov ecx, 2
call qword [fcn.0052ef40]
mov r8, r14
lea rdx, str.Replacing_deprecated_component___s_with__linux_in_envvar_forcing_n
lea r14, str.linux
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x4eff30
mov rbx, qword [rbx + 0x2f0]
mov ecx, 2
mov rdi, qword [fcn.0052ef40]
call rdi
mov r8d, 0x2c
mov edx, 1
lea rcx, str.Final_list_of_enabled_discovery_components:
mov r9, rax
call sub.msvcrt.dll_fwrite
test rbx, rbx
je 0x4f01d9
mov rax, qword [rbx]
mov esi, dword [rbx + 0x20]
lea r14, [0x007215b9]
lea rbp, str._s_s_0x_x_
lea r13, [0x007213ff]
mov r15, qword [rax]
jmp 0x4f01b4
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 sub.msvcrt.dll_fprintf
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x4f01a8
mov ecx, 2
call rdi
mov ecx, 0xa
mov rdx, rax
call sub.msvcrt.dll_fputc
jmp 0x4f0076
mov byte [r13], 0
mov rdx, rsi
lea r8, [r14 + 1]
mov rcx, r15
mov byte [rsp + 0x3f], r9b
call fcn.004ef120
movzx r9d, byte [rsp + 0x3f]
xor edx, edx
xor eax, eax
nop dword [rax + rax]
mov byte [r14 + rax], 0x2c
lea eax, [rdx + 1]
mov rdx, rax
cmp rax, rbp
jb 0x4f0220
mov byte [r13], r9b
jmp 0x4efe5a
mov eax, 0xffffffff
jmp 0x4eff8b
mov eax, 0xffffffff
jmp 0x4f0023