Function at 0x715130
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
lea r15, str.type
lea rax, [rsp + 0x78]
mov qword [rsp + 0x110], rcx
lea r14, [rsp + 0x90]
mov qword [rsp + 0x118], rdx
mov qword [rdx], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x58], rax
nop dword [rax]
mov rax, qword [rsp + 0x110]
mov r8, qword [rsp + 0x58]
mov rdx, r14
mov rcx, qword [rsp + 0x110]
mov rax, qword [rax + 8]
call qword [rax + 0x20]
test eax, eax
js 0x715521
je 0x71564e
mov rsi, qword [rsp + 0x78]
mov ecx, 5
lea rdi, str.diff
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x715521
mov qword [rsp + 0x50], 0
xor r12d, r12d
lea r13, [rsp + 0x88]
lea rbx, [rsp + 0x80]
mov qword [rsp + 0x48], 0
lea rbp, str.obj_depth
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
nop dword [rax]
mov rax, qword [rsp + 0x98]
mov r8, r13
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x18]
test eax, eax
js 0x715350
mov rdx, qword [rsp + 0x80]
mov ecx, 5
mov rdi, r15
mov rsi, rdx
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x715270
mov r12, qword [rsp + 0x88]
jmp 0x715228
mov ecx, 0xa
mov rsi, rdx
mov rdi, rbp
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x715298
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
jmp 0x715228
mov ecx, 0xa
mov rsi, rdx
lea rdi, str.obj_index
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x7152c8
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x30], rax
jmp 0x715228
mov ecx, 0xe
lea rdi, str.obj_attr_type
mov rsi, rdx
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x7152f8
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x38], rax
jmp 0x715228
mov ecx, 0xf
lea rdi, str.obj_attr_index
mov rsi, rdx
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x715228
mov ecx, 0xe
lea rdi, str.obj_attr_name
mov rsi, rdx
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x715440
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x40], rax
jmp 0x715228
test r12, r12
je 0x715410
mov rcx, r12
call sub.msvcrt.dll_atoi
test eax, eax
jne 0x715410
cmp qword [rsp + 0x28], 0
sete dl
cmp qword [rsp + 0x30], 0
sete al
or dl, al
jne 0x71546c
cmp qword [rsp + 0x38], 0
je 0x71546c
cmp qword [rsp + 0x48], 0
je 0x715528
cmp qword [rsp + 0x50], 0
je 0x715528
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_atoi
mov esi, eax
cmp eax, 2
jne 0x71557a
cmp qword [rsp + 0x40], 0
jne 0x71557a
mov eax, dword [0x00c814e0]
mov edx, dword [0x00c814dc]
test eax, eax
je 0x715699
mov rax, qword [rsp + 0x98]
test edx, edx
je 0x715418
mov rbx, qword [rax + 0x48]
mov ecx, 2
call qword [fcn.00745b20]
lea rdx, str._s:_missing_mandatory_obj_attr_info_name_attribute_n
mov rcx, rax
mov r8, rbx
call sub.msvcrt.dll_fprintf
nop dword [rax]
mov rax, qword [rsp + 0x98]
mov rcx, r14
call qword [rax + 0x28]
test eax, eax
js 0x7154c3
mov rax, qword [rsp + 0x110]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [rax + 0x30]
jmp 0x715188
mov ecx, 0x12
lea rdi, str.obj_attr_oldvalue
mov rsi, rdx
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x7154d7
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x48], rax
jmp 0x715228
mov ecx, dword [0x00c814e0]
mov edx, dword [0x00c814dc]
test ecx, ecx
je 0x715618
mov rax, qword [rsp + 0x98]
test edx, edx
je 0x715418
mov rbx, qword [rax + 0x48]
mov ecx, 2
call qword [fcn.00745b20]
lea rdx, str._s:_missing_mandatory_obj_attr_generic_attributes_n
mov rcx, rax
mov r8, rbx
call sub.msvcrt.dll_fprintf
mov rax, qword [rsp + 0x98]
mov rcx, r14
call qword [rax + 0x28]
test eax, eax
jns 0x715426
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x12
lea rdi, str.obj_attr_newvalue
mov rsi, rdx
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x715503
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x50], rax
jmp 0x715228
mov r8d, dword [0x00c814e0]
mov eax, dword [0x00c814dc]
test r8d, r8d
je 0x71577c
test eax, eax
jne 0x715743
mov eax, 0xffffffff
jmp 0x7154c3
mov edx, dword [0x00c814e0]
test edx, edx
je 0x715663
mov edx, dword [0x00c814dc]
mov rax, qword [rsp + 0x98]
test edx, edx
je 0x715418
mov rbx, qword [rax + 0x48]
mov ecx, 2
call qword [fcn.00745b20]
lea rdx, str._s:_missing_mandatory_obj_attr_value_attributes_n
mov rcx, rax
mov r8, rbx
call sub.msvcrt.dll_fprintf
mov rax, qword [rsp + 0x98]
jmp 0x715418
mov ecx, 0x38
call sub.msvcrt.dll_malloc
mov rbx, rax
test rax, rax
je 0x715521
mov dword [rax], 0
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll_atoi
mov rcx, qword [rsp + 0x30]
mov dword [rbx + 0x10], eax
call sub.msvcrt.dll_atoi
mov qword [rbx + 0x18], 0
mov dword [rbx + 0x14], eax
mov qword [rbx + 0x20], 0
mov qword [rbx + 0x28], 0
mov qword [rbx + 0x30], 0
mov dword [rbx + 0x18], esi
cmp esi, 1
je 0x71573a
cmp esi, 2
je 0x7156cf
test esi, esi
je 0x715705
cmp qword [rsp + 0x60], 0
je 0x715730
mov rax, qword [rsp + 0x68]
mov qword [rax + 8], rbx
mov qword [rbx + 8], 0
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x68], rbx
jmp 0x715418
lea rcx, str.HWLOC_XML_VERBOSE
call sub.msvcrt.dll_getenv
mov edx, dword [0x00c814dc]
mov rcx, rax
test rax, rax
je 0x71563f
call sub.msvcrt.dll_atoi
mov dword [0x00c814dc], eax
mov edx, eax
mov dword [0x00c814e0], 1
jmp 0x715480
mov rbx, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x60]
mov qword [rbx], rsi
jmp 0x7154c3
lea rcx, str.HWLOC_XML_VERBOSE
call sub.msvcrt.dll_getenv
mov edx, dword [0x00c814dc]
mov rcx, rax
test rax, rax
je 0x71568a
call sub.msvcrt.dll_atoi
mov dword [0x00c814dc], eax
mov edx, eax
mov dword [0x00c814e0], 1
jmp 0x71553c
lea rcx, str.HWLOC_XML_VERBOSE
call sub.msvcrt.dll_getenv
mov edx, dword [0x00c814dc]
mov rcx, rax
test rax, rax
je 0x7156c0
call sub.msvcrt.dll_atoi
mov dword [0x00c814dc], eax
mov edx, eax
mov dword [0x00c814e0], 1
jmp 0x7153dc
mov rcx, qword [rsp + 0x40]
mov rsi, qword [sym.imp.msvcrt.dll__strdup_1]
call rsi
mov qword [rbx + 0x20], rax
mov rcx, qword [rsp + 0x48]
call rsi
mov rcx, qword [rsp + 0x50]
mov qword [rbx + 0x28], rax
call rsi
cmp qword [rsp + 0x60], 0
mov qword [rbx + 0x30], rax
jne 0x7155f5
jmp 0x715730
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
xor edx, edx
call fcn.0073b6b0
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
xor edx, edx
mov qword [rbx + 0x28], rax
call fcn.0073b6b0
mov qword [rbx + 0x30], rax
jmp 0x7155e9
mov qword [rsp + 0x60], rbx
jmp 0x7155fe
mov rsi, qword [sym.imp.msvcrt.dll__strdup_1]
jmp 0x7156e1
mov rax, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x80]
mov ecx, 2
mov rbx, qword [rax + 0x48]
call qword [fcn.00745b20]
mov r9, rsi
lea rdx, str._s:_ignoring_unknown_diff_attribute__s_n
mov rcx, rax
mov r8, rbx
call sub.msvcrt.dll_fprintf
jmp 0x715521
lea rcx, str.HWLOC_XML_VERBOSE
call sub.msvcrt.dll_getenv
mov rcx, rax
mov eax, dword [0x00c814dc]
test rcx, rcx
je 0x7157a1
call sub.msvcrt.dll_atoi
mov dword [0x00c814dc], eax
mov dword [0x00c814e0], 1
jmp 0x715519