Function at 0x40ce50
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [esp + 4]
push edi
xor edi, edi
cmp dword [eax + 0x3c], edi
je 0x40ce62
xor eax, eax
pop edi
ret 4
push ebx
push ebp
push esi
mov eax, 0x491288
call fcn.0044b5a0
cmp dword [0x491230], edi
jne 0x40d882
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x47eba8
call ebp
mov dword [0x491238], eax
cmp eax, edi
jne 0x40cebd
mov eax, dword [0x491234]
cmp eax, edi
je 0x40cea1
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0x491288
mov dword [0x491234], edi
call fcn.0044b5b0
pop esi
pop ebp
pop ebx
mov eax, 2
pop edi
ret 4
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.BIO_ctrl_pending
push eax
xor bl, bl
call esi
mov dword [0x491174], eax
cmp eax, edi
jne 0x40ced8
mov bl, 1
mov ecx, dword [0x491238]
push str.BIO_ctrl_pending
push ecx
call esi
mov dword [0x491174], eax
cmp eax, edi
jne 0x40cef1
mov bl, 1
mov edx, dword [0x491238]
push str.BIO_read
push edx
call esi
mov dword [0x491170], eax
cmp eax, edi
jne 0x40cf0a
mov bl, 1
mov eax, dword [0x491238]
push str.BIO_ctrl
push eax
call esi
mov dword [0x49116c], eax
cmp eax, edi
jne 0x40cf22
mov bl, 1
mov ecx, dword [0x491238]
push str.BIO_write
push ecx
call esi
mov dword [0x491168], eax
cmp eax, edi
jne 0x40cf3b
mov bl, 1
mov edx, dword [0x491238]
push str.BIO_ctrl_get_write_guarantee
push edx
call esi
mov dword [0x491164], eax
cmp eax, edi
jne 0x40cf54
mov bl, 1
mov eax, dword [0x491238]
push str.BIO_new_bio_pair
push eax
call esi
mov dword [0x491160], eax
cmp eax, edi
jne 0x40cf6c
mov bl, 1
mov ecx, dword [0x491238]
push str.BIO_new
push ecx
call esi
mov dword [0x49115c], eax
cmp eax, edi
jne 0x40cf85
mov bl, 1
mov edx, dword [0x491238]
push str.BIO_free
push edx
call esi
mov dword [0x491158], eax
cmp eax, edi
jne 0x40cf9e
mov bl, 1
mov eax, dword [0x491238]
push str.i2t_ASN1_OBJECT
push eax
call esi
mov dword [0x491154], eax
cmp eax, edi
jne 0x40cfb6
mov bl, 1
mov ecx, dword [0x491238]
push str.OBJ_obj2nid
push ecx
call esi
mov dword [0x491150], eax
cmp eax, edi
jne 0x40cfcf
mov bl, 1
mov edx, dword [0x491238]
push str.X509_NAME_ENTRY_get_object
push edx
call esi
mov dword [0x49114c], eax
cmp eax, edi
jne 0x40cfe8
mov bl, 1
mov eax, dword [0x491238]
push str.X509_NAME_get_entry
push eax
call esi
mov dword [0x491148], eax
cmp eax, edi
jne 0x40d000
mov bl, 1
mov ecx, dword [0x491238]
push str.X509_NAME_entry_count
push ecx
call esi
mov dword [0x491144], eax
cmp eax, edi
jne 0x40d019
mov bl, 1
mov edx, dword [0x491238]
push str.X509_get_subject_name
push edx
call esi
mov dword [0x491140], eax
cmp eax, edi
jne 0x40d032
mov bl, 1
mov eax, dword [0x491238]
push str.X509_get_issuer_name
push eax
call esi
mov dword [0x49113c], eax
cmp eax, edi
jne 0x40d04a
mov bl, 1
mov ecx, dword [0x491238]
push str.OBJ_nid2sn
push ecx
call esi
mov dword [0x491138], eax
cmp eax, edi
jne 0x40d063
mov bl, 1
mov edx, dword [0x491238]
push str.X509_NAME_ENTRY_get_data
push edx
call esi
mov dword [0x491134], eax
cmp eax, edi
jne 0x40d07c
mov bl, 1
mov eax, dword [0x491238]
push str.X509_STORE_CTX_set_error
push eax
call esi
mov dword [0x491130], eax
cmp eax, edi
jne 0x40d094
mov bl, 1
mov ecx, dword [0x491238]
push str.X509_digest
push ecx
call esi
mov dword [0x49112c], eax
cmp eax, edi
jne 0x40d0ad
mov bl, 1
mov edx, dword [0x491238]
push str.EVP_sha1
push edx
call esi
mov dword [0x491128], eax
cmp eax, edi
jne 0x40d0c6
mov bl, 1
mov eax, dword [0x491238]
push str.X509_STORE_CTX_get_current_cert
push eax
call esi
mov dword [0x491124], eax
cmp eax, edi
jne 0x40d0de
mov bl, 1
mov ecx, dword [0x491238]
push str.X509_STORE_CTX_get_error
push ecx
call esi
mov dword [0x491120], eax
cmp eax, edi
jne 0x40d0f7
mov bl, 1
mov edx, dword [0x491238]
push str.X509_free
push edx
call esi
mov dword [0x49111c], eax
cmp eax, edi
jne 0x40d110
mov bl, 1
mov eax, dword [0x491238]
push str.X509_get_pubkey
push eax
call esi
mov dword [0x491118], eax
cmp eax, edi
jne 0x40d128
mov bl, 1
mov ecx, dword [0x491238]
push str.BN_num_bits
push ecx
call esi
mov dword [0x491114], eax
cmp eax, edi
jne 0x40d141
mov bl, 1
mov edx, dword [0x491238]
push str.EVP_PKEY_free
push edx
call esi
mov dword [0x491110], eax
cmp eax, edi
jne 0x40d15a
mov bl, 1
mov eax, dword [0x491238]
push str.X509_STORE_CTX_get_ex_data
push eax
call esi
mov dword [0x49110c], eax
cmp eax, edi
jne 0x40d172
mov bl, 1
mov ecx, dword [0x491238]
push str.X509_NAME_oneline
push ecx
call esi
mov dword [0x491108], eax
cmp eax, edi
jne 0x40d18b
mov bl, 1
mov edx, dword [0x491238]
push str.X509_verify_cert_error_string
push edx
call esi
mov dword [0x491104], eax
cmp eax, edi
jne 0x40d1a4
mov bl, 1
mov eax, dword [0x491238]
push str.X509_STORE_CTX_get_error_depth
push eax
call esi
mov dword [0x491100], eax
cmp eax, edi
jne 0x40d1bc
mov bl, 1
mov ecx, dword [0x491238]
push str.ERR_get_error
push ecx
call esi
mov dword [0x4910fc], eax
cmp eax, edi
jne 0x40d1d5
mov bl, 1
mov edx, dword [0x491238]
push str.ERR_error_string
push edx
call esi
mov dword [0x4910f8], eax
cmp eax, edi
jne 0x40d1ee
mov bl, 1
mov eax, dword [0x491238]
push str.ASN1_STRING_to_UTF8
push eax
call esi
mov dword [0x4910f4], eax
cmp eax, edi
jne 0x40d206
mov bl, 1
mov ecx, dword [0x491238]
push str.CRYPTO_free
push ecx
call esi
mov dword [0x4910f0], eax
cmp eax, edi
jne 0x40d21f
mov bl, 1
mov edx, dword [0x491238]
push str.RSA_generate_key
push edx
call esi
mov dword [0x4910ec], eax
cmp eax, edi
jne 0x40d238
mov bl, 1
mov eax, dword [0x491238]
push str.X509_set_version
push eax
call esi
mov dword [0x4910e8], eax
cmp eax, edi
jne 0x40d250
mov bl, 1
mov ecx, dword [0x491238]
push str.X509_gmtime_adj
push ecx
call esi
mov dword [0x4910e4], eax
cmp eax, edi
jne 0x40d269
mov bl, 1
mov edx, dword [0x491238]
push str.X509_set_pubkey
push edx
call esi
mov dword [0x4910e0], eax
cmp eax, edi
jne 0x40d282
mov bl, 1
mov eax, dword [0x491238]
push str.X509_NAME_add_entry_by_txt
push eax
call esi
mov dword [0x4910dc], eax
cmp eax, edi
jne 0x40d29a
mov bl, 1
mov ecx, dword [0x491238]
push str.X509_NAME_add_entry_by_NID
push ecx
call esi
mov dword [0x4910d8], eax
cmp eax, edi
jne 0x40d2b3
mov bl, 1
mov edx, dword [0x491238]
push str.X509_set_issuer_name
push edx
call esi
mov dword [0x4910d4], eax
cmp eax, edi
jne 0x40d2cc
mov bl, 1
mov eax, dword [0x491238]
push str.X509_sign
push eax
call esi
mov dword [0x4910d0], eax
cmp eax, edi
jne 0x40d2e4
mov bl, 1
mov ecx, dword [0x491238]
push str.EVP_PKEY_new
push ecx
call esi
mov dword [0x4910cc], eax
cmp eax, edi
jne 0x40d2fd
mov bl, 1
mov edx, dword [0x491238]
push str.EVP_PKEY_assign
push edx
call esi
mov dword [0x4910c8], eax
cmp eax, edi
jne 0x40d316
mov bl, 1
mov eax, dword [0x491238]
push str.X509_new
push eax
call esi
mov dword [0x4910c4], eax
cmp eax, edi
jne 0x40d32e
mov bl, 1
mov ecx, dword [0x491238]
push str.ASN1_INTEGER_set
push ecx
call esi
mov dword [0x4910c0], eax
cmp eax, edi
jne 0x40d347
mov bl, 1
mov edx, dword [0x491238]
push str.X509_get_serialNumber
push edx
call esi
mov dword [0x4910bc], eax
cmp eax, edi
jne 0x40d360
mov bl, 1
mov eax, dword [0x491238]
push str.PEM_ASN1_write_bio
push eax
call esi
mov dword [0x4910b8], eax
cmp eax, edi
jne 0x40d378
mov bl, 1
mov ecx, dword [0x491238]
push str.i2d_X509
push ecx
call esi
mov dword [0x4910b4], eax
cmp eax, edi
jne 0x40d391
mov bl, 1
mov edx, dword [0x491238]
push str.BIO_s_mem
push edx
call esi
mov dword [0x4910b0], eax
cmp eax, edi
jne 0x40d3aa
mov bl, 1
mov eax, dword [0x491238]
push str.i2d_PrivateKey
push eax
call esi
mov dword [0x4910ac], eax
cmp eax, edi
jne 0x40d3c2
mov bl, 1
mov ecx, dword [0x491238]
push str.BIO_test_flags
push ecx
call esi
mov dword [0x4910a8], eax
cmp eax, edi
je 0x40d3dd
test bl, bl
je 0x40d3fc
mov edx, dword [0x491234]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edx
call esi
mov eax, dword [0x491238]
mov dword [0x491234], edi
jmp 0x40d81a
push str.ssleay32.dll
call ebp
mov dword [0x491234], eax
cmp eax, edi
jne 0x40d425
mov eax, dword [0x491238]
cmp eax, edi
je 0x40d81d
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x40d81d
push str.SSL_state_string_long
push eax
call esi
mov dword [0x491210], eax
cmp eax, edi
jne 0x40d438
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_state
push ecx
call esi
mov dword [0x491214], eax
cmp eax, edi
jne 0x40d451
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_set_info_callback
push edx
call esi
mov dword [0x49120c], eax
cmp eax, edi
jne 0x40d46a
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_set_bio
push eax
call esi
mov dword [0x491208], eax
cmp eax, edi
jne 0x40d482
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_set_connect_state
push ecx
call esi
mov dword [0x491204], eax
cmp eax, edi
jne 0x40d49b
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_set_session
push edx
call esi
mov dword [0x491200], eax
cmp eax, edi
jne 0x40d4b4
mov bl, 1
mov eax, dword [0x491234]
push str.BIO_f_ssl
push eax
call esi
mov dword [0x4911fc], eax
cmp eax, edi
jne 0x40d4cc
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_new
push ecx
call esi
mov dword [0x4911f8], eax
cmp eax, edi
jne 0x40d4e5
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_CTX_new
push edx
call esi
mov dword [0x4911f4], eax
cmp eax, edi
jne 0x40d4fe
mov bl, 1
mov eax, dword [0x491234]
push str.SSLv23_method
push eax
call esi
mov dword [0x4911f0], eax
cmp eax, edi
jne 0x40d516
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_load_error_strings
push ecx
call esi
mov dword [0x4911ec], eax
cmp eax, edi
jne 0x40d52f
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_library_init
push edx
call esi
mov dword [0x4911e8], eax
cmp eax, edi
jne 0x40d548
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_CTX_free
push eax
call esi
mov dword [0x4911e4], eax
cmp eax, edi
jne 0x40d560
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_free
push ecx
call esi
mov dword [0x4911e0], eax
cmp eax, edi
jne 0x40d579
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_get_error
push edx
call esi
mov dword [0x4911dc], eax
cmp eax, edi
jne 0x40d592
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_shutdown
push eax
call esi
mov dword [0x4911d8], eax
cmp eax, edi
jne 0x40d5aa
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_get_shutdown
push ecx
call esi
mov dword [0x4911d4], eax
cmp eax, edi
jne 0x40d5c3
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_alert_type_string_long
push edx
call esi
mov dword [0x4911d0], eax
cmp eax, edi
jne 0x40d5dc
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_alert_desc_string_long
push eax
call esi
mov dword [0x4911cc], eax
cmp eax, edi
jne 0x40d5f4
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_CTX_set_verify
push ecx
call esi
mov dword [0x4911c8], eax
cmp eax, edi
jne 0x40d60d
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_CTX_get_cert_store
push edx
call esi
mov dword [0x4911c4], eax
cmp eax, edi
jne 0x40d626
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_get_verify_result
push eax
call esi
mov dword [0x4911c0], eax
cmp eax, edi
jne 0x40d63e
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_get_peer_certificate
push ecx
call esi
mov dword [0x4911bc], eax
cmp eax, edi
jne 0x40d657
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_get_version
push edx
call esi
mov dword [0x4911b8], eax
cmp eax, edi
jne 0x40d670
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_get_current_cipher
push eax
call esi
mov dword [0x4911b4], eax
cmp eax, edi
jne 0x40d688
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_CIPHER_get_name
push ecx
call esi
mov dword [0x4911b0], eax
cmp eax, edi
jne 0x40d6a1
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_CIPHER_get_version
push edx
call esi
mov dword [0x4911ac], eax
cmp eax, edi
jne 0x40d6ba
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_get_ex_data_X509_STORE_CTX_idx
push eax
call esi
mov dword [0x4911a8], eax
cmp eax, edi
jne 0x40d6d2
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_CTX_load_verify_locations
push ecx
call esi
mov dword [0x4911a4], eax
cmp eax, edi
jne 0x40d6eb
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_ctrl
push edx
call esi
mov dword [0x4911a0], eax
cmp eax, edi
jne 0x40d704
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_set_accept_state
push eax
call esi
mov dword [0x49119c], eax
cmp eax, edi
jne 0x40d71c
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_CTX_use_PrivateKey_file
push ecx
call esi
mov dword [0x491198], eax
cmp eax, edi
jne 0x40d735
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_CTX_use_certificate_file
push edx
call esi
mov dword [0x491194], eax
cmp eax, edi
jne 0x40d74e
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_CTX_check_private_key
push eax
call esi
mov dword [0x491190], eax
cmp eax, edi
jne 0x40d766
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_CTX_set_default_passwd_cb_userdata
push ecx
call esi
mov dword [0x491188], eax
cmp eax, edi
jne 0x40d77f
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_CTX_set_default_passwd_cb
push edx
call esi
mov dword [0x49118c], eax
cmp eax, edi
jne 0x40d798
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_CTX_use_certificate_chain_file
push eax
call esi
mov dword [0x491184], eax
cmp eax, edi
jne 0x40d7b0
mov bl, 1
mov ecx, dword [0x491234]
push str.SSL_CTX_ctrl
push ecx
call esi
mov dword [0x491180], eax
cmp eax, edi
jne 0x40d7c9
mov bl, 1
mov edx, dword [0x491234]
push str.SSL_get_cipher_list
push edx
call esi
mov dword [0x491178], eax
cmp eax, edi
jne 0x40d7e2
mov bl, 1
mov eax, dword [0x491234]
push str.SSL_set_cipher_list
push eax
call esi
mov dword [0x49117c], eax
cmp eax, edi
je 0x40d7fc
test bl, bl
je 0x40d839
mov ecx, dword [0x491234]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ecx
call esi
mov eax, dword [0x491238]
mov dword [0x491234], edi
cmp eax, edi
je 0x40d81d
push eax
call esi
mov eax, 0x491288
mov dword [0x491238], edi
call fcn.0044b5b0
pop esi
pop ebp
pop ebx
mov eax, 2
pop edi
ret 4
call dword [0x4911ec]
call dword [0x4911e8]
test eax, eax
jne 0x40d882
mov edx, dword [0x491234]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edx
call esi
mov eax, dword [0x491238]
push eax
mov dword [0x491234], edi
call esi
mov eax, 0x491288
mov dword [0x491238], edi
call fcn.0044b5b0
pop esi
pop ebp
pop ebx
mov eax, 4
pop edi
ret 4
mov esi, 1
add dword [0x491230], esi
mov eax, 0x491288
call fcn.0044b5b0
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x3c], esi
pop esi
pop ebp
pop ebx
xor eax, eax
pop edi
ret 4