Function at 0x100900a0
Capabilities:
Query environment variable

Disassembly:
mov eax, 0x24
call fcn.100b1990
push ebx
push ebp
push esi
xor ebx, ebx
push edi
push ebx
mov dword [esp + 0x14], 0
call sym.LIBEAY32_smt.dll_NCONF_new
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x14], ebp
je 0x1009019f
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x10090167
push str.OPENSSL_CONF
call dword [sym.imp.MSVCRT.dll_getenv]
add esp, 4
test eax, eax
je 0x100900fc
push eax
call sym.LIBEAY32_smt.dll_BUF_strdup
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x1009015d
call sym.LIBEAY32_smt.dll_X509_get_default_cert_area
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
push 0x230
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xb
push str..cryptoconfconf_mod.c
lea edi, [ecx + 1]
push edi
call sym.LIBEAY32_smt.dll_CRYPTO_malloc
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10090131
mov dword [esp + 0x10], eax
jmp 0x100901a7
push edi
call sym.LIBEAY32_smt.dll_X509_get_default_cert_area
push eax
push esi
call sym.LIBEAY32_smt.dll_BUF_strlcpy
push edi
push 0x100bdb98
push esi
call sym.LIBEAY32_smt.dll_BUF_strlcat
push edi
push str.openssl.cnf
push esi
call sym.LIBEAY32_smt.dll_BUF_strlcat
add esp, 0x24
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x100901a7
jmp 0x1009016b
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 0
push eax
push ebp
call sym.LIBEAY32_smt.dll_NCONF_load
add esp, 0xc
test eax, eax
jg 0x100901c7
test byte [esp + 0x40], 0x10
je 0x1009019f
call sym.LIBEAY32_smt.dll_ERR_peek_last_error
and eax, 0xfff
cmp eax, 0x72
jne 0x1009019f
call sym.LIBEAY32_smt.dll_ERR_clear_error
mov ebx, 1
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x100901b4
mov edx, dword [esp + 0x10]
push edx
call sym.LIBEAY32_smt.dll_CRYPTO_free
add esp, 4
push ebp
call sym.LIBEAY32_smt.dll_NCONF_free
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x100901d4
mov eax, str.openssl_conf
push eax
push 0
push ebp
call sym.LIBEAY32_smt.dll_NCONF_get_string
add esp, 0xc
test eax, eax
je 0x10090195
push eax
push ebp
call sym.LIBEAY32_smt.dll_NCONF_get_section
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x20], esi
jne 0x100901fc
xor ebx, ebx
jmp 0x1009019f
push esi
mov dword [esp + 0x40], 0
call sym.LIBEAY32_smt.dll_sk_num
add esp, 4
test eax, eax
jle 0x1009019a
jmp 0x10090217
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
push ecx
push esi
call sym.LIBEAY32_smt.dll_sk_value
mov esi, dword [eax + 4]
mov edx, dword [eax + 8]
push 0x2e
push esi
mov dword [esp + 0x2c], edx
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 0x10
test eax, eax
je 0x10090242
sub eax, esi
mov ebx, eax
jmp 0x10090250
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov eax, dword [0x10101ce8]
xor ebp, ebp
push eax
call sym.LIBEAY32_smt.dll_sk_num
add esp, 4
test eax, eax
jle 0x100902a5
mov ecx, dword [0x10101ce8]
push ebp
push ecx
call sym.LIBEAY32_smt.dll_sk_value
mov edi, eax
push ebx
push esi
mov edx, dword [edi + 4]
push edx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0x14
test eax, eax
je 0x1009029b
mov eax, dword [0x10101ce8]
inc ebp
push eax
call sym.LIBEAY32_smt.dll_sk_num
add esp, 4
cmp ebp, eax
jl 0x10090264
jmp 0x100902a5
test edi, edi
mov eax, edi
jne 0x10090399
test byte [esp + 0x40], 8
jne 0x10090368
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push str.path
push ecx
push edx
mov dword [esp + 0x24], 0
call sym.LIBEAY32_smt.dll_NCONF_get_string
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x100902dc
call sym.LIBEAY32_smt.dll_ERR_clear_error
mov ebp, esi
push 0
push 0
push ebp
push 0
call sym.LIBEAY32_smt.dll_DSO_load
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x100902f8
mov eax, 0x6e
jmp 0x1009033e
push str.OPENSSL_init
push edi
call sym.LIBEAY32_smt.dll_DSO_bind_func
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10090316
mov dword [esp + 0x18], 0x70
jmp 0x10090331
push str.OPENSSL_finish
push edi
call sym.LIBEAY32_smt.dll_DSO_bind_func
push eax
push ebx
push esi
push edi
call fcn.10090440
add esp, 0x18
test eax, eax
jne 0x10090399
push edi
call sym.LIBEAY32_smt.dll_DSO_free
mov eax, dword [esp + 0x1c]
add esp, 4
push 0x11c
push str..cryptoconfconf_mod.c
push eax
push 0x75
push 0xe
call sym.LIBEAY32_smt.dll_ERR_put_error
push ebp
push str.__path
push esi
push str.module
push 4
call sym.LIBEAY32_smt.dll_ERR_add_error_data
add esp, 0x28
test byte [esp + 0x40], 4
jne 0x10090394
push 0xdd
push str..cryptoconfconf_mod.c
push 0x71
push 0x76
push 0xe
call sym.LIBEAY32_smt.dll_ERR_put_error
push esi
push str.module
push 2
call sym.LIBEAY32_smt.dll_ERR_add_error_data
add esp, 0x20
or edi, 0xffffffff
jmp 0x10090405
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
push ecx
push ebx
push esi
push eax
call fcn.100904d0
mov edi, eax
add esp, 0x10
test edi, edi
jg 0x1009040c
test byte [esp + 0x40], 4
jne 0x10090401
push 0xea
push str..cryptoconfconf_mod.c
push 0x6d
push 0x76
push 0xe
call sym.LIBEAY32_smt.dll_ERR_put_error
push edi
push str.__8d
lea edx, [esp + 0x40]
push 0xd
push edx
call sym.LIBEAY32_smt.dll_BIO_snprintf
lea eax, [esp + 0x48]
push eax
push str.__retcode
push ebx
push str.__value
push esi
push str.module
push 6
call sym.LIBEAY32_smt.dll_ERR_add_error_data
add esp, 0x40
test edi, edi
jg 0x1009040c
test byte [esp + 0x40], 1
je 0x10090433
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
inc esi
push ecx
mov dword [esp + 0x40], esi
call sym.LIBEAY32_smt.dll_sk_num
add esp, 4
cmp esi, eax
jl 0x10090213
mov ebp, dword [esp + 0x14]
jmp 0x1009019a
mov ebp, dword [esp + 0x14]
mov ebx, edi
jmp 0x1009019f