Function at 0x559980
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov esi, dword [ebp + 8]
test esi, esi
je 0x559aa6
mov dword [esp + 0xc], 0x168
mov dword [esp + 8], str.crypto_engine_eng_list.c
mov dword [esp + 4], 0x1e
mov dword [esp], 9
call fcn.004f3704
mov ebx, dword [0x6dc174]
test ebx, ebx
jne 0x5599d3
jmp 0x559ad9
mov ebx, dword [ebx + 0x6c]
test ebx, ebx
je 0x559ad9
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x5599c8
test byte [ebx + 0x54], 4
jne 0x559a1c
inc dword [ebx + 0x58]
mov dword [esp + 0xc], 0x182
mov dword [esp + 8], str.crypto_engine_eng_list.c
mov dword [esp + 4], 0x1e
mov dword [esp], 0xa
call fcn.004f3704
mov eax, ebx
add esp, 0x2c
pop ebx
pop esi
pop edi
leave
ret
call fcn.00530e2c
test eax, eax
je 0x559ad9
mov edx, dword [ebx]
mov dword [eax], edx
mov edx, dword [ebx + 4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 8]
mov dword [eax + 8], edx
mov edx, dword [ebx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ebx + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [ebx + 0x14]
mov dword [eax + 0x14], edx
mov edx, dword [ebx + 0x18]
mov dword [eax + 0x18], edx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 0x1c], edx
mov edx, dword [ebx + 0x20]
mov dword [eax + 0x20], edx
mov edx, dword [ebx + 0x24]
mov dword [eax + 0x24], edx
mov edx, dword [ebx + 0x28]
mov dword [eax + 0x28], edx
mov edx, dword [ebx + 0x2c]
mov dword [eax + 0x2c], edx
mov edx, dword [ebx + 0x34]
mov dword [eax + 0x34], edx
mov edx, dword [ebx + 0x38]
mov dword [eax + 0x38], edx
mov edx, dword [ebx + 0x3c]
mov dword [eax + 0x3c], edx
mov edx, dword [ebx + 0x40]
mov dword [eax + 0x40], edx
mov edx, dword [ebx + 0x44]
mov dword [eax + 0x44], edx
mov edx, dword [ebx + 0x48]
mov dword [eax + 0x48], edx
mov edx, dword [ebx + 0x50]
mov dword [eax + 0x50], edx
mov edx, dword [ebx + 0x54]
mov dword [eax + 0x54], edx
mov ebx, eax
jmp 0x5599ee
mov dword [esp + 0x10], 0x165
mov dword [esp + 0xc], str.crypto_engine_eng_list.c
mov dword [esp + 8], 0x43
mov dword [esp + 4], 0x6a
mov dword [esp], 0x26
call fcn.004f2144
xor ebx, ebx
jmp 0x559a12
mov dword [esp + 0xc], 0x182
mov dword [esp + 8], str.crypto_engine_eng_list.c
mov dword [esp + 4], 0x1e
mov dword [esp], 0xa
call fcn.004f3704
mov dword [esp + 4], str.dynamic
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x559c32
mov dword [esp], str.OPENSSL_ENGINES
call sub.msvcrt.dll_getenv
mov edi, eax
test eax, eax
je 0x559c28
mov dword [esp], str.dynamic
call fcn.00559980
mov ebx, eax
test eax, eax
je 0x559bd0
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 0x6a11f4
mov dword [esp], eax
call fcn.005704b8
test eax, eax
je 0x559bd0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6a11f7
mov dword [esp + 4], str.DIR_LOAD
mov dword [esp], ebx
call fcn.005704b8
test eax, eax
je 0x559bd0
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], str.DIR_ADD
mov dword [esp], ebx
call fcn.005704b8
test eax, eax
je 0x559bd0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.LOAD
mov dword [esp], ebx
call fcn.005704b8
test eax, eax
jne 0x559a12
lea esi, [esi]
mov dword [esp], ebx
call fcn.00531014
mov dword [esp + 0x10], 0x1a1
mov dword [esp + 0xc], str.crypto_engine_eng_list.c
mov dword [esp + 8], 0x74
mov dword [esp + 4], 0x6a
mov dword [esp], 0x26
call fcn.004f2144
mov dword [esp + 8], esi
mov dword [esp + 4], 0x6a120f
mov dword [esp], 2
call fcn.004f22a0
xor ebx, ebx
mov eax, ebx
add esp, 0x2c
pop ebx
pop esi
pop edi
leave
ret
mov edi, str._usr_local_ssl_lib_engines
jmp 0x559b2b
xor ebx, ebx
jmp 0x559bd0