Function at 0x18001e340
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
sub rsp, 0x40
mov rdi, rcx
mov rsi, rdx
mov rcx, qword [rcx + 0x208]
mov rcx, qword [rcx]
call fcn.180010970
mov rcx, rdi
call fcn.180010f40
test eax, eax
jns 0x18001e3af
mov rbx, qword [rsi + 0x58]
test rbx, rbx
je 0x18001e3a4
nop dword [rax + rax]
mov rax, qword [rbx + 0x28]
mov qword [rsi + 0x58], rax
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [rsi + 0x58]
test rbx, rbx
jne 0x18001e380
or eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x28], r14
mov r14, qword [rsi + 0x58]
test r14, r14
je 0x18001e788
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x20], r15
mov r15d, dword [r14 + 0xc]
mov rbp, qword [r14]
mov esi, dword [r14 + 8]
lea rcx, [r15*4]
add esi, dword [rbp + 0x38]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea rcx, [r15*8]
mov r13, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, qword [r14 + 0x28]
xor r8d, r8d
mov r12, rax
xor edx, edx
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x58], rcx
test rdx, rdx
jne 0x18001e48a
cmp esi, dword [rdi]
jb 0x18001e472
cmp esi, 0xfffffffb
je 0x18001e45d
cmp esi, 0xfffffffc
je 0x18001e448
cmp esi, 0xfffffffd
je 0x18001e433
xor edx, edx
jmp 0x18001e493
cmp dword [rdi + 0x688], 0
jbe 0x18001e42f
mov rax, qword [rdi + 0x690]
mov rdx, qword [rax]
jmp 0x18001e493
cmp dword [rdi + 0x6a8], 0
jbe 0x18001e42f
mov rax, qword [rdi + 0x6b0]
mov rdx, qword [rax]
jmp 0x18001e493
cmp dword [rdi + 0x6c8], 0
jbe 0x18001e42f
mov rax, qword [rdi + 0x6d0]
mov rdx, qword [rax]
jmp 0x18001e493
cmp dword [rdi + rsi*4 + 8], 0
ja 0x18001e47d
xor edx, edx
jmp 0x18001e493
mov rax, qword [rdi + rsi*8 + 0x208]
mov rdx, qword [rax]
jmp 0x18001e493
cmp dword [rdx + 0x38], esi
jne 0x18001e4cf
mov rdx, qword [rdx + 0x48]
test rdx, rdx
je 0x18001e4cf
mov rax, qword [rdx + 0x58]
mov ecx, dword [rbp + 0x38]
cmp dword [rax + 0x38], ecx
jbe 0x18001e4ad
mov rax, qword [rax + 0x58]
cmp dword [rax + 0x38], ecx
ja 0x18001e4a4
cmp rax, rbp
jne 0x18001e417
cmp r8d, r15d
je 0x18001e4d8
mov eax, dword [rdx + 4]
mov dword [r13 + r8*4], eax
mov qword [r12 + r8*8], rdx
inc r8d
jmp 0x18001e417
cmp r8d, r15d
jae 0x18001e564
lea rcx, str.bad_nbobjs_n
call fcn.18001bd50
cmp dword [0x18007127c], 0
je 0x18001e518
lea rcx, str.HWLOC_XML_VERBOSE
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x18001e50e
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [0x1800759e8], eax
mov dword [0x18007127c], 0
cmp dword [0x1800759e8], 0
je 0x18001e543
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x70]
lea rdx, str._s:_ignoring_invalid_distance_matrix__there_arent_exactly__u_objects_below_root_n
mov rcx, rax
mov r9d, r15d
call fcn.18000dd30
mov rcx, r13
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 rcx, qword [r14 + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18001e759
mov r8d, r15d
xor edx, edx
imul r8d, r15d
test r8d, r8d
je 0x18001e6b5
cmp r8d, 8
jb 0x18001e5e8
mov r9, qword [r14 + 0x10]
lea r11, [r14 + 0x10]
movss xmm2, dword [r14 + 0x1c]
lea r10, [r14 + 0x1c]
shufps xmm2, xmm2, 0
lea eax, [r8 - 1]
lea rax, [r9 + rax*4]
cmp r9, r11
ja 0x18001e5a4
cmp rax, r11
jae 0x18001e5e8
cmp r9, r10
ja 0x18001e5ae
cmp rax, r10
jae 0x18001e5e8
mov r10d, r8d
and r10d, 0xfffffff8
nop word [rax + rax]
movups xmm0, xmmword [r9 + rdx*4]
lea eax, [rdx + 4]
movaps xmm1, xmm2
mulps xmm0, xmm2
movups xmmword [r9 + rdx*4], xmm0
add edx, 8
movups xmm0, xmmword [r9 + rax*4]
mulps xmm1, xmm0
movups xmmword [r9 + rax*4], xmm1
cmp edx, r10d
jb 0x18001e5c0
cmp edx, r8d
jae 0x18001e6b5
mov eax, r8d
sub eax, edx
cmp eax, 4
jb 0x18001e682
mov eax, r8d
lea rcx, [rdx*4]
sub eax, edx
sub eax, 4
shr eax, 2
inc eax
mov r9d, eax
lea edx, [rdx + rax*4]
nop word [rax + rax]
mov rax, qword [r14 + 0x10]
lea rcx, [rcx + 0x10]
movss xmm0, dword [rax + rcx - 0x10]
mulss xmm0, dword [r14 + 0x1c]
movss dword [rax + rcx - 0x10], xmm0
mov rax, qword [r14 + 0x10]
movss xmm0, dword [rax + rcx - 0xc]
mulss xmm0, dword [r14 + 0x1c]
movss dword [rax + rcx - 0xc], xmm0
mov rax, qword [r14 + 0x10]
movss xmm0, dword [rax + rcx - 8]
mulss xmm0, dword [r14 + 0x1c]
movss dword [rax + rcx - 8], xmm0
mov rax, qword [r14 + 0x10]
movss xmm0, dword [rax + rcx - 4]
mulss xmm0, dword [r14 + 0x1c]
movss dword [rax + rcx - 4], xmm0
sub r9, 1
jne 0x18001e620
cmp edx, r8d
jae 0x18001e6b5
sub r8d, edx
lea rcx, [rdx*4]
mov edx, r8d
mov rax, qword [r14 + 0x10]
lea rcx, [rcx + 4]
movss xmm0, dword [rax + rcx - 4]
mulss xmm0, dword [r14 + 0x1c]
movss dword [rax + rcx - 4], xmm0
sub rdx, 1
jne 0x18001e695
mov rax, qword [r12]
mov rsi, qword [r14 + 0x10]
mov ebx, dword [rax]
mov rax, qword [rdi + 0x7d8]
test rax, rax
je 0x18001e6e6
nop dword [rax + rax]
mov rcx, qword [rax + 0x30]
cmp dword [rax], ebx
jne 0x18001e6de
cmp dword [rax + 0x20], 0
jne 0x18001e72e
mov rax, rcx
test rcx, rcx
jne 0x18001e6d0
test r15d, r15d
je 0x18001e759
mov ecx, 0x38
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor ecx, ecx
mov dword [rax + 4], r15d
mov qword [rax + 8], r13
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rsi
mov dword [rax + 0x20], ecx
mov dword [rax], ebx
mov qword [rax + 0x30], rcx
mov rcx, qword [rdi + 0x7e0]
mov qword [rax + 0x28], rcx
mov rcx, qword [rdi + 0x7e0]
test rcx, rcx
je 0x18001e74b
mov qword [rcx + 0x30], rax
jmp 0x18001e752
mov rcx, r13
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 rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18001e759
mov qword [rdi + 0x7d8], rax
mov qword [rdi + 0x7e0], rax
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsp + 0x68]
mov r14, qword [rax + 0x58]
test r14, r14
jne 0x18001e3d5
mov r15, qword [rsp + 0x20]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x60]
xor eax, eax
mov r14, qword [rsp + 0x28]
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret