Function at 0x180016b00
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
mov rbx, rcx
movss xmm6, dword [0x180076a50]
mov ecx, 0x18
movaps xmmword [rsp + 0x40], xmm7
mov rsi, r9
movss xmm7, dword [0x180076a48]
mov edi, edx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x20], rax
mov r14, rax
test rax, rax
jne 0x180016b65
xor ebp, ebp
mov qword [rsp + 0x20], rbp
jmp 0x180016ba0
mov ecx, 0x40
mov dword [rax], 1
mov dword [rax + 4], 0x10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 8], rax
test rax, rax
jne 0x180016b98
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ebp, ebp
mov qword [rsp + 0x20], rbp
jmp 0x180016ba0
xor ebp, ebp
mov dword [rax], ebp
mov dword [r14 + 0x10], ebp
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r13, rax
test rax, rax
jne 0x180016bb8
mov r13, rbp
jmp 0x180016bed
mov ecx, 0x40
mov dword [rax], 1
mov dword [rax + 4], 0x10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r13 + 8], rax
test rax, rax
jne 0x180016be7
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r13, rbp
jmp 0x180016bed
mov dword [rax], ebp
mov dword [r13 + 0x10], ebp
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rax, rax
jne 0x180016c05
mov r15, rbp
jmp 0x180016c3a
mov ecx, 0x40
mov dword [rax], 1
mov dword [rax + 4], 0x10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r15 + 8], rax
test rax, rax
jne 0x180016c34
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r15, rbp
jmp 0x180016c3a
mov dword [rax], ebp
mov dword [r15 + 0x10], ebp
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r12, rax
test rax, rax
jne 0x180016c52
mov r12, rbp
jmp 0x180016c89
mov ecx, 0x40
mov dword [rax], 1
mov dword [rax + 4], 0x10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r12 + 8], rax
test rax, rax
jne 0x180016c82
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r12, rbp
jmp 0x180016c89
mov dword [rax], ebp
mov dword [r12 + 0x10], ebp
test edi, edi
je 0x180016d1c
mov r14, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x20]
nop
mov r8, qword [r14]
mov rdx, rsi
mov rcx, rsi
mov r8, qword [r8 + 0xa0]
call fcn.180014c20
mov rax, qword [r14]
mov r8, qword [rax + 0xa8]
test r8, r8
je 0x180016ccf
mov rdx, r13
mov rcx, r13
call fcn.180014c20
mov rax, qword [r14]
mov r8, qword [rax + 0xc0]
test r8, r8
je 0x180016ce9
mov rdx, r15
mov rcx, r15
call fcn.180014c20
mov rax, qword [r14]
mov r8, qword [rax + 0xc8]
test r8, r8
je 0x180016d03
mov rdx, r12
mov rcx, r12
call fcn.180014c20
add r14, 8
sub rdi, 1
jne 0x180016ca0
mov edi, dword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.180015e20
mov r14, rax
test rax, rax
je 0x180016d77
mov rdx, qword [r14 + 0xc0]
mov rcx, r15
call fcn.180014b50
test eax, eax
je 0x180016d6e
mov rdx, qword [r14 + 0xc8]
mov rcx, r12
call fcn.180014b50
test eax, eax
je 0x180016d6e
mov rdx, qword [r14 + 0xa8]
mov rcx, r13
call fcn.180014b50
test eax, eax
jne 0x180016f9f
mov r14, qword [r14 + 0x58]
test r14, r14
jne 0x180016d31
cmp dword [0x180087ca4], 0
jne 0x180016dab
lea rcx, str.HWLOC_HIDE_ERRORS
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x180016da1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [0x180087ca0], eax
mov dword [0x180087ca4], 1
cmp dword [0x180087ca0], 0
mov r14, qword [rsp + 0x20]
jne 0x180016f1c
mov r8, r14
xor edx, edx
xor ecx, ecx
call fcn.180014440
inc eax
movsxd rbx, eax
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, r14
mov rdx, rbx
mov rcx, rax
mov rsi, rax
call fcn.180014440
mov r8, r15
xor edx, edx
xor ecx, ecx
call fcn.180014440
inc eax
movsxd rbx, eax
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, r15
mov rdx, rbx
mov rcx, rax
mov rdi, rax
call fcn.180014440
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n
call fcn.18000e2a0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, str.1.11.7
lea rdx, str._hwloc__s_has_encountered_an_error_when_adding_a_distance_matrix_to_the_topology._n
call fcn.18000e2a0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x180073d00]
call fcn.18000e2a0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._hwloc_distances__finalize_logical___could_not_find_any_object_covering_n
call fcn.18000e2a0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rdi
lea rdx, str._cpuset__s_and_nodeset__s_n
mov rcx, rax
mov r8, rsi
call fcn.18000e2a0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x180073d00]
call fcn.18000e2a0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._Please_report_this_error_message_to_the_hwloc_users_mailing_list__n
call fcn.18000e2a0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._along_with_any_relevant_topology_information_from_your_platform._n
call fcn.18000e2a0
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n
call fcn.18000e2a0
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r14, r14
je 0x180016f34
mov rcx, qword [r14 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r13, r13
je 0x180016f4c
mov rcx, qword [r13 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r15, r15
je 0x180016f64
mov rcx, qword [r15 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r12, r12
je 0x180016f7d
mov rcx, qword [r12 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x40]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [r14], 8
jne 0x180016faf
mov r14, qword [r14 + 0x58]
cmp dword [r14], 8
je 0x180016fa5
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x180016fce
mov rcx, qword [rax + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r13, r13
je 0x180016fe6
mov rcx, qword [r13 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r15, r15
je 0x180016ffe
mov rcx, qword [r15 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r12, r12
je 0x180017017
mov rcx, qword [r12 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rsp + 0xb0]
mov r8d, dword [r14 + 0x38]
mov rax, qword [rdx]
mov r12d, dword [rax + 0x38]
cmp r8d, r12d
jae 0x180016f7d
mov r9d, ebp
mov rcx, rbp
nop dword [rax]
test rcx, rcx
jne 0x1800170ba
cmp r12d, dword [rbx]
jb 0x1800170a0
cmp r12d, 0xfffffffb
je 0x18001708b
cmp r12d, 0xfffffffc
je 0x180017076
cmp r12d, 0xfffffffd
je 0x180017061
mov rcx, rbp
jmp 0x1800170c4
cmp dword [rbx + 0x688], 0
jbe 0x18001705c
mov rax, qword [rbx + 0x690]
mov rcx, qword [rax]
jmp 0x1800170c4
cmp dword [rbx + 0x6a8], 0
jbe 0x18001705c
mov rax, qword [rbx + 0x6b0]
mov rcx, qword [rax]
jmp 0x1800170c4
cmp dword [rbx + 0x6c8], 0
jbe 0x18001705c
mov rax, qword [rbx + 0x6d0]
mov rcx, qword [rax]
jmp 0x1800170c4
cmp dword [rbx + r12*4 + 8], 0
ja 0x1800170ad
mov rcx, rbp
jmp 0x1800170c4
mov rax, qword [rbx + r12*8 + 0x208]
mov rcx, qword [rax]
jmp 0x1800170c4
cmp dword [rcx + 0x38], r12d
jne 0x1800170f0
mov rcx, qword [rcx + 0x48]
test rcx, rcx
je 0x1800170f0
mov rdx, qword [rcx + 0x58]
cmp dword [rdx + 0x38], r8d
jbe 0x1800170dd
mov rdx, qword [rdx + 0x58]
cmp dword [rdx + 0x38], r8d
ja 0x1800170d3
lea eax, [r9 + 1]
cmp rdx, r14
cmovne eax, r9d
mov r9d, eax
jmp 0x180017040
cmp r9d, edi
jne 0x180016f7d
or r15d, 0xffffffff
test edi, edi
je 0x180017126
mov rdx, qword [rsp + 0xb0]
mov r8d, edi
nop dword [rax]
mov rax, qword [rdx]
lea rdx, [rdx + 8]
cmp r15d, dword [rax + 0x3c]
cmova r15d, dword [rax + 0x3c]
sub r8, 1
jne 0x180017110
mov r10d, ebp
test edi, edi
je 0x1800171f9
mov r8d, ebp
cmp edi, 4
jb 0x1800171b2
mov edx, r10d
lea eax, [rdi - 4]
imul edx, edi
shr eax, 2
inc edx
inc eax
mov r9d, eax
lea r8d, [rax*4]
nop dword [rax]
nop dword [rax + rax]
movss xmm3, dword [rsi + rdx*4]
lea eax, [rdx - 1]
movss xmm2, dword [rsi + rax*4]
lea eax, [rdx + 1]
movaps xmm0, xmm2
maxss xmm2, xmm7
minss xmm0, xmm6
movaps xmm1, xmm3
maxss xmm3, xmm2
movss xmm2, dword [rsi + rax*4]
minss xmm1, xmm0
movaps xmm0, xmm2
lea eax, [rdx + 2]
movss xmm7, dword [rsi + rax*4]
lea edx, [rdx + 4]
movaps xmm6, xmm7
maxss xmm2, xmm3
minss xmm0, xmm1
maxss xmm7, xmm2
minss xmm6, xmm0
sub r9, 1
jne 0x180017160
cmp r8d, edi
jae 0x1800171df
mov edx, r10d
imul edx, edi
lea eax, [rdx + r8]
inc r8d
movss xmm1, dword [rsi + rax*4]
movaps xmm0, xmm1
maxss xmm1, xmm7
minss xmm0, xmm6
movaps xmm7, xmm1
movaps xmm6, xmm0
cmp r8d, edi
jb 0x1800171bd
inc r10d
cmp r10d, edi
jb 0x180017131
xorps xmm0, xmm0
ucomiss xmm6, xmm0
jp 0x1800171f9
je 0x180016f7d
mov edx, dword [r14 + 0xe0]
mov rcx, qword [r14 + 0xd8]
inc edx
shl rdx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x180016f7d
movsxd rdx, dword [r14 + 0xe0]
mov ecx, 0x18
mov qword [r14 + 0xd8], rax
mov rbx, rdx
lea eax, [rdx + 1]
mov dword [r14 + 0xe0], eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, qword [r14 + 0xd8]
mov qword [rcx + rbx*8], rax
mov rax, qword [r14 + 0xd8]
sub r12d, dword [r14 + 0x38]
mov rcx, qword [rax + rbx*8]
mov dword [rcx], r12d
mov rax, qword [r14 + 0xd8]
mov rcx, qword [rax + rbx*8]
mov dword [rcx + 4], edi
mov ecx, edi
imul ecx, edi
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, qword [r14 + 0xd8]
mov r11, rax
divss xmm7, xmm6
mov rdx, qword [rcx + rbx*8]
mov qword [rdx + 8], rax
mov rcx, qword [r14 + 0xd8]
mov rdx, qword [rcx + rbx*8]
movss dword [rdx + 0x14], xmm6
mov rcx, qword [r14 + 0xd8]
mov rdx, qword [rcx + rbx*8]
movss dword [rdx + 0x10], xmm7
test edi, edi
je 0x180016f7d
mov rdx, qword [rsp + 0xb0]
lea ecx, [rdi + 1]
mov r13, rdx
mov qword [rsp + 0x30], rdx
nop dword [rax]
mov rax, qword [r13]
lea r12d, [rbp + 1]
mov dword [rsp + 0x20], r12d
mov r8d, r12d
mov r10d, dword [rax + 0x3c]
mov eax, ecx
imul eax, ebp
sub r10d, r15d
movss xmm0, dword [rsi + rax*4]
mov eax, ecx
imul eax, r10d
divss xmm0, xmm6
movss dword [r11 + rax*4], xmm0
cmp r12d, edi
jae 0x1800174f6
mov eax, edi
sub eax, r12d
cmp eax, 4
jb 0x180017495
mov rdx, qword [rsp + 0xb0]
lea ebx, [r12 + 1]
mov ecx, ebp
mov r9d, r10d
imul ecx, edi
mov r13d, 1
imul r9d, edi
mov eax, 2
lea rdx, [rdx + r12*8]
add rdx, 0x10
mov qword [rsp + 0x28], rdx
mov r14d, ecx
add ebx, ecx
neg r14d
sub r13d, ecx
sub eax, ecx
mov r12d, eax
nop dword [rax]
mov rax, qword [rdx - 0x10]
mov edx, dword [rax + 0x3c]
lea eax, [rbx - 1]
movss xmm0, dword [rsi + rax*4]
sub edx, r15d
divss xmm0, xmm6
lea eax, [r9 + rdx]
imul edx, edi
movss dword [r11 + rax*4], xmm0
mov eax, r8d
imul eax, edi
add r8d, 4
add edx, r10d
add eax, ebp
movss xmm0, dword [rsi + rax*4]
mov rax, qword [rsp + 0x28]
divss xmm0, xmm6
mov rax, qword [rax - 8]
movss dword [r11 + rdx*4], xmm0
mov edx, dword [rax + 0x3c]
movss xmm0, dword [rsi + rbx*4]
sub edx, r15d
divss xmm0, xmm6
lea eax, [r9 + rdx]
imul edx, edi
movss dword [r11 + rax*4], xmm0
lea eax, [r14 + rbx]
imul eax, edi
add edx, r10d
add eax, ebp
movss xmm0, dword [rsi + rax*4]
mov rax, qword [rsp + 0x28]
divss xmm0, xmm6
mov rax, qword [rax]
movss dword [r11 + rdx*4], xmm0
mov edx, dword [rax + 0x3c]
lea eax, [rbx + 1]
movss xmm0, dword [rsi + rax*4]
sub edx, r15d
divss xmm0, xmm6
lea eax, [r9 + rdx]
imul edx, edi
movss dword [r11 + rax*4], xmm0
lea eax, [rbx + r13]
imul eax, edi
add edx, r10d
add eax, ebp
movss xmm0, dword [rsi + rax*4]
mov rax, qword [rsp + 0x28]
divss xmm0, xmm6
mov rax, qword [rax + 8]
movss dword [r11 + rdx*4], xmm0
mov edx, dword [rax + 0x3c]
lea eax, [rbx + 2]
movss xmm0, dword [rsi + rax*4]
sub edx, r15d
divss xmm0, xmm6
lea eax, [r9 + rdx]
imul edx, edi
movss dword [r11 + rax*4], xmm0
lea eax, [r12 + rbx]
imul eax, edi
lea ebx, [rbx + 4]
add edx, r10d
add eax, ebp
movss xmm0, dword [rsi + rax*4]
lea eax, [rdi - 3]
divss xmm0, xmm6
movss dword [r11 + rdx*4], xmm0
mov rdx, qword [rsp + 0x28]
add rdx, 0x20
mov qword [rsp + 0x28], rdx
cmp r8d, eax
jb 0x180017360
mov r12d, dword [rsp + 0x20]
mov r13, qword [rsp + 0x30]
mov rdx, qword [rsp + 0xb0]
cmp r8d, edi
jae 0x1800174f6
mov eax, r8d
mov ebx, ebp
imul ebx, edi
mov r14d, r10d
imul r14d, edi
lea r9, [rdx + rax*8]
mov rax, qword [r9]
lea r9, [r9 + 8]
mov edx, dword [rax + 0x3c]
lea eax, [rbx + r8]
movss xmm0, dword [rsi + rax*4]
sub edx, r15d
divss xmm0, xmm6
lea eax, [r14 + rdx]
imul edx, edi
movss dword [r11 + rax*4], xmm0
mov eax, r8d
imul eax, edi
inc r8d
add edx, r10d
add eax, ebp
movss xmm0, dword [rsi + rax*4]
divss xmm0, xmm6
movss dword [r11 + rdx*4], xmm0
cmp r8d, edi
jb 0x1800174ad
mov rdx, qword [rsp + 0xb0]
lea ecx, [rdi + 1]
add r13, 8
mov ebp, r12d
mov qword [rsp + 0x30], r13
cmp r12d, edi
jb 0x1800172d0
jmp 0x180016f7d