Function at 0x5286e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
test edx, edx
je 0x52883d
test eax, eax
je 0x52884f
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._NCONF_get_string
test eax, eax
je 0x52884a
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call sym._NCONF_get_section
mov ecx, eax
mov dword [esp + 0x24], eax
xor eax, eax
test ecx, ecx
je 0x528842
mov eax, ebx
mov dword [esp + 0x20], 0
and eax, 8
mov dword [esp + 0x30], eax
mov eax, ebx
and ebx, 1
and eax, 4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], eax
mov eax, ecx
mov dword [esp], eax
call sym._OPENSSL_sk_num
cmp dword [esp + 0x20], eax
jge 0x52883d
nop
lea esi, [esi]
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call sym._OPENSSL_sk_value
mov edi, dword [eax + 4]
mov edx, dword [eax + 8]
mov dword [esp + 4], 0x2e
mov dword [esp], edi
mov dword [esp + 0x28], edx
call sym._strrchr
test eax, eax
je 0x528b50
sub eax, edi
mov esi, eax
xor ebx, ebx
jmp 0x5287f1
mov eax, dword [0x945d54]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._OPENSSL_sk_value
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov ebp, eax
mov eax, dword [eax + 4]
mov dword [esp], eax
call sym._strncmp
test eax, eax
je 0x528980
add ebx, 1
mov eax, dword [0x945d54]
mov dword [esp], eax
call sym._OPENSSL_sk_num
cmp ebx, eax
jl 0x5287c0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x528880
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x528b60
mov edx, dword [esp + 0x34]
test edx, edx
je 0x528b3d
mov eax, dword [esp + 0x24]
add dword [esp + 0x20], 1
mov dword [esp], eax
call sym._OPENSSL_sk_num
cmp dword [esp + 0x20], eax
jl 0x528780
mov eax, 1
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
test bl, 0x20
je 0x528873
mov eax, dword [esp + 0x70]
mov dword [esp + 8], str.openssl_conf
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._NCONF_get_string
test eax, eax
jne 0x528723
call sym._ERR_clear_error
jmp 0x52883d
mov eax, dword [esp + 0x28]
mov dword [esp + 8], 0x8156ed
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call sym._NCONF_get_string
test eax, eax
mov dword [esp + 0x38], eax
je 0x528c0b
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0
call sym._DSO_load
test eax, eax
mov esi, eax
je 0x528cc8
mov dword [esp + 4], str.OPENSSL_init
mov dword [esp], eax
call sym._DSO_bind_func
test eax, eax
mov ebx, eax
je 0x528cc1
mov dword [esp + 4], str.OPENSSL_finish
mov dword [esp], esi
call sym._DSO_bind_func
mov ebp, dword [0x945d54]
mov dword [esp + 0x3c], eax
test ebp, ebp
je 0x528c1b
mov dword [esp + 8], 0xee
mov dword [esp + 4], str.crypto_conf_conf_mod.c
mov dword [esp], 0x18
call sym._CRYPTO_zalloc
test eax, eax
mov ebp, eax
je 0x528cee
mov dword [eax], esi
mov dword [esp + 8], 0xf4
mov dword [esp + 4], str.crypto_conf_conf_mod.c
mov dword [esp], edi
call sym._CRYPTO_strdup
mov edx, dword [esp + 0x3c]
test eax, eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], edx
je 0x528ccf
mov eax, dword [0x945d54]
mov dword [esp + 4], ebp
mov dword [esp], eax
call sym._OPENSSL_sk_push
test eax, eax
mov ebx, eax
je 0x528c31
nop
mov dword [esp + 8], 0x12a
mov dword [esp + 4], str.crypto_conf_conf_mod.c
mov dword [esp], 0x14
call sym._CRYPTO_malloc
test eax, eax
mov ebx, eax
je 0x528a9d
mov dword [ebx], ebp
mov dword [esp + 8], 0x12f
mov dword [esp + 4], str.crypto_conf_conf_mod.c
mov dword [esp], edi
call sym._CRYPTO_strdup
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], 0x130
mov dword [esp + 4], str.crypto_conf_conf_mod.c
mov dword [esp], eax
call sym._CRYPTO_strdup
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov dword [ebx + 0x10], 0
test ecx, ecx
sete dl
test eax, eax
sete al
or dl, al
mov esi, edx
jne 0x528a52
mov eax, dword [ebp + 8]
test eax, eax
je 0x528a19
mov edx, dword [esp + 0x70]
mov dword [esp], ebx
mov dword [esp + 4], edx
call eax
test eax, eax
jle 0x528a43
mov esi, 1
mov eax, dword [0x945d50]
test eax, eax
je 0x528bef
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._OPENSSL_sk_push
test eax, eax
je 0x528ba9
add dword [ebp + 0x10], 1
jmp 0x528822
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x528a4f
mov dword [esp], ebx
call eax
mov ecx, dword [ebx + 4]
mov dword [esp], ecx
mov dword [esp + 8], 0x158
mov dword [esp + 4], str.crypto_conf_conf_mod.c
call sym._CRYPTO_free
mov dword [esp + 8], 0x159
mov dword [esp + 4], str.crypto_conf_conf_mod.c
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._CRYPTO_free
mov dword [esp + 8], 0x15a
mov dword [esp + 4], str.crypto_conf_conf_mod.c
mov dword [esp], ebx
call sym._CRYPTO_free
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x528816
mov dword [esp + 0x10], 0xb1
mov dword [esp + 0xc], str.crypto_conf_conf_mod.c
mov dword [esp + 8], 0x6d
mov dword [esp + 4], 0x76
mov dword [esp], 0xe
call sym._ERR_put_error
lea eax, [esp + 0x43]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.__8d
mov dword [esp + 4], 0xd
mov dword [esp], eax
call sym._BIO_snprintf
lea eax, [esp + 0x43]
mov dword [esp + 0x14], str.__retcode
mov dword [esp + 0xc], 0x815745
mov dword [esp + 8], edi
mov dword [esp + 4], str.module
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov dword [esp], 6
mov dword [esp + 0x10], eax
call sym._ERR_add_error_data
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x528822
add esp, 0x5c
mov eax, 0xffffffff
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], edi
call sym._strlen
mov esi, eax
jmp 0x5287ba
mov dword [esp + 0x10], 0xa5
mov dword [esp + 0xc], str.crypto_conf_conf_mod.c
mov dword [esp + 8], 0x71
mov dword [esp + 4], 0x76
mov dword [esp], 0xe
call sym._ERR_put_error
mov dword [esp + 8], edi
mov dword [esp + 4], str.module
mov dword [esp], 2
call sym._ERR_add_error_data
jmp 0x528816
mov dword [esp + 0x10], 0x148
mov dword [esp + 0xc], str.crypto_conf_conf_mod.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x73
mov dword [esp], 0xe
call sym._ERR_put_error
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x528a4f
mov ecx, esi
test cl, cl
jne 0x528a4a
jmp 0x528a4f
call sym._OPENSSL_sk_new_null
test eax, eax
mov dword [0x945d50], eax
jne 0x528a26
mov dword [esp + 0x10], 0x142
jmp 0x528bb1
call sym._ERR_clear_error
mov dword [esp + 0x38], edi
mov eax, edi
jmp 0x5288a8
call sym._OPENSSL_sk_new_null
test eax, eax
mov dword [0x945d54], eax
jne 0x52890e
xor ebx, ebx
jmp 0x528c64
mov dword [esp + 8], 0xfd
mov dword [esp + 4], str.crypto_conf_conf_mod.c
mov eax, dword [ebp + 4]
mov dword [esp], eax
call sym._CRYPTO_free
mov dword [esp + 8], 0xfe
mov dword [esp + 4], str.crypto_conf_conf_mod.c
mov dword [esp], ebp
call sym._CRYPTO_free
mov dword [esp], esi
call sym._DSO_free
mov dword [esp + 0x10], 0xe0
mov dword [esp + 0xc], str.crypto_conf_conf_mod.c
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x75
mov dword [esp], 0xe
call sym._ERR_put_error
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], str.__path
mov dword [esp + 8], edi
mov dword [esp + 4], str.module
mov dword [esp], 4
mov dword [esp + 0x10], eax
call sym._ERR_add_error_data
jmp 0x52880a
mov ebx, 0x70
jmp 0x528c64
mov ebx, 0x6e
jmp 0x528c64
mov dword [esp + 8], 0xf8
mov dword [esp + 4], str.crypto_conf_conf_mod.c
xor ebx, ebx
mov dword [esp], ebp
call sym._CRYPTO_free
jmp 0x528c64
mov dword [esp + 0x10], 0xef
mov dword [esp + 0xc], str.crypto_conf_conf_mod.c
xor ebx, ebx
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x7a
mov dword [esp], 0xe
call sym._ERR_put_error
jmp 0x528c64