Function at 0x18001e410
Capabilities:
Query environment variable

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rsi, rcx
lea r8, [r11 + 0x20]
xor ecx, ecx
lea rdx, [r11 - 0x58]
mov qword [rsp + 0x80], rcx
xor edi, edi
mov rcx, rsi
xor r13d, r13d
mov rax, qword [rsi + 8]
xor r14d, r14d
xor r12d, r12d
xor r15d, r15d
xor ebp, ebp
call qword [rax + 0x18]
test eax, eax
js 0x18001e7ae
mov rbx, qword [rsp + 0x20]
lea rdx, str.type
xor ecx, ecx
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x18001e490
cmp rcx, 5
jne 0x18001e470
mov rdi, qword [rsp + 0x98]
jmp 0x18001e561
lea rdx, str.obj_depth
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x18001e4b0
mov r13, qword [rsp + 0x98]
jmp 0x18001e561
lea rdx, str.obj_index
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x18001e4d8
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0x80], rbx
jmp 0x18001e569
lea rdx, str.obj_attr_type
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x18001e4f5
mov r14, qword [rsp + 0x98]
jmp 0x18001e561
lea rdx, str.obj_attr_index
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x18001e561
lea rdx, str.obj_attr_name
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x18001e525
mov r12, qword [rsp + 0x98]
jmp 0x18001e561
lea rdx, str.obj_attr_oldvalue
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x18001e542
mov r15, qword [rsp + 0x98]
jmp 0x18001e561
lea rdx, str.obj_attr_newvalue
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x18001e611
mov rbp, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x80]
mov rax, qword [rsi + 8]
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [rax + 0x18]
test eax, eax
jns 0x18001e462
test rdi, rdi
je 0x18001e7ae
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
test eax, eax
jne 0x18001e7ae
test r13, r13
je 0x18001e783
test rbx, rbx
je 0x18001e783
test r14, r14
je 0x18001e783
test r15, r15
je 0x18001e762
test rbp, rbp
je 0x18001e762
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov edi, eax
cmp eax, 2
jne 0x18001e67d
test r12, r12
jne 0x18001e67d
call fcn.18001c380
test eax, eax
je 0x18001e7ae
mov rbx, qword [rsi + 8]
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str._s:_missing_mandatory_obj_attr_info_name_attribute_n
jmp 0x18001e7a2
cmp dword [0x18008252c], 0
je 0x18001e645
lea rcx, str.HWLOC_XML_VERBOSE
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x18001e63b
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [0x180087cd8], eax
mov dword [0x18008252c], 0
cmp dword [0x180087cd8], 0
je 0x18001e675
mov rbx, qword [rsi + 8]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, qword [rsp + 0x20]
lea rdx, str._s:_ignoring_unknown_diff_attribute__s_n
mov r8, qword [rbx + 0x48]
mov rcx, rax
call fcn.18000e2a0
or eax, 0xffffffff
jmp 0x18001e7b8
mov ecx, 0x38
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x18001e675
mov rcx, r13
mov dword [rax], 0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov rcx, qword [rsp + 0x80]
mov dword [rbx + 0x10], eax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov dword [rbx + 0x14], eax
mov rcx, r14
xor eax, eax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov dword [rbx + 0x18], edi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
test eax, eax
je 0x18001e704
sub eax, 1
je 0x18001e6ec
cmp eax, 1
jne 0x18001e728
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov qword [rbx + 0x20], rax
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov rcx, rbp
mov qword [rbx + 0x28], rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
jmp 0x18001e724
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__strtoui64]
xor r8d, r8d
xor edx, edx
mov rcx, rbp
mov qword [rbx + 0x28], rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__strtoui64]
mov qword [rbx + 0x30], rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
cmp qword [rax], 0
je 0x18001e752
mov rax, qword [rcx]
mov qword [rcx], rbx
mov qword [rax + 8], rbx
mov qword [rbx + 8], 0
jmp 0x18001e7ae
mov qword [rax], rbx
mov qword [rcx], rbx
mov qword [rbx + 8], 0
jmp 0x18001e7ae
call fcn.18001c380
test eax, eax
je 0x18001e7ae
mov rbx, qword [rsi + 8]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str._s:_missing_mandatory_obj_attr_value_attributes_n
jmp 0x18001e7a2
call fcn.18001c380
test eax, eax
je 0x18001e7ae
mov rbx, qword [rsi + 8]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str._s:_missing_mandatory_obj_attr_generic_attributes_n
mov r8, qword [rbx + 0x48]
mov rcx, rax
call fcn.18000e2a0
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x28]
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret