Function at 0x460700
Capabilities:
Query environment variable

Disassembly:
push r12
push rbp
push rdi
push rsi
sub rsp, 0x38
mov rbp, rcx
test rcx, rcx
je 0x4609c8
mov rcx, qword [0x00619d30]
lea rdx, [sym.do_engine_lock_init_ossl_]
call sym.CRYPTO_THREAD_run_once
test eax, eax
je 0x460918
mov rax, qword [0x00619d10]
mov eax, dword [rax]
test eax, eax
je 0x460918
mov rdi, qword [0x00619da0]
mov rcx, qword [rdi]
call sym.CRYPTO_THREAD_write_lock
mov r12, qword [0x0063ed38]
test r12, r12
jne 0x460779
jmp 0x460830
mov r12, qword [r12 + 0xb8]
test r12, r12
je 0x460830
mov rdx, qword [r12]
mov rcx, rbp
call sym.strcmp
test eax, eax
jne 0x460768
test byte [r12 + 0x98], 4
je 0x460950
call sym.ENGINE_new
test rax, rax
je 0x460830
movdqu xmm1, xmmword [r12 + 0x10]
movdqu xmm0, xmmword [r12 + 0x20]
movdqu xmm2, xmmword [r12]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm2
movups xmmword [rax + 0x20], xmm0
mov rdx, qword [r12 + 0x30]
mov qword [rax + 0x30], rdx
movdqu xmm3, xmmword [r12 + 0x38]
movups xmmword [rax + 0x38], xmm3
mov rdx, qword [r12 + 0x48]
mov qword [rax + 0x48], rdx
movdqu xmm1, xmmword [r12 + 0x68]
movdqu xmm0, xmmword [r12 + 0x78]
movdqu xmm4, xmmword [r12 + 0x58]
movups xmmword [rax + 0x68], xmm1
movups xmmword [rax + 0x58], xmm4
movups xmmword [rax + 0x78], xmm0
mov rdx, qword [r12 + 0x90]
mov qword [rax + 0x90], rdx
mov edx, dword [r12 + 0x98]
mov r12, rax
mov dword [rax + 0x98], edx
jmp 0x46095a
mov rcx, qword [rdi]
mov rsi, rbp
lea rdi, [0x005d8ee9]
call sym.CRYPTO_THREAD_unlock
mov ecx, 8
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x460970
call sym.OPENSSL_issetugid
test eax, eax
je 0x4609f8
lea rdi, str._usr_x86_64_w64_mingw32__lib_engines_1_1
lea rcx, [0x005d8ee9]
call sym.ENGINE_by_id
mov r12, rax
test rax, rax
je 0x460970
xor r9d, r9d
mov r8, rbp
lea rdx, [0x005d8f01]
mov rcx, rax
call sym.ENGINE_ctrl_cmd_string
test eax, eax
je 0x460973
xor r9d, r9d
lea r8, [0x005d8f04]
lea rdx, str.DIR_LOAD
mov rcx, r12
call sym.ENGINE_ctrl_cmd_string
test eax, eax
je 0x460973
xor r9d, r9d
mov r8, rdi
lea rdx, str.DIR_ADD
mov rcx, r12
call sym.ENGINE_ctrl_cmd_string
test eax, eax
je 0x460973
xor r9d, r9d
lea r8, [0x005d8f17]
lea rdx, [0x005d8f19]
mov rcx, r12
call sym.ENGINE_ctrl_cmd_string
test eax, eax
je 0x460973
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x005d8f22]
mov rcx, r12
call sym.ENGINE_ctrl_cmd_string
test eax, eax
jne 0x46093f
jmp 0x460973
mov dword [rsp + 0x20], 0x11e
lea r9, str.crypto_engine_eng_list.c
mov r8d, 0x41
xor r12d, r12d
mov edx, 0x6a
mov ecx, 0x26
call sym.ERR_put_error
mov rax, r12
add rsp, 0x38
pop rsi
pop rdi
pop rbp
pop r12
ret
lock add dword [r12 + 0x9c], 1
mov rcx, qword [rdi]
call sym.CRYPTO_THREAD_unlock
mov rax, r12
add rsp, 0x38
pop rsi
pop rdi
pop rbp
pop r12
ret
xor r12d, r12d
mov rcx, r12
xor r12d, r12d
call sym.ENGINE_free
mov r8d, 0x74
mov edx, 0x6a
mov dword [rsp + 0x20], 0x14f
lea r9, str.crypto_engine_eng_list.c
mov ecx, 0x26
call sym.ERR_put_error
mov r8, rbp
mov ecx, 2
lea rdx, [0x005d8f27]
call sym.ERR_add_error_data
mov rax, r12
add rsp, 0x38
pop rsi
pop rdi
pop rbp
pop r12
ret
mov dword [rsp + 0x20], 0x11a
lea r9, str.crypto_engine_eng_list.c
mov r8d, 0x43
xor r12d, r12d
mov edx, 0x6a
mov ecx, 0x26
call sym.ERR_put_error
jmp 0x46093f
lea rcx, str.OPENSSL_ENGINES
call sym.getenv
mov rdi, rax
test rax, rax
jne 0x46086a
jmp 0x460863