Function at 0x1800149b0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
xor esi, esi
mov qword [rsp + 0x50], rdx
mov rdi, rcx
mov dword [rsp + 0xc0], esi
lea rcx, str.HWLOC_SYNTHETIC_VERBOSE
mov dword [rsp + 0xc8], esi
mov r14d, esi
mov dword [rsp + 0x30], esi
mov ebp, esi
mov r13d, esi
mov r15, rdx
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
lea r12d, [rsi + 1]
test rax, rax
je 0x180014a12
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov r13d, eax
mov dword [rdi + 0xc], r12d
mov dword [rdi + 0x10], r12d
mov qword [rdi + 0x28], rsi
mov qword [rdi + 0x38], rsi
mov qword [rdi + 0x20], rsi
cmp byte [r15], 0x28
jne 0x180014a59
lea r8, [rdi + 8]
mov r9d, r13d
lea rcx, [r15 + 1]
lea rdx, [rsp + 0xb8]
call fcn.1800147e0
test eax, eax
js 0x180015034
mov r15, qword [rsp + 0xb8]
mov qword [rsp + 0x50], r15
mov r11d, r12d
mov qword [rsp + 0x68], rbx
mov rbx, r15
mov dword [rsp + 0xb8], r12d
mov ecx, 2
cmp byte [r15], sil
je 0x180014d57
mov r14d, ecx
nop dword [rax]
or ebp, 0xffffffff
lea eax, [r14 - 2]
mov r15d, eax
or ecx, ebp
shl r15, 6
or edx, ebp
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], edx
mov dword [r15 + rdi + 8], esi
movzx eax, byte [rbx]
cmp al, 0x20
jne 0x180014abb
nop word [rax + rax]
movzx eax, byte [rbx + 1]
inc rbx
cmp al, 0x20
je 0x180014ab0
test al, al
je 0x180014bed
sub al, 0x30
cmp al, 9
jbe 0x180014b39
lea r9, [rsp + 0x3c]
mov qword [rsp + 0x20], 4
lea r8, [rsp + 0x38]
mov rcx, rbx
lea rdx, [rsp + 0x34]
call fcn.180005700
test eax, eax
js 0x180014ca1
mov ebp, dword [rsp + 0x34]
test ebp, ebp
je 0x180014c7a
lea eax, [rbp - 8]
cmp eax, 3
jbe 0x180014c7a
mov edx, 0x3a
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov qword [rsp + 0x48], rax
test rax, rax
je 0x180014c56
mov ecx, dword [rsp + 0x38]
lea rbx, [rax + 1]
mov edx, dword [rsp + 0x3c]
mov r11d, dword [rsp + 0xb8]
mov eax, r11d
xor r8d, r8d
shl rax, 6
add rdi, rax
mov dword [rdi + 0x14], ecx
mov rcx, rbx
mov dword [rdi + 0x18], edx
lea rdx, [rsp + 0x48]
mov dword [rdi + 0x10], ebp
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoul]
mov rcx, qword [rsp + 0x48]
cmp rcx, rbx
je 0x180014d27
test eax, eax
je 0x180014cfc
mov rbp, qword [rsp + 0xb0]
imul r12d, eax
mov qword [rdi + 0x28], rsi
mov qword [rdi + 0x38], rsi
mov dword [r15 + rbp + 8], eax
mov qword [rdi + 0x20], rsi
mov dword [rdi + 0xc], r12d
cmp byte [rcx], 0x28
jne 0x180014bb6
lea r8, [rdi + 8]
inc rcx
mov r9d, r13d
lea rdx, [rsp + 0x48]
call fcn.1800147e0
test eax, eax
js 0x180014c28
mov rcx, qword [rsp + 0x48]
cmp r14d, 0x80
jae 0x180014ccc
mov r11d, dword [rsp + 0xb8]
inc r14d
mov rdi, qword [rsp + 0xb0]
inc r11d
mov rbx, rcx
mov dword [rsp + 0xb8], r11d
cmp byte [rcx], sil
jne 0x180014a80
test r11d, r11d
jne 0x180014d52
test r13d, r13d
je 0x180014c14
lea ecx, [r11 + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Synthetic_string_doesnt_contain_any_object_n
call fcn.180001030
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rbp, qword [rsp + 0xb0]
mov dword [rax], 0x16
lea rbx, [rbp + 8]
nop dword [rax]
mov rcx, qword [rbx + 0x30]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [rbx], 0
je 0x18001502c
inc esi
add rbx, 0x40
cmp esi, 0x80
jb 0x180014c30
jmp 0x18001502c
test r13d, r13d
je 0x180014c14
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.Synthetic_string_doesnt_have_a__:_after_object_type_at__s_n
mov rcx, rax
call fcn.180001030
jmp 0x180014c14
test r13d, r13d
je 0x180014c14
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.Synthetic_string_with_disallowed_object_type_at__s_n
mov rcx, rax
call fcn.180001030
jmp 0x180014c14
test r13d, r13d
je 0x180014c14
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.Synthetic_string_with_unknown_object_type_at__s_n
mov rcx, rax
call fcn.180001030
jmp 0x180014c14
test r13d, r13d
je 0x180014cf1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, 0x80
lea rdx, str.Too_many_synthetic_levels__max__d_n
mov rcx, rax
call fcn.180001030
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
jmp 0x180014c22
test r13d, r13d
je 0x180014c14
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.Synthetic_string_with_disallow_0_number_of_objects_at__s_n
mov rcx, rax
call fcn.180001030
jmp 0x180014c14
test r13d, r13d
je 0x180014c14
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbx
lea rdx, str.Synthetic_string_doesnt_have_a_number_of_objects_at__s_n
mov rcx, rax
call fcn.180001030
jmp 0x180014c14
mov r14d, esi
mov ebp, esi
lea r15d, [r11 - 1]
mov r12d, 2
mov r8d, r15d
test r15d, r15d
je 0x180015003
mov eax, r8d
lea r9, [rdi + 0x10]
shl rax, 6
lea rbx, [0x180000000]
add r9, rax
mov r10d, r11d
mov edx, dword [r9]
cmp r8d, r15d
jne 0x180014db5
cmp edx, 0xffffffff
je 0x180014dc3
cmp edx, 6
je 0x180014dbe
test r13d, r13d
je 0x180015020
mov ecx, r12d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Synthetic_string_cannot_use_non_PU_type_for_last_level_n
jmp 0x180015018
cmp edx, 6
je 0x180014fec
cmp edx, 0xffffffff
jne 0x180014e11
cmp r8d, r15d
jne 0x180014dcf
mov edx, 6
jmp case.default.0x180014ded
mov eax, r10d
shl rax, 6
mov eax, dword [rax + rdi + 0x10]
dec eax
cmp eax, 6
ja case.default.0x180014ded
cdqe
mov ecx, dword [rbx + rax*4 + 0x15044]
add rcx, rbx
jmp rcx
mov edx, 5
jmp case.default.0x180014ded
mov edx, 4
jmp case.default.0x180014ded
mov edx, 3
jmp case.default.0x180014ded
mov edx, r12d
jmp case.default.0x180014ded
mov edx, 7
mov dword [r9], edx
mov ecx, dword [rsp + 0xc0]
mov eax, dword [rsp + 0x30]
sub edx, 1
je 0x180014e6d
sub edx, 1
je 0x180014e5e
sub edx, r12d
je 0x180014e52
sub edx, r12d
je 0x180014e47
cmp edx, 1
mov edx, dword [rsp + 0xc8]
jne 0x180014e7d
inc ecx
mov dword [rsp + 0xc0], ecx
jmp 0x180014e7d
mov edx, dword [rsp + 0xc8]
inc ebp
jmp 0x180014e7d
mov edx, dword [rsp + 0xc8]
inc r14d
jmp 0x180014e7d
mov edx, dword [rsp + 0xc8]
inc eax
mov dword [rsp + 0x30], eax
jmp 0x180014e7d
mov edx, dword [rsp + 0xc8]
inc edx
mov dword [rsp + 0xc8], edx
dec r10d
sub r9, 0x40
add r8d, 0xffffffff
jne 0x180014d85
test ebp, ebp
je 0x180015003
cmp ebp, 1
jle 0x180014eb9
test r13d, r13d
je 0x180015020
mov ecx, r12d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Synthetic_string_can_not_have_several_PU_levels_n
jmp 0x180015018
cmp eax, 1
jle 0x180014edc
test r13d, r13d
je 0x180015020
mov ecx, r12d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Synthetic_string_can_not_have_several_NUMA_node_levels_n
jmp 0x180015018
cmp edx, 1
jle 0x180014eff
test r13d, r13d
je 0x180015020
mov ecx, r12d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Synthetic_string_can_not_have_several_machine_levels_n
jmp 0x180015018
test edx, edx
mov eax, esi
sete al
cmp r14d, 1
mov dword [rdi + 0x10], eax
mov edi, esi
mov rbp, qword [rsp + 0xb0]
cmove r14d, r12d
test r11d, r11d
je 0x180014fce
mov r12d, dword [rsp + 0xb8]
lea rbx, [rbp + 0x14]
mov eax, dword [rbx - 4]
mov edx, r14d
cmp eax, 7
jne 0x180014f4d
cmp dword [rbx], 0xffffffff
jne 0x180014fab
mov dword [rbx], ecx
dec ecx
mov dword [rsp + 0xc0], ecx
jmp 0x180014fab
cmp eax, 4
jne 0x180014f98
mov ecx, dword [rbx]
cmp ecx, 0xffffffff
jne 0x180014f61
mov dword [rbx], r14d
mov ecx, edx
dec r14d
cmp dword [rbx + 4], 0xffffffff
jne 0x180014f72
mov eax, esi
cmp ecx, 1
sete al
mov dword [rbx + 4], eax
cmp qword [rbx + 0xc], rsi
jne 0x180014fab
cmp ecx, 1
jne 0x180014f87
mov qword [rbx + 0xc], 0x8000
jmp 0x180014fab
mov eax, 0x40000
add ecx, ecx
shl eax, cl
cdqe
mov qword [rbx + 0xc], rax
jmp 0x180014fab
cmp eax, 2
jne 0x180014fab
cmp qword [rbx + 0xc], rsi
jne 0x180014fab
mov qword [rbx + 0xc], 0x40000000
mov r8d, r13d
mov edx, edi
mov rcx, rbp
call fcn.180013e20
mov ecx, dword [rsp + 0xc0]
inc edi
add rbx, 0x40
cmp edi, r12d
jb 0x180014f30
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov qword [rbp], rax
mov eax, r15d
shl rax, 6
mov dword [rax + rbp + 8], esi
xor eax, eax
jmp 0x18001502f
test r13d, r13d
je 0x180015020
mov ecx, r12d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Synthetic_string_cannot_use_PU_type_for_non_last_level_n
jmp 0x180015018
test r13d, r13d
je 0x180015020
mov ecx, r12d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Synthetic_string_missing_ending_number_of_PUs_n
mov rcx, rax
call fcn.180001030
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x16
or eax, 0xffffffff
mov rbx, qword [rsp + 0x68]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret