Function at 0x1400be240
Capabilities:
Query environment variable

Disassembly:
push rbp
push rbx
push rdi
push r13
lea rbp, [rsp - 0x3f]
sub rsp, 0x88
xor edi, edi
cmp byte [0x1402b6297], dil
mov r13d, edi
mov qword [rbp + 0x67], rdi
lea rbx, [rdi - 1]
jne 0x1400be275
cmp byte [0x1402b4b71], dil
jne 0x1400beaa4
mov qword [rsp + 0xc0], rsi
lea rcx, str.HDF5_VOL_CONNECTOR
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x70], r15
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x1400be8cb
cmp byte [rax], dil
je 0x1400be8cb
mov rcx, rax
mov qword [rbp + 0x6f], rdi
call fcn.1400c2b90
mov r13, rax
test rax, rax
jne 0x1400be2fd
mov rcx, qword [0x1402b1698]
lea rax, str.cant_allocate_memory_for_environment_variable_string
mov qword [rsp + 0x38], rax
mov r9d, 0x18e
mov qword [rsp + 0x30], rcx
mov rcx, qword [0x1402b1540]
mov qword [rsp + 0x28], rcx
mov rcx, qword [0x1402b1528]
mov qword [rsp + 0x20], rcx
jmp 0x1400be9ac
lea r8, [rbp + 0x6f]
mov rcx, rax
lea rdx, str.__t_n_r
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strtok_s]
mov rsi, rax
test rax, rax
jne 0x1400be337
lea rax, str.VOL_connector_environment_variable_set_empty_
mov r9d, 0x194
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a28]
jmp 0x1400be98f
movzx r14d, byte [0x1402b6297]
test r14b, r14b
jne 0x1400be355
movzx r15d, byte [0x1402b4b71]
test r15b, r15b
jne 0x1400be579
mov r9b, 1
mov dword [rbp + 7], edi
lea r8, [rbp + 7]
mov qword [rbp + 0xf], rsi
lea rdx, [0x1400bd1a0]
mov qword [rbp + 0x17], rbx
mov ecx, 9
call fcn.1400b9320
test eax, eax
jns 0x1400be3e5
lea rax, str.cant_iterate_over_VOL_connectors
mov r9d, 0x589
mov qword [rsp + 0x38], rax
lea r8, str.H5VL__is_connector_registered_by_name
mov rax, qword [0x1402b1788]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x1402b1540]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
lea rax, str.cant_check_if_VOL_connector_already_registered
mov r9d, 0x198
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1728]
jmp 0x1400be98f
cmp qword [rbp + 0x17], rbx
je 0x1400be569
movzx ecx, byte [0x1402b6297]
movzx eax, byte [0x1402b4b71]
test cl, cl
jne 0x1400be411
test al, al
jne 0x1400be542
test cl, cl
jne 0x1400be411
test al, al
jne 0x1400be489
mov r9b, 1
mov dword [rbp + 7], edi
lea r8, [rbp + 7]
mov qword [rbp + 0xf], rsi
lea rdx, [0x1400bd1a0]
mov qword [rbp + 0x17], rbx
mov ecx, 9
call fcn.1400b9320
test eax, eax
jns 0x1400be485
lea rax, str.cant_iterate_over_VOL_connectors
mov r9d, 0x632
mov qword [rsp + 0x38], rax
lea r8, str.H5VL__peek_connector_id_by_name
mov rax, qword [0x1402b1788]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x1402b1540]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
jmp 0x1400be48e
mov rbx, qword [rbp + 0x17]
test rbx, rbx
jns 0x1400be4e2
lea rax, str.cant_find_VOL_connector
mov r9d, 0x5ef
mov qword [rsp + 0x38], rax
lea r8, str.H5VL__get_connector_id_by_name
mov rax, qword [0x1402b1788]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x1402b1540]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
mov rbx, 0xffffffffffffffff
jmp 0x1400be54b
xor edx, edx
mov rcx, rbx
call fcn.1400b9270
test eax, eax
jns 0x1400be542
lea rax, str.unable_to_increment_ref_count_on_VOL_connector
mov r9d, 0x5f3
mov qword [rsp + 0x38], rax
lea r8, str.H5VL__get_connector_id_by_name
mov rax, qword [0x1402b1888]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x1402b1538]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
mov rbx, 0xffffffffffffffff
test rbx, rbx
jns 0x1400be7b0
lea rax, str.cant_get_VOL_connector_ID
mov r9d, 0x19c
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1728]
jmp 0x1400be98f
movzx r14d, byte [0x1402b6297]
movzx r15d, byte [0x1402b4b71]
mov rcx, rdi
lea rdx, str.native
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1400be5df
cmp rcx, 7
jne 0x1400be583
call fcn.1400770f0
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.1400b9270
test eax, eax
jns 0x1400be7b0
mov rcx, qword [0x1402b1888]
lea rax, str.cant_increment_VOL_connector_refcount
mov qword [rsp + 0x38], rax
mov r9d, 0x1a3
mov qword [rsp + 0x30], rcx
mov rcx, qword [0x1402b1540]
mov qword [rsp + 0x28], rcx
jmp 0x1400be9a0
lea rdx, str.pass_through
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x1400be62a
call fcn.140086890
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.1400b9270
test eax, eax
jns 0x1400be7b0
lea rax, str.cant_increment_VOL_connector_refcount
mov r9d, 0x1a8
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1888]
jmp 0x1400be98f
mov r12, qword [0x1402b10b8]
test r14b, r14b
jne 0x1400be63f
test r15b, r15b
jne 0x1400be78d
mov r9b, 1
mov dword [rbp + 7], edi
lea r8, [rbp + 7]
mov qword [rbp + 0xf], rsi
lea rdx, [0x1400bd1a0]
mov qword [rbp + 0x17], rbx
mov ecx, 9
call fcn.1400b9320
test eax, eax
jns 0x1400be6b6
lea rax, str.cant_iterate_over_VOL_ids
mov r9d, 0x515
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1788]
mov qword [rsp + 0x30], rax
lea r8, str.H5VL__register_connector_by_name
mov rax, qword [0x1402b1540]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
jmp 0x1400be792
mov rcx, qword [rbp + 0x17]
cmp rcx, rbx
je 0x1400be6ee
mov dl, 1
call fcn.1400b9270
test eax, eax
jns 0x1400be6e5
lea rax, str.unable_to_increment_ref_count_on_VOL_connector
mov r9d, 0x51b
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1888]
jmp 0x1400be67f
mov rbx, qword [rbp + 0x17]
jmp 0x1400be78d
lea rdx, [rbp - 9]
mov dword [rbp - 9], edi
mov ecx, 1
mov qword [rbp - 1], rsi
call fcn.1400bab40
test rax, rax
jne 0x1400be726
lea rax, str.unable_to_load_VOL_connector
mov r9d, 0x526
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1710]
jmp 0x1400be67f
mov r8, r12
mov dl, 1
mov rcx, rax
call fcn.1400bdad0
mov rbx, rax
test rax, rax
jns 0x1400be78d
lea rax, str.unable_to_register_VOL_connector_ID
mov r9d, 0x52a
mov qword [rsp + 0x38], rax
lea r8, str.H5VL__register_connector_by_name
mov rax, qword [0x1402b1880]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x1402b1540]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
mov rbx, 0xffffffffffffffff
test rbx, rbx
jns 0x1400be7b0
lea rax, str.cant_register_connector
mov r9d, 0x1af
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1880]
jmp 0x1400be98f
lea r8, [rbp + 0x6f]
xor ecx, ecx
lea rdx, str.__t_n_r
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strtok_s]
mov rsi, rax
test rax, rax
je 0x1400be88a
cmp byte [0x1402b6297], dil
jne 0x1400be7e5
cmp byte [0x1402b4b71], dil
jne 0x1400be88a
mov edx, 9
mov rcx, rbx
call fcn.1400b95f0
lea r14, str.cant_deserialize_connector_info
test rax, rax
jne 0x1400be819
lea rax, str.not_a_VOL_connector_ID
mov r9d, 0x679
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1a18]
jmp 0x1400be841
mov rax, qword [rax + 0x50]
test rax, rax
je 0x1400be88a
lea rdx, [rbp + 0x67]
mov rcx, rsi
call rax
test eax, eax
jns 0x1400be88a
mov rax, qword [0x1402b18a8]
mov r9d, 0x67e
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rax
lea r8, str.H5VL__connector_str_to_info
mov rax, qword [0x1402b1540]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
mov rax, qword [0x1402b1a48]
mov r9d, 0x1b6
mov qword [rsp + 0x38], r14
jmp 0x1400be98f
mov rax, qword [rbp + 0x67]
mov qword [0x1402b1520], rax
mov qword [0x1402b1518], rbx
mov rcx, qword [0x1402b0f98]
call fcn.1400b95b0
test rax, rax
jne 0x1400be90a
lea rax, str.cant_find_object_for_default_file_access_property_class_ID
mov r9d, 0x1c8
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1870]
jmp 0x1400be98f
call fcn.1400770f0
xor edx, edx
mov qword [0x1402b1518], rax
mov rcx, rax
mov qword [0x1402b1520], rdi
call fcn.1400b9270
test eax, eax
jns 0x1400be89c
lea rax, str.cant_increment_VOL_connector_refcount
mov r9d, 0x1c3
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1888]
jmp 0x1400be98f
lea rdx, [0x1402b1518]
mov rcx, rax
call fcn.140065790
test eax, eax
jns 0x1400be92c
lea rax, str.cant_set_default_VOL_connector_for_default_file_access_property_class
mov r9d, 0x1cd
jmp 0x1400be983
mov rcx, qword [0x1402b1038]
call fcn.1400b95b0
test rax, rax
jne 0x1400be958
lea rax, str.cant_find_object_for_default_fapl_ID
mov r9d, 0x1d1
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1870]
jmp 0x1400be98f
mov r8, qword [0x1402b1520]
mov rcx, rax
mov rdx, qword [0x1402b1518]
call fcn.140065a50
test eax, eax
jns 0x1400bea82
lea rax, str.cant_set_default_VOL_connector_for_default_FAPL
mov r9d, 0x1d5
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402b1730]
mov qword [rsp + 0x30], rax
mov rax, qword [0x1402b1540]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
lea r8, str.H5VL__set_def_conn
xor ecx, ecx
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
call fcn.1400c3a10
mov rdx, qword [rbp + 0x67]
test rdx, rdx
je 0x1400bea21
mov rcx, rbx
call fcn.14006fbb0
test eax, eax
jns 0x1400bea21
lea rax, str.cant_free_VOL_connector_info
mov r9d, 0x1dc
mov qword [rsp + 0x38], rax
lea r8, str.H5VL__set_def_conn
mov rax, qword [0x1402b1720]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x1402b1540]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
mov edi, 0xffffffff
test rbx, rbx
js 0x1400bea82
mov rcx, rbx
call fcn.1400b8c20
test eax, eax
jns 0x1400bea82
lea rax, str.unable_to_unregister_VOL_connector
mov r9d, 0x1e0
mov qword [rsp + 0x38], rax
lea r8, str.H5VL__set_def_conn
mov rax, qword [0x1402b1890]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x1402b1540]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1402b1528]
mov qword [rsp + 0x20], rax
call fcn.1400c3a10
mov rcx, r13
call fcn.1400c2c20
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xc0]
mov eax, edi
add rsp, 0x88
pop r13
pop rdi
pop rbx
pop rbp
ret