Function at 0x1401e9570
Capabilities:
Query environment variable

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rsi, rcx
test rcx, rcx
je 0x1401e98c0
mov rbx, qword [0x14048cec0]
xor ecx, ecx
mov edx, 1
mov eax, dword [rbx]
cmp eax, 2
jne 0x1401e95a5
jmp 0x1401e9608
cmp eax, 1
jne 0x1401e95d8
mov eax, ecx
lock cmpxchg dword [rbx], edx
test eax, eax
jne 0x1401e95a0
xor ecx, ecx
call fcn.140277f50
test eax, eax
jne 0x1401e9850
mov rax, qword [0x14048cd00]
mov dword [rbx], 2
mov dword [rax], 0
jmp 0x1401e95df
mov eax, dword [rbx]
cmp eax, 2
je 0x1401e9608
mov r8d, 0x41
mov edx, 0x6a
mov ecx, 0x26
call fcn.1402750a0
xor ebx, ebx
mov rax, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rax, qword [0x14048cd00]
mov eax, dword [rax]
test eax, eax
je 0x1401e95df
mov rbp, qword [0x14048dd70]
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x1404ce1a8]
test rbx, rbx
jne 0x1401e9650
jmp 0x1401e9750
mov rbx, qword [rbx + 0xb8]
test rbx, rbx
je 0x1401e9750
mov rdx, qword [rbx]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1401e9640
test byte [rbx + 0x98], 4
je 0x1401e9830
call fcn.1401e8040
mov rdi, rax
test rax, rax
je 0x1401e9750
movdqu xmm1, xmmword [rbx + 0x10]
movdqu xmm0, xmmword [rbx + 0x20]
movdqu xmm2, xmmword [rbx]
mov rcx, qword [rbp]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm2
movups xmmword [rax + 0x20], xmm0
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x30], rax
movdqu xmm3, xmmword [rbx + 0x38]
movups xmmword [rdi + 0x38], xmm3
mov rax, qword [rbx + 0x48]
mov qword [rdi + 0x48], rax
movdqu xmm1, xmmword [rbx + 0x68]
movdqu xmm0, xmmword [rbx + 0x78]
movdqu xmm4, xmmword [rbx + 0x58]
movups xmmword [rdi + 0x68], xmm1
movups xmmword [rdi + 0x58], xmm4
movups xmmword [rdi + 0x78], xmm0
mov rax, qword [rbx + 0x90]
mov qword [rdi + 0x90], rax
mov eax, dword [rbx + 0x98]
mov dword [rdi + 0x98], eax
mov rax, qword [rbx + 0xd0]
mov qword [rdi + 0xd0], rax
test rax, rax
je 0x1401e973f
cmp qword [0x1404cb950], 0
mov rax, qword [0x1404cb948]
je 0x1401e98da
test rax, rax
je 0x1401e973f
cmp qword [rax + 0xc8], 0
jne 0x1401e973f
mov qword [rax + 0xc8], rdi
mov qword [rdi + 0xc0], rax
mov qword [0x1404cb948], rdi
mov qword [rdi + 0xc8], 0
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, rdi
jmp 0x1401e95f6
lea rbx, [0x14042fa1d]
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1401e9880
lea rcx, str.OPENSSL_ENGINES
call sub.msvcrt.dll_getenv
mov rcx, rbx
test rax, rax
mov rdi, rax
lea rax, str._usr_lib_engines_1_1
cmove rdi, rax
call fcn.1401e9570
mov rbx, rax
test rax, rax
je 0x1401e9880
mov r8, rsi
lea rdx, [0x14042fa35]
mov rcx, rax
call fcn.140275ce0
test eax, eax
je 0x1401e9882
lea r8, [0x14042fa38]
lea rdx, [0x14042fa3a]
mov rcx, rbx
call fcn.140275ce0
test eax, eax
je 0x1401e9882
mov r8, rdi
lea rdx, [0x14042fa43]
mov rcx, rbx
call fcn.140275ce0
test eax, eax
je 0x1401e9882
lea r8, [0x14042fa4b]
lea rdx, [0x14042fa4d]
mov rcx, rbx
call fcn.140275ce0
test eax, eax
je 0x1401e9882
xor r8d, r8d
lea rdx, [0x14042fa56]
mov rcx, rbx
call fcn.140275ce0
test eax, eax
jne 0x1401e95f6
jmp 0x1401e9882
lock add dword [rbx + 0x9c], 1
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
call fcn.14021ec60
mov rdx, qword [0x14048dd70]
mov dword [rbx], 2
test rax, rax
mov qword [rdx], rax
mov rdx, qword [0x14048cd00]
setne al
movzx eax, al
mov dword [rdx], eax
jmp 0x1401e9611
xor ebx, ebx
mov rcx, rbx
call fcn.1402befe0
mov r8d, 0x74
mov edx, 0x6a
mov ecx, 0x26
call fcn.1402750a0
mov r8, rsi
mov ecx, 2
lea rdx, [0x14042fa5b]
call fcn.1401e93d0
jmp 0x1401e95f4
mov r8d, 0x43
mov edx, 0x6a
mov ecx, 0x26
call fcn.1402750a0
jmp 0x1401e95f4
test rax, rax
jne 0x1401e973f
mov qword [0x1404cb950], rdi
jmp 0x1401e9726