Function at 0x14005ac20
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 [0x140285bf0], dil
mov r13d, edi
mov qword [rbp + 0x67], rdi
lea rbx, [rdi - 1]
jne 0x14005ac55
cmp byte [0x140284511], dil
jne 0x14005b484
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 0x14005b2ab
cmp byte [rax], dil
je 0x14005b2ab
mov rcx, rax
mov qword [rbp + 0x6f], rdi
call fcn.14005f570
mov r13, rax
test rax, rax
jne 0x14005acdd
mov rcx, qword [0x14027dd28]
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 [0x14027dbd0]
mov qword [rsp + 0x28], rcx
mov rcx, qword [0x14027dbb8]
mov qword [rsp + 0x20], rcx
jmp 0x14005b38c
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 0x14005ad17
lea rax, str.VOL_connector_environment_variable_set_empty_
mov r9d, 0x194
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027e0b8]
jmp 0x14005b36f
movzx r14d, byte [0x140285bf0]
test r14b, r14b
jne 0x14005ad35
movzx r15d, byte [0x140284511]
test r15b, r15b
jne 0x14005af59
mov r9b, 1
mov dword [rbp + 7], edi
lea r8, [rbp + 7]
mov qword [rbp + 0xf], rsi
lea rdx, [0x14005a1f0]
mov qword [rbp + 0x17], rbx
mov ecx, 9
call fcn.14004af20
test eax, eax
jns 0x14005adc5
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 [0x14027de18]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x14027dbd0]
mov qword [rsp + 0x28], rax
mov rax, qword [0x14027dbb8]
mov qword [rsp + 0x20], rax
call fcn.1400603f0
lea rax, str.cant_check_if_VOL_connector_already_registered
mov r9d, 0x198
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027ddb8]
jmp 0x14005b36f
cmp qword [rbp + 0x17], rbx
je 0x14005af49
movzx ecx, byte [0x140285bf0]
movzx eax, byte [0x140284511]
test cl, cl
jne 0x14005adf1
test al, al
jne 0x14005af22
test cl, cl
jne 0x14005adf1
test al, al
jne 0x14005ae69
mov r9b, 1
mov dword [rbp + 7], edi
lea r8, [rbp + 7]
mov qword [rbp + 0xf], rsi
lea rdx, [0x14005a1f0]
mov qword [rbp + 0x17], rbx
mov ecx, 9
call fcn.14004af20
test eax, eax
jns 0x14005ae65
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 [0x14027de18]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x14027dbd0]
mov qword [rsp + 0x28], rax
mov rax, qword [0x14027dbb8]
mov qword [rsp + 0x20], rax
call fcn.1400603f0
jmp 0x14005ae6e
mov rbx, qword [rbp + 0x17]
test rbx, rbx
jns 0x14005aec2
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 [0x14027de18]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x14027dbd0]
mov qword [rsp + 0x28], rax
mov rax, qword [0x14027dbb8]
mov qword [rsp + 0x20], rax
call fcn.1400603f0
mov rbx, 0xffffffffffffffff
jmp 0x14005af2b
xor edx, edx
mov rcx, rbx
call fcn.14004ae70
test eax, eax
jns 0x14005af22
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 [0x14027df18]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x14027dbc8]
mov qword [rsp + 0x28], rax
mov rax, qword [0x14027dbb8]
mov qword [rsp + 0x20], rax
call fcn.1400603f0
mov rbx, 0xffffffffffffffff
test rbx, rbx
jns 0x14005b190
lea rax, str.cant_get_VOL_connector_ID
mov r9d, 0x19c
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027ddb8]
jmp 0x14005b36f
movzx r14d, byte [0x140285bf0]
movzx r15d, byte [0x140284511]
mov rcx, rdi
lea rdx, str.native
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14005afbf
cmp rcx, 7
jne 0x14005af63
call fcn.140100e30
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.14004ae70
test eax, eax
jns 0x14005b190
mov rcx, qword [0x14027df18]
lea rax, str.cant_increment_VOL_connector_refcount
mov qword [rsp + 0x38], rax
mov r9d, 0x1a3
mov qword [rsp + 0x30], rcx
mov rcx, qword [0x14027dbd0]
mov qword [rsp + 0x28], rcx
jmp 0x14005b380
lea rdx, str.pass_through
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14005b00a
call fcn.140166950
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.14004ae70
test eax, eax
jns 0x14005b190
lea rax, str.cant_increment_VOL_connector_refcount
mov r9d, 0x1a8
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027df18]
jmp 0x14005b36f
mov r12, qword [0x14027d7f8]
test r14b, r14b
jne 0x14005b01f
test r15b, r15b
jne 0x14005b16d
mov r9b, 1
mov dword [rbp + 7], edi
lea r8, [rbp + 7]
mov qword [rbp + 0xf], rsi
lea rdx, [0x14005a1f0]
mov qword [rbp + 0x17], rbx
mov ecx, 9
call fcn.14004af20
test eax, eax
jns 0x14005b096
lea rax, str.cant_iterate_over_VOL_ids
mov r9d, 0x515
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027de18]
mov qword [rsp + 0x30], rax
lea r8, str.H5VL__register_connector_by_name
mov rax, qword [0x14027dbd0]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov rax, qword [0x14027dbb8]
mov qword [rsp + 0x20], rax
call fcn.1400603f0
jmp 0x14005b172
mov rcx, qword [rbp + 0x17]
cmp rcx, rbx
je 0x14005b0ce
mov dl, 1
call fcn.14004ae70
test eax, eax
jns 0x14005b0c5
lea rax, str.unable_to_increment_ref_count_on_VOL_connector
mov r9d, 0x51b
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027df18]
jmp 0x14005b05f
mov rbx, qword [rbp + 0x17]
jmp 0x14005b16d
lea rdx, [rbp - 9]
mov dword [rbp - 9], edi
mov ecx, 1
mov qword [rbp - 1], rsi
call fcn.14004c740
test rax, rax
jne 0x14005b106
lea rax, str.unable_to_load_VOL_connector
mov r9d, 0x526
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027dda0]
jmp 0x14005b05f
mov r8, r12
mov dl, 1
mov rcx, rax
call fcn.14005a690
mov rbx, rax
test rax, rax
jns 0x14005b16d
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 [0x14027df10]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x14027dbd0]
mov qword [rsp + 0x28], rax
mov rax, qword [0x14027dbb8]
mov qword [rsp + 0x20], rax
call fcn.1400603f0
mov rbx, 0xffffffffffffffff
test rbx, rbx
jns 0x14005b190
lea rax, str.cant_register_connector
mov r9d, 0x1af
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027df10]
jmp 0x14005b36f
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 0x14005b26a
cmp byte [0x140285bf0], dil
jne 0x14005b1c5
cmp byte [0x140284511], dil
jne 0x14005b26a
mov edx, 9
mov rcx, rbx
call fcn.14004b1f0
lea r14, str.cant_deserialize_connector_info
test rax, rax
jne 0x14005b1f9
lea rax, str.not_a_VOL_connector_ID
mov r9d, 0x679
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027e0a8]
jmp 0x14005b221
mov rax, qword [rax + 0x50]
test rax, rax
je 0x14005b26a
lea rdx, [rbp + 0x67]
mov rcx, rsi
call rax
test eax, eax
jns 0x14005b26a
mov rax, qword [0x14027df38]
mov r9d, 0x67e
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rax
lea r8, str.H5VL__connector_str_to_info
mov rax, qword [0x14027dbd0]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov rax, qword [0x14027dbb8]
mov qword [rsp + 0x20], rax
call fcn.1400603f0
mov rax, qword [0x14027e0d8]
mov r9d, 0x1b6
mov qword [rsp + 0x38], r14
jmp 0x14005b36f
mov rax, qword [rbp + 0x67]
mov qword [0x14027dbb0], rax
mov qword [0x14027dba8], rbx
mov rcx, qword [0x14027d6d8]
call fcn.14004b1b0
test rax, rax
jne 0x14005b2ea
lea rax, str.cant_find_object_for_default_file_access_property_class_ID
mov r9d, 0x1c8
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027df00]
jmp 0x14005b36f
call fcn.140100e30
xor edx, edx
mov qword [0x14027dba8], rax
mov rcx, rax
mov qword [0x14027dbb0], rdi
call fcn.14004ae70
test eax, eax
jns 0x14005b27c
lea rax, str.cant_increment_VOL_connector_refcount
mov r9d, 0x1c3
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027df18]
jmp 0x14005b36f
lea rdx, [0x14027dba8]
mov rcx, rax
call fcn.140025a20
test eax, eax
jns 0x14005b30c
lea rax, str.cant_set_default_VOL_connector_for_default_file_access_property_class
mov r9d, 0x1cd
jmp 0x14005b363
mov rcx, qword [0x14027d778]
call fcn.14004b1b0
test rax, rax
jne 0x14005b338
lea rax, str.cant_find_object_for_default_fapl_ID
mov r9d, 0x1d1
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027df00]
jmp 0x14005b36f
mov r8, qword [0x14027dbb0]
mov rcx, rax
mov rdx, qword [0x14027dba8]
call fcn.140025b70
test eax, eax
jns 0x14005b462
lea rax, str.cant_set_default_VOL_connector_for_default_FAPL
mov r9d, 0x1d5
mov qword [rsp + 0x38], rax
mov rax, qword [0x14027ddc0]
mov qword [rsp + 0x30], rax
mov rax, qword [0x14027dbd0]
mov qword [rsp + 0x28], rax
mov rax, qword [0x14027dbb8]
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.1400603f0
mov rdx, qword [rbp + 0x67]
test rdx, rdx
je 0x14005b401
mov rcx, rbx
call fcn.140066140
test eax, eax
jns 0x14005b401
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 [0x14027ddb0]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x14027dbd0]
mov qword [rsp + 0x28], rax
mov rax, qword [0x14027dbb8]
mov qword [rsp + 0x20], rax
call fcn.1400603f0
mov edi, 0xffffffff
test rbx, rbx
js 0x14005b462
mov rcx, rbx
call fcn.14004a820
test eax, eax
jns 0x14005b462
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 [0x14027df20]
lea rdx, str.C:_b_abs_e4nt8ttmb0croothdf5_1686163951797work_srcH5VLint.c
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov rax, qword [0x14027dbd0]
mov qword [rsp + 0x28], rax
mov rax, qword [0x14027dbb8]
mov qword [rsp + 0x20], rax
call fcn.1400603f0
mov rcx, r13
call fcn.14005f600
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