Function at 0x1006c7b0
Capabilities:
Query environment variable

Disassembly:
mov eax, 0x24
call fcn.10086e00
push ebx
push ebp
push esi
xor ebx, ebx
push edi
push ebx
mov dword [esp + 0x14], 0
call sym.LIBEAY32.dll_NCONF_new
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x14], ebp
je 0x1006c8af
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x1006c877
push str.OPENSSL_CONF
call dword [sym.imp.MSVCRT.dll_getenv]
add esp, 4
test eax, eax
je 0x1006c80c
push eax
call sym.LIBEAY32.dll_BUF_strdup
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x1006c86d
call sym.LIBEAY32.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.dll_CRYPTO_malloc
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x1006c841
mov dword [esp + 0x10], eax
jmp 0x1006c8b7
push edi
call sym.LIBEAY32.dll_X509_get_default_cert_area
push eax
push esi
call sym.LIBEAY32.dll_BUF_strlcpy
push edi
push 0x100929d8
push esi
call sym.LIBEAY32.dll_BUF_strlcat
push edi
push str.openssl.cnf
push esi
call sym.LIBEAY32.dll_BUF_strlcat
add esp, 0x24
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1006c8b7
jmp 0x1006c87b
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push 0
push eax
push ebp
call sym.LIBEAY32.dll_NCONF_load
add esp, 0xc
test eax, eax
jg 0x1006c8d7
test byte [esp + 0x40], 0x10
je 0x1006c8af
call sym.LIBEAY32.dll_ERR_peek_last_error
and eax, 0xfff
cmp eax, 0x72
jne 0x1006c8af
call sym.LIBEAY32.dll_ERR_clear_error
mov ebx, 1
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x1006c8c4
mov edx, dword [esp + 0x10]
push edx
call sym.LIBEAY32.dll_CRYPTO_free
add esp, 4
push ebp
call sym.LIBEAY32.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 0x1006c8e4
mov eax, str.openssl_conf
push eax
push 0
push ebp
call sym.LIBEAY32.dll_NCONF_get_string
add esp, 0xc
test eax, eax
je 0x1006c8a5
push eax
push ebp
call sym.LIBEAY32.dll_NCONF_get_section
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x20], esi
jne 0x1006c90c
xor ebx, ebx
jmp 0x1006c8af
push esi
mov dword [esp + 0x40], 0
call sym.LIBEAY32.dll_sk_num
add esp, 4
test eax, eax
jle 0x1006c8aa
jmp 0x1006c927
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
push ecx
push esi
call sym.LIBEAY32.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 0x1006c952
sub eax, esi
mov ebx, eax
jmp 0x1006c960
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 [0x100c5e9c]
xor ebp, ebp
push eax
call sym.LIBEAY32.dll_sk_num
add esp, 4
test eax, eax
jle 0x1006c9a9
mov ecx, dword [0x100c5e9c]
push ebp
push ecx
call sym.LIBEAY32.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 0x1006ca03
mov eax, dword [0x100c5e9c]
inc ebp
push eax
call sym.LIBEAY32.dll_sk_num
add esp, 4
cmp ebp, eax
jl 0x1006c974
test byte [esp + 0x40], 8
jne 0x1006cb17
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.dll_NCONF_get_string
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x1006c9e0
call sym.LIBEAY32.dll_ERR_get_error
mov ebp, esi
push 0
push 0
push ebp
push 0
call sym.LIBEAY32.dll_DSO_load
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x1006caa3
mov eax, 0x6e
jmp 0x1006caed
mov eax, edi
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
push ecx
push ebx
push esi
push eax
call fcn.1006cbf0
mov edi, eax
add esp, 0x10
test edi, edi
jg 0x1006ca7c
test byte [esp + 0x40], 4
jne 0x1006ca6d
push 0xea
push str..cryptoconfconf_mod.c
push 0x6d
push 0x74
push 0xe
call sym.LIBEAY32.dll_ERR_put_error
push edi
push str.__8d
lea edx, [esp + 0x40]
push 0xd
push edx
call sym.LIBEAY32.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.dll_ERR_add_error_data
add esp, 0x40
test edi, edi
jg 0x1006ca7c
test byte [esp + 0x40], 1
je 0x1006cb4b
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
inc esi
push ecx
mov dword [esp + 0x40], esi
call sym.LIBEAY32.dll_sk_num
add esp, 4
cmp esi, eax
jl 0x1006c923
mov ebp, dword [esp + 0x14]
jmp 0x1006c8aa
push str.OPENSSL_init
push edi
call sym.LIBEAY32.dll_DSO_bind_func
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x1006cac1
mov dword [esp + 0x18], 0x70
jmp 0x1006cae0
push str.OPENSSL_finish
push edi
call sym.LIBEAY32.dll_DSO_bind_func
push eax
push ebx
push esi
push edi
call fcn.1006cb60
add esp, 0x18
test eax, eax
jne 0x1006ca05
push edi
call sym.LIBEAY32.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.dll_ERR_put_error
push ebp
push str.__path
push esi
push str.module
push 4
call sym.LIBEAY32.dll_ERR_add_error_data
add esp, 0x28
test byte [esp + 0x40], 4
jne 0x1006cb43
push 0xdd
push str..cryptoconfconf_mod.c
push 0x71
push 0x76
push 0xe
call sym.LIBEAY32.dll_ERR_put_error
push esi
push str.module
push 2
call sym.LIBEAY32.dll_ERR_add_error_data
add esp, 0x20
or edi, 0xffffffff
jmp 0x1006ca71
mov ebp, dword [esp + 0x14]
mov ebx, edi
jmp 0x1006c8af