Function at 0x140015360
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 0x1400153c2
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 0x140015409
lea r8, [rdi + 8]
mov r9d, r13d
lea rcx, [r15 + 1]
lea rdx, [rsp + 0xb8]
call fcn.1400151b0
test eax, eax
js 0x1400159e6
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 0x140015707
mov r14d, ecx
nop dword [rax]
mov ebp, 0xffffffff
lea eax, [r14 - 2]
mov r15d, eax
mov ecx, ebp
shl r15, 6
mov edx, ebp
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], ecx
mov dword [r15 + rdi + 8], esi
movzx eax, byte [rbx]
cmp al, 0x20
jne 0x14001546b
nop dword [rax]
movzx eax, byte [rbx + 1]
inc rbx
cmp al, 0x20
je 0x140015460
test al, al
je 0x14001559c
sub al, 0x30
cmp al, 9
jbe 0x1400154e8
lea r9, [rsp + 0x3c]
mov qword [rsp + 0x20], 4
lea r8, [rsp + 0x38]
mov rcx, rbx
lea rdx, [rsp + 0x34]
call fcn.1400061f0
test eax, eax
js 0x140015651
mov ebp, dword [rsp + 0x34]
test ebp, ebp
je 0x14001562a
lea eax, [rbp - 8]
cmp eax, 3
jbe 0x14001562a
mov edx, 0x3a
mov rcx, rbx
call sub.VCRUNTIME140.dll_strchr
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140015606
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 0x1400156d7
test eax, eax
je 0x1400156ac
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 0x140015565
lea r8, [rdi + 8]
inc rcx
mov r9d, r13d
lea rdx, [rsp + 0x48]
call fcn.1400151b0
test eax, eax
js 0x1400155d7
mov rcx, qword [rsp + 0x48]
cmp r14d, 0x80
jae 0x14001567c
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 0x140015430
test r11d, r11d
jne 0x140015702
test r13d, r13d
je 0x1400155c3
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.140001b60
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rbp, qword [rsp + 0xb0]
mov dword [rax], reloc.WSOCK32.dll_shutdown
lea rbx, [rbp + 8]
nop dword [rax + 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 0x1400159dc
inc esi
add rbx, 0x40
cmp esi, 0x80
jb 0x1400155e0
jmp 0x1400159dc
test r13d, r13d
je 0x1400155c3
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.140001b60
jmp 0x1400155c3
test r13d, r13d
je 0x1400155c3
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.140001b60
jmp 0x1400155c3
test r13d, r13d
je 0x1400155c3
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.140001b60
jmp 0x1400155c3
test r13d, r13d
je 0x1400156a1
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.140001b60
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
jmp 0x1400155d1
test r13d, r13d
je 0x1400155c3
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.140001b60
jmp 0x1400155c3
test r13d, r13d
je 0x1400155c3
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.140001b60
jmp 0x1400155c3
mov r14d, esi
mov ebp, esi
lea r15d, [r11 - 1]
mov r12d, 2
mov r8d, r15d
test r15d, r15d
je 0x1400159b3
mov eax, r8d
lea r9, [rdi + 0x10]
shl rax, 6
lea rbx, [0x140000000]
add r9, rax
mov r10d, r11d
mov edx, dword [r9]
cmp r8d, r15d
jne 0x140015765
cmp edx, 0xffffffff
je 0x140015773
cmp edx, 6
je 0x14001576e
test r13d, r13d
je 0x1400159d0
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 0x1400159c8
cmp edx, 6
je 0x14001599c
cmp edx, 0xffffffff
jne 0x1400157c1
cmp r8d, r15d
jne 0x14001577f
mov edx, 6
jmp case.default.0x14001579d
mov eax, r10d
shl rax, 6
mov eax, dword [rax + rdi + 0x10]
dec eax
cmp eax, 6
ja case.default.0x14001579d
cdqe
mov ecx, dword [rbx + rax*4 + 0x159f8]
add rcx, rbx
jmp rcx
mov edx, 5
jmp case.default.0x14001579d
mov edx, 4
jmp case.default.0x14001579d
mov edx, 3
jmp case.default.0x14001579d
mov edx, r12d
jmp case.default.0x14001579d
mov edx, 7
mov dword [r9], edx
mov ecx, dword [rsp + 0xc0]
mov eax, dword [rsp + 0x30]
sub edx, 1
je 0x14001581d
sub edx, 1
je 0x14001580e
sub edx, r12d
je 0x140015802
sub edx, r12d
je 0x1400157f7
cmp edx, 1
mov edx, dword [rsp + 0xc8]
jne 0x14001582d
inc ecx
mov dword [rsp + 0xc0], ecx
jmp 0x14001582d
mov edx, dword [rsp + 0xc8]
inc ebp
jmp 0x14001582d
mov edx, dword [rsp + 0xc8]
inc r14d
jmp 0x14001582d
mov edx, dword [rsp + 0xc8]
inc eax
mov dword [rsp + 0x30], eax
jmp 0x14001582d
mov edx, dword [rsp + 0xc8]
inc edx
mov dword [rsp + 0xc8], edx
dec r10d
sub r9, 0x40
add r8d, 0xffffffff
jne 0x140015735
test ebp, ebp
je 0x1400159b3
cmp ebp, 1
jle 0x140015869
test r13d, r13d
je 0x1400159d0
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 0x1400159c8
cmp eax, 1
jle 0x14001588c
test r13d, r13d
je 0x1400159d0
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 0x1400159c8
cmp edx, 1
jle 0x1400158af
test r13d, r13d
je 0x1400159d0
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 0x1400159c8
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 0x14001597e
mov r12d, dword [rsp + 0xb8]
lea rbx, [rbp + 0x14]
mov eax, dword [rbx - 4]
mov edx, r14d
cmp eax, 7
jne 0x1400158fd
cmp dword [rbx], 0xffffffff
jne 0x14001595b
mov dword [rbx], ecx
dec ecx
mov dword [rsp + 0xc0], ecx
jmp 0x14001595b
cmp eax, 4
jne 0x140015948
mov ecx, dword [rbx]
cmp ecx, 0xffffffff
jne 0x140015911
mov dword [rbx], r14d
mov ecx, edx
dec r14d
cmp dword [rbx + 4], 0xffffffff
jne 0x140015922
mov eax, esi
cmp ecx, 1
sete al
mov dword [rbx + 4], eax
cmp qword [rbx + 0xc], rsi
jne 0x14001595b
cmp ecx, 1
jne 0x140015937
mov qword [rbx + 0xc], 0x8000
jmp 0x14001595b
mov eax, 0x40000
add ecx, ecx
shl eax, cl
cdqe
mov qword [rbx + 0xc], rax
jmp 0x14001595b
cmp eax, 2
jne 0x14001595b
cmp qword [rbx + 0xc], rsi
jne 0x14001595b
mov qword [rbx + 0xc], 0x40000000
mov r8d, r13d
mov edx, edi
mov rcx, rbp
call fcn.140014800
mov ecx, dword [rsp + 0xc0]
inc edi
add rbx, 0x40
cmp edi, r12d
jb 0x1400158e0
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 0x1400159e1
test r13d, r13d
je 0x1400159d0
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 0x1400159c8
test r13d, r13d
je 0x1400159d0
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.140001b60
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], reloc.WSOCK32.dll_shutdown
mov 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